终端命令速成课:20个必学指令提升10倍效率

终端命令速成课:20个必学指令提升10倍效率
终端是程序员与高效办公者的核心工具,掌握命令行操作能显著提升工作效率。本文精选 20 个高频终端指令,按导航、文件操作、文本处理、系统监控等场景分类,结合实用案例与技巧解析,从基础语法到组合实战,助你快速摆脱鼠标依赖,建立 “键盘流” 高效工作模式。

一、基础导航:终端入门必备

1. ls:列出目录内容

ls -al  # 显示所有文件(含隐藏文件)及详细权限、大小  
ls -h   # 以人类可读格式显示大小(如1K、2M)  
场景:快速查看文件夹结构,确认文件是否存在或更新。

2. cd:切换目录

cd ~/Documents  # 进入用户文档目录  
cd ..           # 返回上级目录  
cd -            # 切换回上一个工作目录  
技巧:按Tab键自动补全路径,减少输入错误。

3. pwd:显示当前路径

pwd  # 输出绝对路径(如/home/user/projects)  
用途:在多层目录中确认位置,避免操作路径错误。

二、文件操作:高效管理文件与目录

4. cp:复制文件 / 目录

cp file.txt backup/  # 复制文件到backup文件夹  
cp -r dir1/ dir2/    # 递归复制整个目录(-r必选)  

5. mv:移动 / 重命名文件

mv old.txt new.txt  # 重命名文件  
mv *.jpg images/    # 批量移动所有JPG图片到images目录  
进阶:用通配符*(匹配多个字符)、?(匹配单个字符)实现批量操作。

6. rm:删除文件 / 目录

rm temp.log        # 删除单个文件  
rm -rf empty_dir/  # 强制递归删除目录(⚠️ 谨慎使用,不可恢复)  
警告:删除前用ls确认路径,避免误删重要文件。

7. touch:创建文件 / 更新时间戳

touch newfile.txt  # 快速创建空文件  
touch -a file.txt  # 仅更新文件访问时间(用于监控记录)  

三、文本处理:终端中的文本工具集

8. cat:查看 / 合并文件

cat file1.txt file2.txt > combined.txt  # 合并两个文件内容  
cat -n longfile.txt                    # 显示行号,方便代码审查  
9. grep:文本搜索神器
grep "error" log.txt       # 搜索日志中含"error"的行  
grep -i "warning" *.log    # 不区分大小写搜索所有日志文件  
grep -r "todo" src/        # 递归搜索src目录中含"todo"的文件  
正则进阶grep "^[A-Z]" file.txt 匹配以大写字母开头的行。

10. sed:流式文本替换

sed 's/foo/bar/g' file.txt  # 全局替换文件中"foo"为"bar"  
sed -i '1d' file.txt        # 直接删除文件第一行(-i表示原地修改)  

11. awk:数据提取与统计

awk '{print $1}' data.csv  # 提取CSV文件第一列数据  
awk '/error/ {count++} END {print count}' log.txt  # 统计错误出现次数  

四、系统监控:掌握系统运行状态

12. top:实时进程监控

top  # 动态显示CPU、内存占用最高的进程  
快捷键P(按 CPU 排序)、M(按内存排序)、q(退出)。

13. htop:增强版进程监控(需安装)

htop  # 交互式界面,支持鼠标操作和彩色显示  

14. ps:查询进程状态

ps aux | grep nginx  # 查找nginx相关进程  
ps -ef --forest      # 以树形结构显示进程层级关系  

15. kill:终止进程

kill 1234       # 发送终止信号(优雅关闭进程)  
kill -9 1234    # 强制终止无响应进程(⚠️ 谨慎使用)  

五、网络工具:终端中的网络操作

16. curl:网络请求与文件传输

curl https://api.example.com  # 获取网页或接口内容  
curl -O https://example.com/file.zip  # 下载文件到本地  

17. wget:批量下载工具

wget https://example.com/image.jpg  # 下载单个文件  
wget -r -np https://example.com/dir/  # 递归下载目录内容  

18. ping:测试网络连通性

ping google.com      # 持续检测目标服务器是否可达  
ping -c 4 8.8.8.8    # 发送4个请求后停止(适合脚本测试)  

六、权限管理:守护文件安全

19. chmod:修改文件权限

chmod 755 script.sh  # 设置权限为rwxr-xr-x(用户可读可写可执行,其他用户可读可执行)  
chmod +x script.sh   # 快速添加可执行权限  
权限数字:4 = 读(r)、2 = 写(w)、1 = 执行(x),三组数字分别对应用户、组、其他用户。

20. chown:修改文件所有者

sudo chown user:group file.txt  # 修改文件所有者和所属组  
sudo chown -R user:group dir/   # 递归修改目录及子文件权限  

七、组合命令:终端效率的终极形态

管道符 |:串联命令

# 统计日志中ERROR出现的次数  
cat app.log | grep "ERROR" | wc -l  

重定向 >/>>:控制输出方向

echo "Hello" > note.txt   # 覆盖写入内容  
echo "World" >> note.txt  # 追加内容到文件末尾  

后台运行:不阻塞终端

python script.py &  # 后台运行脚本,返回进程ID  
# 退出终端后仍运行任务,并将输出保存到日志  
nohup ./long_task.sh > output.log 2>&1 &  

八、实战案例:命令组合解决实际问题

案例 1:批量重命名文件

# 将file1.txt~file100.txt改为document_001.txt~document_100.txt  
rename 's/file/document/' file*.txt  

案例 2:实时监控日志更新

tail -f app.log  # 实时追踪日志新增内容(按Ctrl+C退出)  

案例 3:压缩与解压文件

tar -czvf archive.tar.gz dir/  # 压缩目录为tar.gz格式  
tar -xzvf archive.tar.gz       # 解压文件到当前目录  

案例 4:清理旧文件

# 查找/backups目录中7天前的.bak文件并删除  
find /backups -name "*.bak" -mtime +7 -exec rm {} \;  

结语:终端思维进阶

掌握这些命令后,核心提升在于 “组合思维”—— 通过管道、脚本串联简单命令解决复杂问题。例如自动化部署脚本:
git pull origin main && npm install && npm run build && sudo systemctl restart myapp  

 

终端不是 “黑魔法”,而是高效工作的 “加速器”。从日常操作开始练习,逐步建立命令行思维,你会发现键盘比鼠标更强大。
阅读剩余