进阶实战:命令行生存指南
如果你想成为 Linux 高手,就必须把终端当作自己的双手。本章节将教你如何跳出“一个命令一个命令敲”的初级阶段,学会利用 Shell 的强大特性进行批量化、自动化的文件操作。
1. 文件操作的“降维打击”
掌握通配符(Wildcards),让你的指令一次处理成千上万个文件。
*: 匹配任意长度的字符串(如rm *.log删除所有日志)。?: 匹配单个字符。{}: 集合匹配(如touch {a,b,c}.txt同时创建三个文件)。
安全警告:慎用 rm -rf
执行 rm -rf 前,务必再次确认路径!
小技巧: 习惯先用 ls 命令配合通配符预览要删除的文件,确认无误后按 上方向键 将 ls 改为 rm。
2. 内容预览与基础管理
除了 ls, cd, cp, mv, rm 外,这些命令是日常高频必备:
2.1 快速预览文件
cat: 一次性打印全量内容(适合短文件)。less: 分页查看(适合长文件,按q退出)。head -n 5: 只看前 5 行。tail -f: 实时监控(常用于查看不断增长的日志文件)。
2.2 目录与空间管理
mkdir -p: 递归创建目录(如mkdir -p a/b/c)。df -h: 查看磁盘分区剩余空间(人类易读格式)。du -sh: 查看当前目录或文件的总占用大小。
3. IO 重定向:数据流的指挥官
Linux 的每一个命令都有三个标准流:标准输入(stdin)、标准输出(stdout)、标准错误(stderr)。
将结果存入文件,覆盖原内容:
ls > file_list.txt在文件末尾添加内容:
echo "Append this" >> config.log将 A 命令的输出直接喂给 B 命令作为输入:
ps aux | grep firefox4. 高效搜索与定位
4.1 找文件:find
# 在 /home 下查找大于 100MB 的文件
find /home -size +100M4.2 找内容:grep
# 在当前目录下所有文件中查找 "Error" 字符串
grep -rn "Error" .5. 归档与权限神操作
5.1 归档工具:tar
# 压缩:将 folder 文件夹压缩为 archive.tar.gz
tar -czvf archive.tar.gz folder/
# 解压:解压到当前目录
tar -xzvf archive.tar.gz5.2 必备权限
除了 chmod 777(极其不推荐),你应该学会精确管理权限:
| 命令 | 作用 | 示例 |
|---|---|---|
chown | 改变所有者 | sudo chown susu:susu file.txt |
chmod | 改变读写执行权限 | chmod +x script.sh (赋予执行权) |
sudo -i | 切换到 root 环境 | 类似 Windows 的“以管理员身份运行” |