进阶实战:命令行生存指南

如果你想成为 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)。

TAB分类
💡 点击标签可切换下方对比内容
视图分类:

输出重定向 (>)

将结果存入文件,覆盖原内容:

ls > file_list.txt

追加重定向 (>>)

在文件末尾添加内容:

echo "Append this" >> config.log

管道符 (|)

将 A 命令的输出直接喂给 B 命令作为输入:

ps aux | grep firefox

4. 高效搜索与定位

4.1 找文件:find

# 在 /home 下查找大于 100MB 的文件
find /home -size +100M

4.2 找内容:grep

# 在当前目录下所有文件中查找 "Error" 字符串
grep -rn "Error" .

5. 归档与权限神操作

5.1 归档工具:tar

# 压缩:将 folder 文件夹压缩为 archive.tar.gz
tar -czvf archive.tar.gz folder/
 
# 解压:解压到当前目录
tar -xzvf archive.tar.gz

5.2 必备权限

除了 chmod 777(极其不推荐),你应该学会精确管理权限:

命令作用示例
chown改变所有者sudo chown susu:susu file.txt
chmod改变读写执行权限chmod +x script.sh (赋予执行权)
sudo -i切换到 root 环境类似 Windows 的“以管理员身份运行”

6. 结业练习

任务 1 批量创建 使用 {} 语法在 ~/test 目录下同时创建 10 个名为 file_1.txt 到 file_10.txt 的文件。
练习 2 管道实战 运行 ls -lh /etc | head -n 5,观察它是如何只显示前 5 行信息的。
练习 3 实时监控 开启一个终端运行 while true; do date >> test.log; sleep 1; done,在另一个终端运行 tail -f test.log 观察变化。
💡 Tip

Shell 是可以“编程”的。当你发现自己在重复敲同一组命令时,就该考虑写一个 Alias 或脚本了。

Navigation