Linux 必学命令速查:文件、目录、查看与搜索

登上服务器后最常用的一批命令:导航目录、增删改文件、查看内容、搜索定位,照着敲就能上手。

第一次用 SSH 登上你的服务器,面对的往往只是一个黑色终端。别慌,把下面这十来个命令练熟,日常运维八成的操作都够用了。命令以 Ubuntu/Debian 为例。

目录导航

先搞清楚"我在哪、有什么、怎么去别处"。

pwd             # 显示当前所在目录的完整路径
ls              # 列出当前目录内容
ls -lh          # 长格式 + 人类可读的文件大小
ls -a           # 连同以 . 开头的隐藏文件一起列出
cd /var/www     # 进入指定目录(绝对路径)
cd ..           # 回到上一级
cd              # 直接回到当前用户的家目录

小技巧:输入路径时按 Tab 键可自动补全,少打很多字也少出错。

文件与目录操作

创建、复制、移动、删除,是最高频的动作。

mkdir logs           # 新建目录
mkdir -p a/b/c       # 一次性创建多级目录
touch app.log        # 创建一个空文件
cp src.txt dst.txt   # 复制文件
cp -r dir1 dir2      # 递归复制整个目录
mv old.txt new.txt   # 重命名 / 移动文件
rm file.txt          # 删除文件
rm -r olddir         # 递归删除目录

rm 没有回收站,删掉即无法找回。删目录前先用 ls 确认路径,慎用 rm -rf,尤其别在 / 或家目录乱敲。

查看文件内容

不一定要打开编辑器,快速看一眼用这几个更方便。

cat config.yaml       # 一次性打印整个文件
less big.log          # 分页查看,方向键翻页,按 q 退出
head -n 20 app.log    # 看开头 20 行
tail -n 50 app.log    # 看结尾 50 行
tail -f app.log       # 实时跟踪新写入的日志(排障常用)

看大文件优先用 less,cat 会把整个文件一次刷屏。tail -f 用来盯着日志滚动,排查问题特别顺手。

搜索与定位

内容里找关键字用 grep,按文件名/位置找文件用 find。

grep "error" app.log            # 在文件中查含 error 的行
grep -i "error" app.log         # 忽略大小写
grep -rn "timeout" /etc/nginx   # 递归搜目录并显示行号
find . -name "*.conf"           # 当前目录下按名字找文件
find /var/log -mtime -1         # 找出一天内修改过的文件

管道与重定向

把命令串起来,才是命令行真正的威力所在。

ps aux | grep nginx     # 前一个命令的输出交给后一个处理
ls -l | less            # 输出太长时接 less 分页
echo "hello" > a.txt    # 覆盖写入文件(会清空原内容)
echo "world" >> a.txt   # 追加写入文件末尾

| 把左边的输出喂给右边;> 覆盖、>> 追加,是保存结果的两种写法。

小结

先用 pwd/ls/cd 站稳脚跟,再靠 mkdir/cp/mv/rm 管理文件,用 cat/less/tail 看内容,用 grep/find 定位目标,最后用 | 和 > 把它们组合起来。记不住时随手 命令 --help 或 man 命令 查用法。多敲几遍,终端很快就会变成你顺手的工具。