简介《最全Linux常用命令大全.pdf》面向Linux初学者、运维入门者及频繁使用命令行的开发者定位为速查型手册重点解决命令零散、选项易忘、场景检索不便的问题适用于课程实验、服务器日常维护和面试复习。压缩包内含1个PDF文件大小约130KB篇幅紧凑。内容按管理文件和目录、磁盘空间、备份与压缩、用户与权限、线上查询、文件阅读、网络操作、文件定位查找等模块组织围绕pwd、cd、ls、cat、grep、cp、mv、rm、mount、df、du、fsck及gzip、bzip2、zip等命令说明功能、常用选项和典型用法。已有5592人学习读者可快速建立命令分类框架掌握目录切换、文件增删改查、磁盘检查、挂载卸载与压缩备份等基础操作也能按具体任务查阅参数含义与示例写法减少反复搜索的时间成本。1. 先别被那一屏黑底白字吓退Linux 常用命令到底是干什么的很多人第一次打开 Linux 的终端看到光标在那儿一闪一闪第一反应是我是不是进错地方了。这个反应太正常了。你可以把图形界面想成餐厅的菜单想吃什么对着图片点就行而 Linux 常用命令就是直接跟后厨说话——你说来一份炒饭厨房立刻做。菜单上没有的菜后厨照样能做这就是命令行的价值它不会限制你只能用现成的按钮。这份《最全 Linux 常用命令大全》整理的正是这套后厨暗语文件怎么放、磁盘怎么查、东西怎么打包、程序怎么停。它适合完全没碰过命令行的人也适合用了很久图形界面、一遇到服务器就手足无措的人。先不用背读完你会知道先动手敲哪几个。2. 入门先学哪几把钥匙文件和目录的八个命令2.1 为什么先学文件和目录九成操作都在找和搬刚上手的人常有个误解以为学 Linux 命令就是要背下几十上百条。其实不是。你真正每天在干的事翻来覆去就两类一是搞清楚我在哪、这儿有什么二是把东西从一个地方挪到另一个地方。图形界面里这两件事靠双击文件夹完成命令行里就靠 pwd、ls、cd、cp、mv、rm 这几把钥匙。这里要先讲清一个概念不然第一步就会卡住路径。路径就是文件的门牌号分两种写法。一种叫绝对路径从根目录写起比如/usr/share/doc开头那个斜杠就代表从最顶层开始找好比你说某某省某某市某某路 3 号不管你现在站在哪都不会找错。另一种叫相对路径从你当前站的位置写起比如docs/note.txt好比你说往前走两个路口右转只有站在当前这个位置才成立。新手最容易翻车的地方就是把这两种混着用然后系统告诉你找不到文件。我第一次学的时候就是把cd /home和cd home当成一回事敲了半天都在原地打转。区别很简单带斜杠开头的是绝对路径不带斜杠的是相对路径。记住这一条后面所有命令的路径参数你都不会写错。入门阶段不用急着理解权限、挂载这些词先把找路和搬东西练熟这两件事占了你前期八成的时间。2.2 第一个例子三个命令认清自己在哪先别管别的打开终端把下面三行老老实实敲一遍。不要复制粘贴手敲一遍肌肉记忆比看十遍都管用。# 1. 问系统我现在站在哪个目录 pwd # 2. 问系统这个目录里都有什么-a 连隐藏文件一起看-l 看详细信息 ls -al # 3. 回家~ 这个符号代表你自己的用户主目录 cd ~ pwd第一行pwd是 print working directory 的缩写意思就是打印当前工作目录它会原样返回一个路径比如/home/user。这一行看着简单但它能救你很多次——删文件、改配置之前先敲一次 pwd确认自己没站错地方是特别值钱的习惯。第二行ls -al是把两个选项叠在一起用-a表示把以点开头的隐藏文件也列出来-l表示用长格式显示会多出权限、所有者、大小、修改时间这几列。新手看到这一堆列会懵先不用管你只要认得最右边那一列是文件名就行其余的等第 5 章讲权限时再回来看。ls还有一个很实用的-h配合-l写成ls -lh文件大小就会显示成 1.2K、3.4M 这种能直接读懂的样子而不是一串数字。第三行cd ~里的~是个约定俗成的简写代表当前用户的主目录。cd后面跟什么你就去到哪cd /是去根目录cd /usr是去根目录下的 usr 目录cd ..是回上一级cd -是回到上一次待过的目录。这几个够你用很久了剩下的等遇到再查。提示敲命令时按 Tab 键可以自动补全路径连续按两下 Tab 会列出所有可能的候选。少打很多字也少打很多错。2.3 第二个例子建、复制、移动、删除一条龙认路学会了接下来是搬东西。下面这段代码从头到尾做完你就把文件操作的核心动作走了一遍。# 建一个练习用的目录-p 表示缺哪层就补哪层已存在也不报错 mkdir -p ~/linux-practice/docs # 进到练习目录 cd ~/linux-practice # 造一个空文件touch 不改内容只创建文件或更新时间戳 touch note.txt # 复制一份-v 让它把做过的事说出来心里有底 cp -v note.txt note-backup.txt # 把备份挪进子目录顺便改名mv 既能移动也能重命名 mv -v note-backup.txt docs/old-note.txt # 删之前先看一眼确认要删的是哪个 ls -l docs/ # 删掉它-v 同样是把动作打出来 rm -v docs/old-note.txt代码里每一行对应的动作都不复杂但有几处值得单独说。mkdir -p的-p是新手最该记住的选项之一它会自动把中间缺的目录一层层建出来而且目录已存在时也不报错写脚本时特别省心。cp的写法是源在前目标在后cp note.txt note-backup.txt就是把 note.txt 复制成 note-backup.txt。如果目标是已存在的目录文件就会被放进那个目录里名字不变。mv的顺序也一样区别在于它不产生副本原件直接消失所以它同时承担了移动和改名两个职责。rm是这一组里唯一会造成不可逆后果的命令。它没有回收站删了就是删了这点跟图形界面完全不同属于那种必须提前知道的事。所以上面那段代码里我特意在删除前插了一行ls——看一眼再删。这个动作看着多余但它是你能给自己买的最便宜的保险。2.4 参数速记把选项当成开关而不是单词选项看着多其实很多是通用的认几个高频的就够覆盖大半场景。下面这张表可以贴在脑子边上选项大致含义常见搭配-a全部包括隐藏文件ls -a-l长格式信息更全ls -l-h人类可读单位换成 K/M/Gls -lh、df -h-r递归连子目录一起处理cp -r、rm -r-i交互覆盖或删除前问一句cp -i、rm -i-v详细把过程打出来cp -v、tar -v-f强制不问了直接干rm -f理解这张表的关键是把选项当成开关而不是单词。-r在哪都基本是往下钻的意思-v在哪都基本是多说两句的意思。你不用为每个命令单独背一套参数认住开关的语义见到新命令也能猜个八九不离十。不过有两个开关要特别小心。-f在rm和mv上是不提示直接执行危险系数拉满-i相反是动手之前问你一句。原手册里把-f明确标成危险选项这不是吓唬人。入门阶段我的建议是凡是跟删除、覆盖有关的操作主动加上-i宁可被多问几次也别体会一次没有后悔药的滋味。等熟练了再决定哪些场景可以省掉。3. 看得懂文件才算入门cat、grep、head、tail 怎么用3.1 为什么要先学会读答案都写在文件里学完搬东西下一个卡点是看内容。这件事的重要性常被低估。程序起不来、服务连不上、脚本跑一半挂了这些问题的线索基本都躺在某个文本文件里要么是日志要么是配置。你如果只会用鼠标双击打开文件一旦大到一个屏幕装不下就彻底没辙了。命令行读文件的好处是精准取片段。一个几百兆的日志你根本不需要全看你只要那几十行报错。head帮你取开头tail帮你取结尾grep帮你在整个文件里捞出含某个词的行。这三招学会排查问题的效率会有明显变化。顺便说一句原手册里提到的cat主要用途其实是把文件内容整个倒到屏幕上以及把多个文件拼成一个。它不适合读大文件——几百兆的文件cat一下屏幕会像开了闸一样滚个不停只能靠 CtrlC 强行打断。这不是cat的问题是用错了工具。3.2 跟做一遍造一份假日志四种方式各读一次为了不依赖你自己的文件先用几行命令造一份练手用的日志。下面是完整可跑的# 进练习目录 cd ~/linux-practice # 循环 30 次往 app.log 里追加 30 行内容 for i in $(seq 1 30); do echo 2024-05-01 10:00:00 INFO task-$i done app.log done # 只看开头 3 行head 默认 10 行-n 用来改行数 head -n 3 app.log # 只看结尾 2 行tail 默认也是 10 行 tail -n 2 app.log # 在整个文件里找含 task-7 的行-n 显示行号 grep -n task-7 app.log # 真实场景里最常用的一招盯着日志文件有新内容就实时刷出来 tail -f app.log第一段for循环你不用完全看懂它的作用就是往app.log里写 30 行假日志这个符号表示追加到文件末尾不覆盖原内容。之所以要造数据是因为读文件这件事光看讲解没用你得有个真实文件在眼前才能体会几个命令的差别。head -n 3取前三行tail -n 2取最后两行。数字可以随便改head -n 50就是前 50 行。这两个命令在真实场景里最典型的用法是看日志的头尾开头往往写着程序启动时的配置结尾往往是最新一次报错。grep -n task-7会返回所有包含task-7的行并在前面标上行号。行号这个细节很有用因为你可以拿它配合head、tail精确定位也可以直接告诉别人第 17 行有问题比描述半天强。最后那个tail -f是这一节最值钱的一条。-f是 follow 的意思命令会挂在那儿不退出文件一有新内容就往屏幕上刷。程序正在跑、你想看它下一步要报什么错就用这招。退出按 CtrlC。我第一次用tail -f盯着一个服务日志看着它在第 40 秒准时吐出错误那种原来问题一直写在这儿的感觉比看十篇教程都记得牢。3.3 grep 的三个高频用法够覆盖大半场景grep是这一组里最值得多花点时间练的。它的本职工作是在文件里找字符串但配上几个选项能干的事就多了# 1. 忽略大小写ERROR、error、Error 一起找出来 grep -i error app.log # 2. 反着找找出所有不含 INFO 的行噪音一下就少了 grep -v INFO app.log # 3. 只数条数不打印内容适合快速判断问题规模 grep -c task app.log # 4. 在一个目录下所有文件里找-r 递归-n 带行号 grep -rn task-7 ~/linux-practice-i忽略大小写这个在实际排查里太重要了。日志里的大小写往往不统一有的地方写 ERROR有的地方写 error不加-i你会漏掉一半。-v是反向匹配它的价值在于过滤噪音。一份日志里可能九成都是正常信息你只关心异常的那几行grep -v INFO一过屏幕立刻清爽。-c只输出匹配的条数。有时候你不需要看具体内容只想知道这个错出现了多少次用-c比数屏幕快得多。-r是递归把整个目录下的文件都翻一遍。这个选项要慎用在大目录上比如从根目录开始grep -r机器能卡半天。入门阶段的用法是先cd到一个范围明确的小目录里再grep -r。注意grep默认区分大小写这是原手册里特意强调过的一点。找日志时忘了加-i然后得出没报错的结论是新手很常见的一次误判。3.4 less 和 more大文件别用 cat 硬刚文件一多就得翻页。less和more都是分页工具用法是less app.log或者ls -al /etc | more后者那个竖线叫管道意思是把前一个命令的输出交给后一个命令去分页显示。这两个工具的区别原手册讲得很清楚less支持上下箭头前后移动more主要靠空格往下翻、按 b 往回翻。所以日常我更推荐less它退可守进可攻翻错了还能倒回去看。less里最该记住的四个键按键作用空格往下翻一页b往上翻一页/关键词再回车往下搜索关键词q退出q退出这一条要单独说。新手第一次进less发现屏幕不动了、打字也没反应会以为终端卡死然后直接关窗口。其实只是待在分页器里按一下 q 就回来了。这个小坑几乎人人都踩过一次提前知道能省一次心慌。4. 打包、压缩和查磁盘tar、df、du 什么时候用4.1 为什么打包压缩是新手第一个真用得上的技能前面两章学的命令多少还有点练习性质。打包压缩不一样它是你学完当天就能用上的东西把一堆文件传给同事、备份一个项目目录、把日志归档腾地方用的都是这几个命令。这里有个概念要先掰开。打包和压缩是两件事。打包是把一堆文件和目录装进一个文件里体积基本不变只是从散装变成整箱压缩是用算法把内容重新编码体积会变小。tar干的是打包gzip、bzip2、zip干的是压缩而tar可以打包完顺手调用压缩工具一步到位。所以你会看到.tar、.tar.gz、.tar.bz2这几种后缀都是这么来的。至于选哪个压缩工具原手册给了一句很实用的判断bzip2压缩率最高zip兼容性最好因为 Windows 原生就能解。日常我自己的习惯是只在 Linux 之间传来传去就用.tar.gz速度快、够用要发给用 Windows 的人就打个.zip省得对方折腾。4.2 跟做把练习目录打成 tar.gz再解到别处tar的参数组合是新手最容易被劝退的地方其实它就四个字母的事# 打包 压缩-c 创建 -z 用 gzip -v 显示过程 -f 指定文件名f 要放最后 tar -czvf practice-backup.tar.gz ~/linux-practice # 只看包里有什么不解压。-t 是列出内容解压前先看一眼是好习惯 tar -tzvf practice-backup.tar.gz # 解压到另一个目录先建好目标目录-C 指定解到哪 mkdir -p ~/restore tar -xzvf practice-backup.tar.gz -C ~/restore # 确认解出来的东西在不在 ls -l ~/restore四个字母记住含义就不会乱c是 create创建包x是 extract从包里取出来t是 list只列内容f是 file后面紧跟包名。z表示用 gzip 压缩换成j就是用 bzip2。v是 verbose把处理了哪些文件打出来新手建议一直带着看着文件一个个进去、一个个出来心里踏实。-f必须放在最后一位后面紧跟包名这个顺序错了就会报错是tar的固定规矩。至于中间那行-tzvf我强烈建议养成解压前先看一眼的习惯。原因很实际有些包解开之后是一堆散文件直接在当前目录解压会把你原本的目录搅得一团乱。先-t看一眼结构再用-C指定一个干净的目标目录能省掉很多收拾残局的时间。这个习惯我是被坑过之后才养成的当时一个包直接解在了项目根目录覆盖了同名的配置文件找回来花了半小时。-C这个参数也值得单独记它的作用是切换到这个目录再干活。加上它解压路径就完全可控不用先cd过去再cd回来。4.3 df 和 du一个看仓库一个看包裹磁盘相关的命令新手最常混的就是这两个。用仓库来类比一下就分清了df看的是仓库还剩多少地方。它统计的是文件系统层面的空间输出的是每个分区的总容量、已用、可用、使用率。用法很简单df -h加个人类可读就够了。哪天系统提示写不进去、日志报磁盘满第一件事就是df -h看看是哪个分区撑爆了。du看的是哪个包裹占了地方。它统计的是具体目录和文件的大小一层层往下累加。du -sh ~/linux-practice是看这个目录总共多大du -sh ~/linux-practice/*是看它下面每个子项各占多少。-s表示只给总和不把每个子目录都列出来不然输出会长得看不完-h还是人类可读。# 整个磁盘还剩多少 df -h # 当前目录下每个子项各占多少按大小排个序看得更清楚 du -sh ~/linux-practice/* | sort -h配合起来用的思路是先用df -h发现某个分区快满了再用du -sh一层层往下钻找出到底是谁把地方吃掉了。这个排查路径是运维里最基础的一套你现在就可以在自己机器上走一遍。有一点要提醒du统计的是文件实际占用df统计的是文件系统分配两者算出来的数字对不上是正常的不用纠结。另外du扫大目录会比较慢扫之前先cd到范围明确的位置别一上来就扫根目录。5. 新手避坑指南权限、删除和进程最容易翻车5.1 坑一rm 一敲文件真的没了现象rm敲下去回车文件瞬间消失图形界面里也找不到回收站里也没有整个人呆在原地。原因命令行的删除是直接对文件系统动手不经过任何回收站机制。这是设计如此不是 bug它换来的是速度和可控性代价就是没有后悔药。更危险的是rm -rf 目录名-r递归加-f强制一条命令能把整个目录树清空而且全程不问你一句。解决把删除拆成两步。第一步ls确认目标和范围第二步再删删除时主动加-i让它问一句。真正要批量清理时优先把内容移到临时目录观察几天再删这比任何技巧都稳。另外跟删除相关的一个小知识点rmdir只能删空目录rm -r才能删非空目录新手常把两者弄混然后对着报错发愣。注意在终端里敲长命令别凭记忆一口气打完。先把rm -rf后面那段路径写清楚回头检查一遍再按回车。多花的这五秒可能救你一天。5.2 坑二Permission denied那一串 rwx 到底在说什么现象想改一个文件、进一个目录系统回你一句 Permission denied或者想执行一个脚本提示权限不够。原因Linux 是多用户系统每个文件都有归属和权限。用ls -l看文件名前面那一串像-rw-r--r--的东西就是权限位。它分三组每组三个字符分别对应文件所有者所属用户组其他人。三个字符的位置固定是 r、w、x分别代表读、写、执行没有这个权限就显示成横杠。解决先看清楚缺什么权限再用chmod补上。chmod有两种写法一种用字母# 给自己加读、写、执行权限u 表示所有者 表示添加 chmod urwx note.txt # 给同组的人只加读权限g 表示组 表示设为唯一权限 chmod gr note.txt # 收回所有人的全部权限a 表示全部人- 表示删除 chmod a-rwx note.txt另一种用数字读是 4、写是 2、执行是 1三个权限加起来就是一个数字三组权限就是三个数字# 7421 读写执行541 读和执行5 再给其他人 chmod 755 note.txt # 查看改完之后的效果 ls -l note.txt数字写法的换算规则很简单想要哪些权限就把对应的数字加起来。7 是全权限6 是读写5 是读加执行4 是只读。755这个组合你会在无数教程里看到它的意思是所有者全权限其他所有人只能读和执行。新手最容易犯的错是一遇到权限问题就直接上chmod 777。这等于把门拆了让所有人随便进出看着问题解决了其实埋了更大的雷。正确顺序是先想清楚谁需要什么权限再给最小够用的那一份。这件事在单人练习机上后果不明显一旦放到多人环境里就是另一回事了。5.3 坑三command not found 和老老实实的路径错误现象一敲了一个命令返回command not found。现象二命令没问题但返回No such file or directory。原因这两个报错指向完全不同的东西新手常混为一谈。command not found是系统压根不认识这个词——要么命令名拼错了要么这个软件没装要么它所在的目录不在你的 PATH 环境变量里。No such file or directory是命令认识但你给的文件它找不到——问题出在路径上。解决区分对待。遇到command not found先用which 命令名查一下这个命令装在哪比如which ls会返回/usr/bin/ls。如果什么也不返回说明确实没有这个命令要么拼错了要么得装。遇到No such file or directory就用ls一级一级确认路径当前在哪pwd、这一层有什么ls、下一层名字对不对ls 子目录名。大多数时候问题就出在那个路径上可能是大小写不对可能是少写了一层也可能是相对路径和绝对路径混用了。还有一个高频变体文件明明在但./脚本名就是跑不起来。这时候检查两件事一是文件有没有执行权限ls -l看那串权限位二是开头有没有写解释器。少哪样补哪样报错信息其实都在提示你。5.4 坑四kill 和关机命令用错了地方现象一个程序卡住了想把它关掉随手敲了kill结果没反应或者更糟把别的进程干掉了。原因kill后面跟的是进程号PID不是程序名。你不先查 PID光敲个名字它当然不认识。而且kill本身只是发一个信号默认发的是温和的结束信号程序收到之后还能做点收尾动作再退出。只有加-9才是强杀程序没有任何机会保存状态。解决先ps或top找到目标进程的 PID再动手。# 看看当前有哪些进程在跑-u 加用户名可以只筛自己的 ps -u # 想按名字找grep 过一道注意别把自己这条 grep 也算进去 ps -ef | grep 程序名 # 温和地结束 PID 为 1234 的进程默认信号留时间收尾 kill 1234 # 实在不动了再上强杀-9 是最后手段不是首选 kill -9 1234top是另一个常用工具它会每隔几秒刷新一次能看到 CPU 和内存的实时占用。在top界面里按 q 退出别按 CtrlC虽然也能退但 q 更干净。关机这件事同理。shutdown和reboot都不是随便敲的尤其在有别人在用的机器上。原手册里提到shutdown -t是延时关机-r是关机后重启这些参数的意义在于给系统和别人留出缓冲时间。在自己练习用的机器上随手关没事但在共享环境里提前打招呼比什么参数都重要。这类踩坑的共同点是命令本身没写错错在对它需要什么参数、会产生什么后果没概念。养成一个习惯就行——凡是会中断服务、删除数据、影响别人的命令敲之前先停三秒问一句这个参数我确认过吗。6. 下一步学什么从背命令到用 man 自己查答案入门阶段最怕的不是记不住而是不知道该先记哪个。我给一条三步走的路径按顺序来不容易迷路阶段重点代表命令判断学会的标准第一周找路、搬东西、看内容pwdlscdcpmvrmcatgrepheadtail不看笔记能完成一次完整的目录整理第二周压缩打包、看磁盘、看进程targzipdfdupstopkill能把一个目录打包发给别人能找出占空间的目录第三周起查手册、找文件、权限manwhatiswhichfindlocatechmod遇到不认识的命令第一反应是查而不是搜走完三步你手上已经有一副能用的工具了。但真正拉开差距的是从背命令切换到查命令这个动作。原手册最后一章讲的man就是这件事的入口。# 查 ls 的完整说明书 man ls # 只看一句话简介比翻手册快 whatis ls # 查这个命令装在哪个路径 which ls # 在手册页里搜索关键词比如搜 recursive # 进入 man 之后按 / 输入关键词回车跳转按 n 跳到下一个匹配man界面里最该记的键就四个空格往下翻页b往回翻/关键词搜索q退出。这四个键会了man就不再是天书而是一个随叫随到的老师。学会查手册以后你会发现根本不需要背那么多命令忘了一个参数man一翻就有比翻收藏夹快得多。再往后是find和locate这两个是忘了文件放哪时的救命稻草。find是实时遍历查找慢但准locate查的是预建好的索引库快但可能查不到刚建的文件需要先updatedb更新一次。知道这个差别你就不会在明明刚建的文件却搜不到时怀疑人生。我自己有个习惯一直保持到现在每次学到一个新命令不追求一次记全只做两件事——敲三遍手熟的用法然后在man里翻一遍选项列表看一眼有没有更合适的参数。这个动作花不了两分钟但攒上几个月脑子里的工具箱会明显不一样。当初我就是因为懒得翻man硬用rm -r去删一个只需要删空的目录多删了两层不该动的东西从那以后我每次删目录前都强制走一遍ls确认再加上-i慢一点但没再翻过车。这份《最全 Linux 常用命令大全》的好处在于它把命令按用途分成了十类你可以对着自己卡住的地方直接翻对应的那一章不用从头读到尾。下载一份放手边遇到记不住的翻一下比硬背划算得多。希望它也能帮你顺利迈出第一步。本文还有配套的精品资源点击获取