</>小白学编程.dev
工具与效率·6 分钟阅读·作者:小白学编程

程序员必学:20 条命令行命令,让你看起来像高手

命令行不是黑客电影里的装饰,而是程序员真正高效干活的工具。这里是你必须掌握的 20 条命令,配速查表。

为什么必须学命令行?

很多新手以为命令行只是"装逼工具"。事实是:所有真正高效的程序员,都把命令行当作主战场。原因是:

  1. 可脚本化:你能把一个小时的重复劳动浓缩成一行命令。
  2. 远程一致:你在自己电脑、服务器、Docker、CI 上看到的都是同一个 Shell。
  3. 反馈直接:没有 GUI 弹窗,没有十几个菜单,结果立刻可见。

下面这 20 条,是我建议每位刚学编程的人至少在两周内反复用熟的。

注:以下命令以 macOS / Linux 的 bashzsh 为准。Windows 用户建议安装 Git Bash 或 WSL2 后跟随练习。

一、看清楚自己在哪里:路径与导航

1. pwd — 我现在在哪?

$ pwd
/Users/cascade/projects/blog

新手最常犯的错就是根本不知道自己当前在哪个目录就开始执行命令。pwd 永远是你的"GPS"。

2. ls — 看看这个目录里有啥

ls          # 简洁列表
ls -la      # 显示隐藏文件和详细信息
ls -lh      # 文件大小用人类可读单位(KB/MB)

3. cd — 进入某个目录

cd projects        # 进入子目录
cd ..              # 回到上一级
cd ~               # 回到 home 目录
cd -               # 回到刚才那个目录(神器)

二、和文件打交道

4. mkdir — 新建目录

mkdir my-project
mkdir -p a/b/c     # 一次性建多层目录

5. touch — 新建(或更新时间)一个文件

touch index.html README.md

6. cp — 复制

cp a.txt b.txt           # 复制文件
cp -r src/ backup/       # 复制整个目录(-r = recursive)

7. mv — 移动 / 重命名

mv old.md new.md          # 重命名
mv *.png images/          # 把所有 png 移到 images/

8. rm — 删除(小心使用)

rm a.txt
rm -r dist/      # 删除目录

⚠️ 永远不要执行 rm -rf /。它会删除你的整个系统。这不是夸张

三、查看文件内容

9. cat — 把文件内容打印出来

cat README.md

10. less — 按页查看大文件

less server.log
# 操作:空格 = 下一页,q = 退出,/keyword = 搜索

11. head / tail — 看头部 / 尾部

head -n 20 log.txt        # 前 20 行
tail -n 50 log.txt        # 后 50 行
tail -f server.log        # 实时跟踪日志(极常用)

四、查找:让计算机帮你找

12. grep — 在文件里搜内容

grep "TODO" *.js                  # 在所有 js 中找 TODO
grep -r "useState" src/           # 递归搜索
grep -in "error" server.log       # 不区分大小写 + 显示行号

13. find — 按名字找文件

find . -name "*.test.js"          # 当前目录下所有 .test.js
find . -type f -size +10M         # 大于 10MB 的文件

五、流处理:管道是命令行的"乐高"

14. | 管道:把上一条命令的输出喂给下一条

ls -la | grep ".md"
# 列出所有 .md 文件

cat access.log | grep 404 | wc -l
# 统计 404 出现了多少次

15. >>>:重定向输出

echo "hello" > a.txt       # 覆盖写入
echo "world" >> a.txt      # 追加写入

16. wc — 数行 / 数词 / 数字符

wc -l README.md     # 多少行

六、系统与进程

17. pskill — 找进程、杀进程

ps aux | grep node     # 找出所有 node 进程
kill 12345             # 优雅终止
kill -9 12345          # 强制终止

18. top / htop — 实时看 CPU/内存

top         # 系统自带
htop        # 更友好的彩色版(需要 brew install htop)

19. curl — 命令行版浏览器

curl https://api.github.com/users/torvalds
curl -X POST -d '{"name":"Tom"}' http://localhost:3000/users

调试 API、下载文件、健康检查 —— curl 都行。

20. chmod / chown — 权限

chmod +x deploy.sh        # 给文件加可执行权限
chmod 644 a.txt           # 设定具体权限

速查小卡片

把它贴在你的显示器上,用一周你就背下来了:

我想…… 用什么
看自己在哪 pwd
看目录里有啥 ls -la
进入/返回目录 cd dir / cd ..
复制 / 移动 / 删除 cp / mv / rm
看文件 cat, less, head, tail -f
搜文本 / 搜文件 grep / find
拼接命令 `
看进程 / 杀进程 ps, kill
调 API / 下载 curl
改权限 chmod

进阶练习

学完这 20 条命令以后,给自己出几个小题目检验:

  1. 找出当前项目下所有大于 1MB 的 .log 文件
  2. 统计 src/ 下所有 .ts 文件的总行数
  3. 找出哪个进程占用了 8080 端口(提示:lsof -i:8080
  4. 把当前目录所有 .png 重命名为小写

「天下难事,必作于易;天下大事,必作于细。」 —— 命令行的功夫,就是从这些"小事"里练出来的。

📖 相关阅读