如果你刚接触 Linux,大概率会有一种感觉:命令太多了,根本记不住。网上那些动不动就“XXX 个常用命令大全”的帖子,看着很全,实际没啥用——收藏了就不看了,真到用的时候还是只知道 ls 和 cd。我这些年折腾服务器、写脚本、排查线上问题,真正天天在用的命令,翻来覆去就那么几十个。这篇文章就把它们按使用场景分成 8 类,每类讲清楚“什么场景用什么”“为什么这么用”“有哪些坑别踩”,适合刚入门想快速上手的人,也适合用了一阵子但总觉得命令不够系统的朋友。看完你不需要背,跟着思路敲一遍,比死记硬背强得多。
1. 文件与目录操作:记住这些,你就算进门了
1.1 高频命令与输出信息解读
文件操作是 Linux 里最基础也最绕不开的一类。ls、cd、pwd、mkdir、rm、cp、mv,这七个命令的优先级是最高的。ls 别只用默认的裸格式,配合 -l 看详细信息、-a 看隐藏文件、-h 让文件大小更易读,这三个参数往往连在一起用,我习惯直接敲 ls -lah。这一串输出里面每一列都有讲究:文件类型、权限位、硬链接数、属主、属组、大小、修改时间、文件名。比如开头那个字符,- 是普通文件,d 是目录,l 是符号链接,这些基础信息不认识的话,后面学权限管理会很吃力。
cd 和 pwd 没啥好说的,但你得养成一个好习惯:多用 / 开头的绝对路径来定位,少用 ../ 一层一层往上跳,尤其是在写脚本的时候,相对路径的解析结果很容易因为运行目录不同而翻车。mkdir 创建目录,-p 参数可以一次性创建多级目录,比如 mkdir -p /data/logs/nginx,父目录不存在也会自动建出来,这个参数在部署项目时几乎是必用的。
1.2 复制、移动、删除的隐藏细节
cp 复制文件,mv 移动或重命名,rm 删除。这三个命令在日常使用中有几个容易忽略的点。第一,cp 复制目录必须加 -r,不然直接报错 omitting directory。第二,mv 在同一个文件系统内是纯改名字,速度极快;跨文件系统移动时,实际是“复制+删除”,大文件会明显卡一下,这不是命令卡死了,是底层机制如此。第三,rm -rf 删除目录是网上最常见的“删库跑路”段子来源,新手一定要在脑子里刻一个习惯:用 rm 之前先 ls 看清楚自己当前在哪个目录、要删的是什么。
我个人的做法是给 rm 设置一个安全习惯:把 alias rm='rm -i' 写进 .bashrc,这样每次删文件都会先问你一句确认。等到你熟练了再把这个别名去掉,或者直接用 /bin/rm 来绕过别名。至于“删除文件夹用什么命令”这种高频搜索,答案就是 rm -r 目录名,加 -f 表示不提示直接删,加 -v 可以显示删除过程。但在生产服务器上,我强烈建议先 mv 到一个临时目录,确认没问题再真正删,谁都不想因为一个手滑把项目代码清空。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件内容查看与日志追踪:排查问题全靠它
2.1 cat、head、tail 各管一摊
服务器上排查问题,十次有八次是在看文件内容。小文件直接 cat 全量输出没问题,但文件一大,cat 会把整个终端刷爆,这时候就得按需取用。head -n 20 看文件开头多少行,tail -n 20 看末尾多少行,这俩是日志分析的基础操作。而 tail -f 更是日志跟踪的神器,它会持续输出文件新增的内容,你在终端里就能实时看到日志在滚动。当年我第一次用 tail -f /var/log/nginx/access.log 看到一条条访问记录在眼前刷新的时候,真的有一种“我在指挥这台服务器”的感觉。
这里有个细节值得单独说:tail -f 和 tail -F 的区别。如果日志文件被轮转(rotated),也就是说文件名没变但底层文件被替换了,tail -f 会盯着那个已经被删掉的旧文件,看起来像是日志不更新了;而 tail -F 会重新跟踪新的文件。生产环境里日志文件几乎都会轮转,所以建议直接用 tail -F,避免掉进“日志怎么不动了”的坑。
2.2 grep 检索与管道配合
grep 是日志分析的核心武器,它跟 cat、tail 的组合能解决一大半的排查需求。最基本的用法是在文件里搜关键字:grep "error" app.log。常用参数我帮你筛一遍:`-i
