Skip to content

Linux常用工具

当你会了最基础的目录和文件操作以后,下一步就会遇到更实用的问题:

  • 怎么找文件
  • 怎么找文件里的关键字
  • 怎么把多个命令串起来
  • 怎么压缩和解压
  • 怎么快速查看长文件

这一节就是为了解决这些高频问题。

本节目标

  • 学会使用 find 查找文件
  • 学会使用 grep 查找内容
  • 理解管道 |
  • 学会使用 headtailless 这些查看工具
  • 学会基础压缩和解压
  • 知道终端编辑器在服务器环境中的意义

find:找文件

find 的作用是按条件查找文件或目录。

查找当前目录下所有 .py 文件

bash
find . -name "*.py"

这里:

  • . 表示从当前目录开始查找
  • -name "*.py" 表示查找文件名符合这个模式的文件

输出示例:

text
./app.py
./utils/helper.py

为什么 find 很重要

因为真实项目一大,你不可能总靠肉眼翻目录。

它特别适合这些场景:

  • 找配置文件
  • 找日志文件
  • 找某类脚本文件

grep:找内容

grep 的作用是到文件内容里搜索关键字。

在某个文件中找 print

bash
grep "print" app.py

如果 app.py 中有:

python
print("hello")

输出就会包含这一行。

在多个文件里找关键字

bash
grep -r "settings" .

这里的 -r 表示递归查找。

这特别适合:

  • 查项目里某个配置写在哪
  • 查错误关键字出现在哪些文件中

findgrep 的区别

这是初学者很容易混的点。

find

找“文件本身”。

grep

找“文件里的内容”。

简单记忆:

  • find 找位置
  • grep 找文本

管道 |

管道符号是:

bash
|

它的作用是:

  • 把前一个命令的输出,交给后一个命令继续处理

示例

bash
ls | more

这表示:

  1. 先列出目录内容
  2. 再分页显示

更实用示例

bash
ps aux | grep python

这表示:

  1. 先列出系统进程
  2. 再筛选出包含 python 的行

这在查 Python 服务是否在运行时非常常见。

查看文件的几个常用工具

cat

适合较短文件。

bash
cat note.txt

less

适合较长文件,可以翻页和搜索。

bash
less app.log

查看文件开头几行。

bash
head app.log

tail

查看文件结尾几行。

bash
tail app.log

实时看日志

bash
tail -f app.log

这在服务日志排查里特别常见。

统计工具

wc

可以统计行数、单词数、字符数。

bash
wc -l app.py

这里的 -l 表示统计行数。

输出示例:

text
120 app.py

排序和去重思路

虽然你现在不需要深学所有文本处理工具,但要先知道:

  • Linux 命令行很擅长做文本处理
  • 很多日志和数据筛选都可以用命令组合完成

压缩与解压

项目打包、日志归档、文件传输时经常会遇到压缩包。

zip 打包

bash
zip -r demo.zip demo

表示把 demo 目录打包成 demo.zip

unzip 解压

bash
unzip demo.zip

tar.gz 打包

bash
tar -czf demo.tar.gz demo

tar.gz 解压

bash
tar -xzf demo.tar.gz

零基础阶段你不需要死记每个参数,但至少要知道:

  • 怎么打包
  • 怎么解压
  • 常见压缩格式长什么样

编辑器为什么重要

进入服务器环境后,你很多时候不能直接打开图形界面编辑器。

这时终端编辑器就变得重要了。

你现在先知道这件事就够了:

  • 编辑器不是可有可无
  • 很多部署和配置修改都依赖它

零基础阶段不必马上把编辑器用得很熟,但要知道它在服务器工作流中的地位。

常见使用场景

场景 1:找日志文件

bash
find . -name "*.log"

场景 2:查日志里有没有 error

bash
grep "error" app.log

场景 3:看一个大日志的最后几行

bash
tail app.log

场景 4:边看日志边等新内容进来

bash
tail -f app.log

场景 5:打包项目上传

bash
zip -r project.zip project

常见错误

1. findgrep 混用

一个找文件,一个找内容,不要混。

2. 一看到长文件就用 cat

文件太长时,用 lesstail 更合适。

3. 不会用管道,导致命令组合能力很弱

Linux 强大的地方之一就是“小工具组合”。

练习题

练习 1

查找当前目录下所有 .md 文件。

练习 2

在某个 Python 文件中查找 import 关键字。

练习 3

找出当前目录下所有日志文件,并尝试查看其中一个的末尾内容。

练习 4

把一个目录压缩成 zip 包,再解压出来。

练习 5

自己解释:

  • find 做什么
  • grep 做什么
  • | 做什么

本节小结

这一节最重要的,不是把所有工具命令背完,而是知道 Linux 命令行不仅能做文件管理,还能非常高效地做搜索、筛选、查看和打包。

你最重要的收获应该是:

  • 会用 find 找文件
  • 会用 grep 找内容
  • 理解管道的作用
  • 会用 headtailless 看文件
  • 会基础压缩和解压

只要这些工具熟悉了,后面排查项目、看日志、部署代码都会顺很多。

Built with VitePress.