Linux命令速查手册:从基础操作到实战避坑指南
简介:面向Linux初学者与运维入门者的命令速查手册,聚焦日常系统管理与文件操作场景,帮助读者摆脱对图形界面的依赖、建立命令行操作的基本功。资源为单个PDF文档,压缩包约130KB,篇幅精炼、便于随查随用,适合作为桌面参考或入门阶段系统梳理知识点的辅助材料。内容按功能模块组织,涵盖管理文件与目录、磁盘空间查看、文件备份与压缩、用户与权限设置、线上查询、文件阅读、网络操作、文件定位查找等十余类命令,并对pwd、cd、ls、cp、mv、rm、mount、df、du、fsck等常用命令的选项含义与典型用法逐条说明,配合示例帮助理解参数差异。已有5598人学习下载,可作为课堂笔记之外的补充速查表,帮助读者在实操中快速定位命令、减少翻查手册的时间成本。
1. 从一份命令速查 PDF 说起:为什么老手还在翻它
刚接手一台陌生服务器,df -h一看根分区快满了,du -sh *逐层往下钻,最后揪出一个几百兆的日志目录——这套动作我做过不下百次,但每次卡在某个冷门参数上时,还是会去翻一份命令速查表。这份《最全Linux常用命令大全.pdf》就是干这个的:它把管理文件和目录、磁盘空间、备份压缩、关机与系统信息、用户与权限、线上查询、文件阅读、网络操作、定位查找、杂项这十类命令按功能归拢,每条给出标准用法、常用选项和一行能直接抄的例子。它不是教程,是一份可以放在手边随时查的速查手册,适合刚接触 Linux 需要建立命令地图的新手,也适合天天敲命令但偶尔记不住tar那串字母组合的老手。下面我按自己实际用它的顺序,把这份 PDF 拆开讲清楚怎么落地。
2. 文件与目录操作:把十个高频命令串成一条工作流
2.1 先建立路径感:pwd、cd、ls 三件套
任何一次操作前,先确认自己在哪。pwd打印当前工作目录,cd切换目录,ls看目录内容,这三个命令构成了所有后续操作的地基。PDF 里对cd的路径写法讲得很清楚:cd /到根目录,cd ~回用户主目录,cd /usr是绝对路径,cd test是相对路径。这个区分看着基础,但新手翻车最多的就是相对路径和绝对路径混用——在/home/user下敲cd /test和cd test结果完全不同,前者找根目录下的 test,后者找当前目录下的 test。
ls的选项是这份 PDF 里信息密度最高的部分之一。-a显示隐藏文件,-l显示权限、所有者、大小、时间等细节,-h把大小转成 K/M/G 可读格式,-R递归列出子目录,-s按大小排序。实际干活时我基本固定用ls -alh,一次看全。这里有个容易忽略的点:-f在 PDF 里写的是“列举的文件显示文件类型”,这个描述偏模糊,实际使用时它更多是关闭排序、按目录顺序直接输出,跟-l组合时行为会变,建议新手先别碰,用ls -l看类型那一列的首字符(d目录、-普通文件、l链接)更直观。
2.2 创建、复制、移动、删除:四个动作的选项差异
touch建空文件,cp复制,mv移动或重命名,rm删除,rmdir删空目录。这四个命令的选项设计思路一致但细节不同,PDF 里逐条列了-i、-r、-v、-f的含义,我按实际风险从高到低排一下。
rm是最危险的。-i交互确认,-f强制不提示,-r递归删目录。PDF 明确写了-f是“代替互动模式,不提示确认删除”,属于危险选项。我的习惯是永远不裸敲rm -rf,要么先ls确认目标,要么用rm -ri走一遍确认。cp和mv的-i是覆盖前提示,-v显示进度,-r只对cp有意义(复制整个目录树)。mv的-f同样危险,会跳过覆盖确认。
# 建一个工作目录,复制文件进去,再改名,最后确认 mkdir -p /tmp/work/demo touch /tmp/work/demo/a.txt cp -v /tmp/work/demo/a.txt /tmp/work/demo/b.txt # -v 显示复制过程 mv -v /tmp/work/demo/b.txt /tmp/work/demo/c.txt # 同目录内 mv 即重命名 ls -lh /tmp/work/demo上面这段的逻辑是:mkdir -p保证父目录不存在时一并创建,cp -v把复制动作打印出来便于确认,mv在同一目录内执行就是重命名。参数上-p是mkdir的,别和cp的-r搞混;-v在cp、mv、rm里都是“verbose 显示过程”,养成加-v的习惯能少很多“到底执行没执行”的疑惑。
2.3 查看与搜索:cat、grep、head、tail、less、more
cat显示整个文件内容,grep在文件里找字符串,head看开头默认 10 行,tail看结尾默认 10 行,less和more分页查看。PDF 里grep money test.txt这个例子点明了一个关键:默认区分大小写。实际排查日志时我常用grep -i忽略大小写,用grep -n显示行号,这两个选项 PDF 没展开但属于同一命令的常规用法。
tail -f是运维场景的高频动作,PDF 专门写了“使用-f选项,tail会自动实时地把打开文件中的新信息显示到屏幕上”,例子是tail -f /var/log/messages。这个-f就是跟踪文件追加内容,看日志滚动必备。head的数字选项写法 PDF 给的是head -20 文件名,注意这里-20是简写,等价于-n 20,不同发行版对简写的兼容性略有差异,写-n 20更稳。
less和more的区别 PDF 讲得干脆:less允许箭头前后移动,more用空格和b前后翻。实际用less更多,因为它支持/关键字搜索、q退出,读长日志比more顺手。管道组合ls -al /etc | more这种写法在 PDF 里也有,本质是把前一个命令的输出交给分页器,避免刷屏。
# 在日志里找错误并带行号,再实时跟踪新写入 grep -in "error" /var/log/app.log | head -n 20 tail -f /var/log/app.log第一行-i忽略大小写、-n显示行号,管道给head -n 20只取前 20 条命中,避免一次刷出几千行。第二行-f持续跟踪,按Ctrl+C退出。这里有个坑:tail -f跟的是文件描述符,如果日志被轮转(rename 后新建同名文件),老进程还盯着旧 inode,看不到新内容,这时要用tail -F(大写)按文件名重新打开,PDF 没提这个区别,但实际排障时经常遇到。
3. 磁盘、压缩与归档:df/du 定位空间,tar 打包三件套
3.1 df 与 du:一个看分区,一个看目录
df检查各分区和已挂载文件系统的磁盘空间,du显示文件目录占用大小。PDF 里df -a列出全部文件系统包括 0 区块的,df -h以可读单位显示,df -T显示文件系统类型。du的-h同样转可读单位,-s只列总和,-a连每个文件都列。
这两个命令的配合是排查磁盘满的标准动作:先df -h看哪个分区满了,再进到那个挂载点用du -sh *逐层往下找大目录。du -sh *里的-s是汇总、-h可读、*展开当前目录下所有条目,输出按大小排序需要再接sort -rh。PDF 没写排序组合,但这是实际使用中几乎必加的一步。
# 定位根分区下占用最大的前 10 个目录 df -h du -sh /* 2>/dev/null | sort -rh | head -n 102>/dev/null把du遇到无权限目录时的报错丢掉,sort -rh按人类可读单位逆序排,head -n 10取前十。参数上-r是 reverse、-h是 human-readable,这两个组合在sort里专门用来处理带 K/M/G 后缀的数值,不加-h会按字符串排,9K会排在10M后面,结果完全错。
3.2 压缩工具选型:gzip、bzip2、zip 怎么挑
PDF 给了三个压缩工具:gzip产.gz,bzip2产.bz2且压缩率最高,zip兼容性好 Windows 也认。选型上我的经验是:纯 Linux 环境内部传输用gzip图快,追求极限压缩率用bzip2,需要发给非 Linux 用户或跨平台交换用zip。bzip2压缩率高但速度慢,大文件压缩时 CPU 占用明显,这是它的代价。
三个工具的用法结构一致:压缩工具名 文件名,解压工具名 -d 文件名或对应的gunzip/bunzip2。PDF 里bunzip2 filename.bz2会删除原压缩包并以filename代替,gunzip同理。这个“解压后删原包”的行为要留意,如果压缩包还要留着,先cp一份或用-k(keep)选项,不过-k在部分老版本gzip上不支持,稳妥做法是先复制。
3.3 tar 的字母组合:-czvf 与 -xjvf 拆开记
tar是这份 PDF 里选项最密集的命令,也是新手最容易背串的。核心字母:-c创建归档,-x抽取,-t列出内容,-f指定文件名(必须紧跟归档名),-v显示进度,-z走 gzip,-j走 bzip2。PDF 给的例子很全:tar -cvf filename.tar directory/file打包不压缩,tar -czvf filename.tgz file打包加 gzip,tar -cjvf filename.tbz file打包加 bzip2,解包对应-xzvf和-xjvf。
记忆方法是把-f当成“后面跟文件名”的开关,其余字母是动作和压缩方式。顺序上老版本tar要求-f放最后,新版本宽松些,但写成tar -czvf 包名 源最保险。这里有个血泪经验:-f后面必须紧跟归档文件名,如果写成tar -cfv name.tar dir,tar会把v当成文件名,创建出一个叫v的归档,源目录反而没打进去。PDF 的例子都是-f在字母串末尾,照着写就不会错。
# 打包并 gzip 压缩一个目录,再列出内容验证,最后解到指定目录 tar -czvf backup.tgz /tmp/work/demo tar -tzvf backup.tgz mkdir -p /tmp/restore && tar -xzvf backup.tgz -C /tmp/restore第一行-c创建、-zgzip、-v显示、-f指定backup.tgz。第二行-t只列出不解压,用来确认包内容对不对。第三行-x解压、-C指定解压目标目录,这个-C选项 PDF 没写但非常实用,避免解压文件散落在当前目录。参数说明:-C必须放在归档名之后,顺序错了会报错。
4. 进程、权限与用户:ps/top/kill 与 chmod 的数字权限
4.1 看进程:ps 选组合,top 看动态
ps查看当前进程快照,top动态刷新。PDF 里ps -l长格式、-u列用户和使用时间、-x列出所有程序包括无终端的。实际最常用的是ps aux或ps -ef,这两个组合 PDF 没直接给,但属于ps的标准用法:a显示所有终端进程,u以用户格式输出,x包含无终端进程。top按Ctrl+C退出,PDF 写的是按Ctrl+C,实际q也能退。
kill送信号给进程,PDF 强调“它的实际意义是送一个信号给这个正在执行的程序,叫它自杀”。常用信号:-9强制杀(KILL),-15默认终止(TERM),-1重载配置(HUP)。PDF 例子kill -9 323砍掉 pid 323,kill -HUP 456让 pid 456 重跑。这里的原则是先-15给进程机会清理,不行再-9,直接-9可能留下脏数据或锁文件。
# 找 java 进程,先温和终止,观察后再强杀 ps -ef | grep -i java | grep -v grep kill -15 <pid> sleep 3 && ps -p <pid> > /dev/null && kill -9 <pid>grep -v grep排除掉 grep 自身那条,避免误判。kill -15后等 3 秒,ps -p <pid>检查进程是否还在,在就-9。这个“先礼后兵”的流程能减少服务异常退出的概率,PDF 只给了-9的例子,实际生产环境不建议一上来就-9。
4.2 chmod 的两种写法:字母法与数字法
chmod改权限,PDF 把字母法讲透了:u所有者、g组、o其他人、a全部,+加、-减、=设为唯一,r读、w写、x执行。数字法4读、2写、1执行,三位分别对应所有者、组、其他人。PDF 给的等价例子chmod 751 filename等于chmod u+rwx,g=rx,o=x filename,这个对照很实用。
数字法的心算是:每位把需要的权限值相加,rwx=7,rw-=6,r-x=5,r--=4。所以755是所有者全权限、组和其他人读加执行,644是所有者读写、其他人只读。这里有个常见误用:chmod 777图省事全开,实际等于把文件交给任何人改,生产环境基本等于埋雷。PDF 没评价777,但作为从业者我建议默认644给文件、755给目录和可执行脚本,需要写权限的再单独加。
4.3 su 与 useradd:切换和建用户
su 用户名切换用户,不写用户名默认切 root,需要目标用户密码,exit退出。useradd 用户名建用户,只有 root 能执行。PDF 里su user02后系统提示password:,输入对应用户密码即可。这里有个细节:su只切换身份不加载目标用户的环境变量,要完整切换环境用su - 用户名(带横杠),这个区别在跑依赖环境变量的脚本时很关键,PDF 没展开但实际会踩。
5. 查找、网络与排错:find/locate 与 ping/netstat 的边界
5.1 find 与 locate:实时搜索和数据库搜索
find按条件实时遍历目录树,locate查预建索引数据库。PDF 给了find paths expression [action]的语法,常用条件-name按文件名、-path按路径、-lname按符号链接目标,动作-print输出、-exec执行命令。locate依赖updatedb更新的数据库,新建或改名的文件查不到,除非重建库。
选型上:找刚改过的文件用find,找系统里某个不常动的文件用locate更快。find的-exec是威力也是风险,find . -name "*.tmp" -exec rm {} \;这种写法一旦-name写宽了会误删,我的习惯是先-print确认列表,再把-print换成-exec。
# 先列出 7 天内修改过的日志文件,确认后再批量处理 find /var/log -name "*.log" -mtime -7 -print find /var/log -name "*.log" -mtime -7 -exec gzip {} \;-mtime -7表示 7 天内修改过,-print是默认动作但显式写出来便于确认。-exec ... {} \;里{}代表 find 找到的每个文件,\;是命令结束符,反斜杠转义分号防止被 shell 提前解析。参数上-mtime的正负号含义相反:-7是 7 天内,+7是 7 天前,写反了处理范围完全颠倒。
5.2 ping 与 netstat:连通性和连接状态
ping用 ICMP 测主机可达,PDF 给了-c次数、-i间隔、-s包大小、-tTTL 等选项,例子ping -c 5 -i 10 -s 504 -t 64 主机。实际排障最常用ping -c 4 目标,四次就够判断通不通,无限 ping 要手动Ctrl+C。netstat看网络连接,-tTCP、-uUDP、-n用 IP 代替名称、-l只列监听、-p显示进程。PDF 的选项表里-a出现两次(一次“全部列出”、一次“显示所有连线中的 Socket”),属于文档小瑕疵,实际-a就是全部连接。
netstat -tlnp是查端口占用的标准组合:tTCP、l监听、n数字、p进程。新系统上netstat可能被ss替代,ss -tlnp效果类似且更快,PDF 没提ss,但这是当前发行版的常见情况,遇到netstat: command not found时换ss即可。
5.3 避坑:五条实际踩过的记录
现象一:rm -rf删完发现路径多打了个空格。原因:rm -rf /tmp/work /demo中间多空格,/demo被当成第二个目标。解决:删除前先ls目标,或用rm -ri交互确认;脚本里删除变量务必加引号rm -rf "$DIR"。
现象二:tar -czvf打包后解压报“归档文件意外结束”。原因:打包时源目录正在被写入,或磁盘空间不足导致包不完整。解决:打包前确认磁盘余量df -h,对活跃目录先停写或快照;解压前用tar -tzvf验证完整性。
现象三:chmod -R 777后服务反而起不来。原因:SSH 对私钥权限敏感,777被视为不安全而拒绝加载;某些服务也校验配置文件权限。解决:私钥600、目录755、普通文件644,按最小权限给,别图省事全开。
现象四:tail -f看不到新日志。原因:日志被轮转,旧文件描述符还指着已改名的文件。解决:改用tail -F按文件名跟踪,或tail -f跟新文件路径。
现象五:find -exec批量操作误伤了不该动的文件。原因:-name通配写太宽,比如*.log把归档的.log.gz也匹配进去。解决:先-print跑一遍看清单,确认范围后再换-exec;必要时加-type f限定普通文件。
6. 把速查表变成肌肉记忆:我的验证习惯
这份 PDF 的价值不在读完,而在用的时候能三秒翻到。我的做法是把它按自己的高频场景重新标注:文件操作那几页折角,tar的字母组合抄在便签贴显示器边,chmod数字对照表存成手机截图。每次遇到不确定的参数,先翻 PDF 确认标准用法,再man 命令名看当前系统版本的完整选项——PDF 给的是通用骨架,man补的是本机细节,两者不冲突。
验证一个命令是否按预期执行,我固定走三步:先--help或man看选项拼写,再在/tmp下用假数据跑一遍,最后才上真实路径。/tmp是天然的沙盒,mkdir -p /tmp/sandbox && cd /tmp/sandbox之后随便折腾,删错了也不心疼。这个习惯帮我挡掉过好几次-f和-r位置写反的事故。
下面这张表是我从 PDF 里挑出的、最容易被记混的几组参数,贴在工位上比翻整本快:
| 命令 | 易混参数 | 正确含义 | 常见误用 |
|---|---|---|---|
| tar | -f位置 | 必须紧跟归档文件名 | -cfv name.tar把 v 当文件名 |
| find | -mtime -7 | 7 天内修改 | 写成+7变成 7 天前 |
| chmod | 755 | 所有者 rwx,其他 r-x | 图省事用777 |
| tail | -f/-F | 跟描述符 / 跟文件名 | 轮转后-f看不到新内容 |
| du | -sh * | 汇总当前目录各项 | 不加sort -rh顺序乱 |
从那以后我每次批量操作前都强制走一遍“/tmp沙盒预演 +-print确认清单 + 加引号”的流程,翻车次数肉眼可见地降下来。这份速查 PDF 我建议你下载后别只存着,挑三五个自己最常用的命令,照着上面的例子在/tmp里各跑一遍,跑通了再往真实环境用。希望帮到你。
本文还有配套的精品资源,点击获取