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 命令 查用法。多敲几遍,终端很快就会变成你顺手的工具。