我刚开始接触Linux那会儿,跟绝大多数人一样,第一件事就是去搜“Linux常用命令大全”。搜出来的文章动辄几百条命令,我照着敲了两天,除了ls和cd,剩下的全忘了。后来在真实服务器上被折磨过几轮才明白:Linux命令从来不是靠背的,它是靠“场景”驱动的。你不需要记住几百条命令,你只需要知道在“要删文件夹”“要新建用户”“要看日志”“要查端口”这些具体场景下,该用什么工具、怎么组合、遇到报错怎么排查。
这篇文章不搞“大全”,也不会把命令列表铺得密密麻麻。我按自己这些年做运维和项目开发的实际经验,把最核心、最能解决实际问题的Linux命令拆成几大块来写,每一块都讲清楚“为什么这么做”和“踩过哪些坑”。无论你是刚入行的小白、准备面试的求职者,还是需要自己折腾服务器的开发者,这篇文章应该都能帮你把命令从“背不下来”变成“顺手就用”。
1. Linux命令学习的正确打开方式:先懂“套路”再记“招数”
1.1 别背命令,先理解命令的“语法公式”
很多人背命令失败,是因为把每条命令当成独立知识点去记,这属于给自己上难度。Linux命令其实有一个通用套路,绝大多数命令都长这样:
code复制命令名 [选项] [参数]
举个例子,ls -l /etc这条命令里,ls是命令名,-l是选项(以短横线开头,用来控制输出格式),/etc是参数(告诉命令操作哪个对象)。这个结构跟“动词 + 副词 + 宾语”的句子语法很像。你只要理解了这句话,遇到一个没见过的命令时,第一反应不应该是“这命令怎么背”,而是“先跑一下命令名 --help,看看它支持什么选项”。
实际工作中你会发现,每个命令的选项其实很有限。真正高频使用的可能就两三个,比如ls最常用的是-l(长格式)、-a(显示隐藏文件)、-lh(人类可读的大小),剩下的选项绝大多数人一年都用不上一次。所以不用怕命令多,核心要掌握的是规律和方法。
1.2 把帮助文档当字典,把man当老师
新手最容易忽略的宝藏是命令自带的帮助文档。不管是ls还是tar,直接敲man ls或ls --help,就能看到这个命令的完整使用说明。我建议你养成一个习惯:拿到一台新服务器、遇到一条没见过的命令,先花30秒看看帮助信息,而不是立刻去网上搜。
man命令打开的是分页文档,操作方式和less一样:按空格翻页,按q退出,按/加关键词搜索。比如你想知道tar怎么不打日志,可以在man tar界面里输入/quiet直接跳过去查。这个习惯一旦养成,你的自主学习能力会上一个台阶,因为Linux的生态里,几乎每个工具都会带完整的文档,这比任何教程都可靠。
1.3 命令到底能干什么:四条“主心骨”
我把Linux命令按使用场景分成四大类,这也是我教新人时用的框架:
- 文件与目录操作:
ls、cd、cp、mv、rm、mkdir、find,解决“文件在哪、怎么建、怎么挪、怎么删”。 - 文本处理与查看:
cat、less、tail、head、grep、awk、sed、vim,解决“文件里写了什么、怎么找、怎么改”。 - 用户与权限管理:
useradd、passwd、chmod、chown、su、sudo,解决“谁能碰这些文件、谁能跑这些命令”。 - 系统与网络管理:
ps、top、free、df、du、ping、telnet、nslookup、systemctl,解决“机器状态怎么样、服务通不通、资源够不够”。
主线只要记住这四条,其他命令基本都是从这些场景里延伸出去的。接下来我按这个框架,把关键命令和实操经验逐个展开。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 文件与目录操作:每天敲得最多的命令,坑也最多
2.1 cd和ls:你的“第一视角”
cd是切换目录,这个命令本身很简单,但有几个细节值得注意。cd ~回到当前用户的家目录,cd -回到上一次所在的目录(这个在来回切换两个目录时特别好用),cd ..回到上一级目录。很多新手在脚本里写cd命令时,习惯用相对路径,结果脚本一换目录就报错。我建议在脚本或重要操作里,一律用绝对路径,比如cd /data/logs,这样不管从哪里执行脚本都不会迷路。
ls的坑主要在权限和隐藏文件上。ls -a才能看到以点开头的隐藏文件,比如.bashrc、.ssh,很多配置问题就是因为没看到隐藏文件才排查了半天。ls -lh会用K、M、G这种人类能看懂的单位显示文件大小,而不是一堆字节数字。如果目录里的文件特别多,ls会刷屏,这时候用ls -lh | less分页看。
2.2 rm删除命令:一句话说三遍,别乱删
rm是Linux里最危险且最高频的命令之一,热词里就有“linux删除文件夹命令”,说明大家都关注这个。删除单个文件用rm 文件名,删除整个目录用rm -r 目录名,强制删除不提示用rm -f,最狠的是rm -rf 目录名,这是递归强制删除,从根目录开始会把整个系统删光。
我在这里必须掏心窝子说几句踩坑经验。第一,绝对不要在重要服务器上随手敲rm -rf /或rm -rf /*,网上那些把服务器删空的事故,九成都是这条命令干的。第二,删除前养成先ls确认路径的习惯。比如你想删/data/backup,先ls -ld /data/backup看一下它到底是不是你想要删的那个目录,别手一抖删成了/data。第三,能用mv替代就别用rm。我自己在服务器上处理不确定要不要删的东西时,会先mv 文件名 /tmp/,跑到/tmp下的文件观察几天,确认没问题再彻底删除,这样有个后悔药可吃。
