Linux常用工具
当你会了最基础的目录和文件操作以后,下一步就会遇到更实用的问题:
- 怎么找文件
- 怎么找文件里的关键字
- 怎么把多个命令串起来
- 怎么压缩和解压
- 怎么快速查看长文件
这一节就是为了解决这些高频问题。
本节目标
- 学会使用
find查找文件 - 学会使用
grep查找内容 - 理解管道
| - 学会使用
head、tail、less这些查看工具 - 学会基础压缩和解压
- 知道终端编辑器在服务器环境中的意义
find:找文件
find 的作用是按条件查找文件或目录。
查找当前目录下所有 .py 文件
find . -name "*.py"这里:
.表示从当前目录开始查找-name "*.py"表示查找文件名符合这个模式的文件
输出示例:
./app.py
./utils/helper.py为什么 find 很重要
因为真实项目一大,你不可能总靠肉眼翻目录。
它特别适合这些场景:
- 找配置文件
- 找日志文件
- 找某类脚本文件
grep:找内容
grep 的作用是到文件内容里搜索关键字。
在某个文件中找 print
grep "print" app.py如果 app.py 中有:
print("hello")输出就会包含这一行。
在多个文件里找关键字
grep -r "settings" .这里的 -r 表示递归查找。
这特别适合:
- 查项目里某个配置写在哪
- 查错误关键字出现在哪些文件中
find 和 grep 的区别
这是初学者很容易混的点。
find
找“文件本身”。
grep
找“文件里的内容”。
简单记忆:
find找位置grep找文本
管道 |
管道符号是:
|它的作用是:
- 把前一个命令的输出,交给后一个命令继续处理
示例
ls | more这表示:
- 先列出目录内容
- 再分页显示
更实用示例
ps aux | grep python这表示:
- 先列出系统进程
- 再筛选出包含
python的行
这在查 Python 服务是否在运行时非常常见。
查看文件的几个常用工具
cat
适合较短文件。
cat note.txtless
适合较长文件,可以翻页和搜索。
less app.loghead
查看文件开头几行。
head app.logtail
查看文件结尾几行。
tail app.log实时看日志
tail -f app.log这在服务日志排查里特别常见。
统计工具
wc
可以统计行数、单词数、字符数。
wc -l app.py这里的 -l 表示统计行数。
输出示例:
120 app.py排序和去重思路
虽然你现在不需要深学所有文本处理工具,但要先知道:
- Linux 命令行很擅长做文本处理
- 很多日志和数据筛选都可以用命令组合完成
压缩与解压
项目打包、日志归档、文件传输时经常会遇到压缩包。
zip 打包
zip -r demo.zip demo表示把 demo 目录打包成 demo.zip。
unzip 解压
unzip demo.ziptar.gz 打包
tar -czf demo.tar.gz demotar.gz 解压
tar -xzf demo.tar.gz零基础阶段你不需要死记每个参数,但至少要知道:
- 怎么打包
- 怎么解压
- 常见压缩格式长什么样
编辑器为什么重要
进入服务器环境后,你很多时候不能直接打开图形界面编辑器。
这时终端编辑器就变得重要了。
你现在先知道这件事就够了:
- 编辑器不是可有可无
- 很多部署和配置修改都依赖它
零基础阶段不必马上把编辑器用得很熟,但要知道它在服务器工作流中的地位。
常见使用场景
场景 1:找日志文件
find . -name "*.log"场景 2:查日志里有没有 error
grep "error" app.log场景 3:看一个大日志的最后几行
tail app.log场景 4:边看日志边等新内容进来
tail -f app.log场景 5:打包项目上传
zip -r project.zip project常见错误
1. find 和 grep 混用
一个找文件,一个找内容,不要混。
2. 一看到长文件就用 cat
文件太长时,用 less 或 tail 更合适。
3. 不会用管道,导致命令组合能力很弱
Linux 强大的地方之一就是“小工具组合”。
练习题
练习 1
查找当前目录下所有 .md 文件。
练习 2
在某个 Python 文件中查找 import 关键字。
练习 3
找出当前目录下所有日志文件,并尝试查看其中一个的末尾内容。
练习 4
把一个目录压缩成 zip 包,再解压出来。
练习 5
自己解释:
find做什么grep做什么|做什么
本节小结
这一节最重要的,不是把所有工具命令背完,而是知道 Linux 命令行不仅能做文件管理,还能非常高效地做搜索、筛选、查看和打包。
你最重要的收获应该是:
- 会用
find找文件 - 会用
grep找内容 - 理解管道的作用
- 会用
head、tail、less看文件 - 会基础压缩和解压
只要这些工具熟悉了,后面排查项目、看日志、部署代码都会顺很多。