Linux 系统用久了你会发现真正每天敲进终端里的命令来来去去就那么几十条。网上的命令大全动辄几百条又是表格又是参数看着很全但真到用的时候反而翻不到想要的那一条。这份手册是我整理给自己团队新人看的也分享给刚接触 Linux 的朋友。我不会把每个命令的所有参数都列出来只挑那些“日常真的会用、面试真的会问、出了问题真的能救命”的用法每一个都附带我实际使用时的习惯和踩过的坑。这份手册覆盖了文件操作、内容查看、权限管理、进程控制、磁盘网络、压缩解压、软件安装和系统排查等常见场景。适合刚装了虚拟机想系统学一遍的新手也适合用了一段时间但总觉得命令记不全的运维入门者。看完之后不用背把它当字典查但重点命令我会标注清楚哪些是高频中的高频。1. 文件与目录操作每天敲得最多的命令文件操作是 Linux 的基石这部分命令如果还不熟其他都先放一放。我见过不少新手在 Windows 里习惯了鼠标拖拽到了 Linux 终端里连自己身在哪个目录都搞不清。所以这一章先解决“我在哪、这里有什么、怎么去别处”这三个基本问题。1.1 目录切换与文件查看pwd、ls、cdpwd这个命令全称是 print working directory就是打印当前工作目录。我一般搭配pwd ls一起用先看自己在哪再看当前目录下有什么。刚上手的时候我建议每敲两三个命令就执行一次 pwd不然很容易在目录树里迷路。ls是 list 的缩写列出目录内容。说实话我刚学的时候只知道ls后来发现不带参数的 ls 根本不够用因为很多隐藏文件、权限信息都不显示。我现在基本固定用这几个组合ls -l显示详细信息包括权限、属主、文件大小、修改时间ls -a显示所有文件包括以点开头的隐藏文件ls -lh这个最重要-h 参数会把文件大小显示成人类可读的格式比如 4.0K、12M而不是 4096、12582912 这种原始字节数ls -lt按修改时间倒序排列最新改动的文件排在最上面排查问题的时候很好用cd是 change directory切换目录。这里有几个容易忽略的细节cd不带任何参数直接回车会回到当前用户的家目录cd -会切换到上一次所在的目录这个在两边来回操作文件时特别方便cd ..返回上一级目录。新手最容易犯的错是把cd和C:这种 Windows 盘符概念搞混Linux 下路径都是从根目录/开始的绝对路径比如/etc/nginx/nginx.conf相对路径比如../html/index.html。注意ls搭配通配符使用效率翻倍。比如ls *.conf列出所有以 .conf 结尾的文件ls file[0-9]匹配 file0 到 file9。这些技巧在日常工作中比记住命令的冷门参数更实用。1.2 创建、删除与复制mkdir、rm、cpmkdir创建目录我常用的参数是mkdir -p。这个 -p 的意思是 parents当目标目录的上级目录不存在时自动创建。比如mkdir -p /tmp/test/sub/dir一个命令就把三级目录全建出来了不会报错。不加 -p 的话如果中间目录不存在系统会提示 No such file or directory。这个参数在写自动化脚本时几乎是必用的。rm删除文件或目录这是 Linux 里最需要敬畏的命令之一。不夸张地说每个运维人都听过 rm 删库的传奇故事。删除单个文件用rm 文件名删除目录需要加 -rrecursive递归参数。我建议新手养成两个习惯一是尽量用rm -i删除前会逐个确认二是执行批量删除之前先用ls把要删的内容列一遍确认无误再动手。cp复制文件或目录。基础用法是cp 源文件 目标位置。复制整个目录要加 -r 参数比如cp -r /etc/nginx/ /backup/nginx_bak/。另外两个参数我也经常用cp -p保留文件的权限、时间戳等属性备份配置文件时加这个参数可以保留原始属性cp -a等于 -dpR 的组合归档模式几乎保留所有属性做环境迁移时用它最稳。我再补充一个mv命令虽然它中文名叫移动但实际用途更多是重命名。文件在同一个目录下 mv 就是改名跨目录才是移动。重要文件做修改前我习惯先cp一份带时间戳的备份再开始动手改改崩了直接 mv 回来的恢复成本是最低的。2. 文件内容查看与处理不打开编辑器也能操作文件很多刚接触 Linux 的朋友会有个疑惑不行打开 vi 或者 vim 看文件吗确实可以但生产环境里几百兆的日志文件你用 vi 打开机器直接卡住不动。而且很多时候你只是想知道文件里有没有某个关键词、看了前几行就够完全没必要进入编辑器。这一章的命令就是解决这些场景的。2.1 高效预览工具cat、less、head、tailcat这个命令最简单直接把整个文件内容输出到屏幕上。它实际是 concatenate 的缩写本来用途是连接文件比如cat a.txt b.txt c.txt把两个文件拼起来。但日常大家主要用它查看短文件内容。我不建议用 cat 查看大文件比如几个 G 的日志屏幕会瞬间刷满看不出内容还会把终端卡死。查看小文件没问题文件超过几十行就别用 cat 了。less是分页查看文件的工具也是我看日志的主力命令。打开文件后按空格向下翻页按 b 向上翻页按/输入关键词直接搜索按 q 退出。它不加载整个文件到内存所以文件再大也不怕。这个工具还有个隐藏技巧在 less 里按大写 G 直接跳到文件末尾按小写 g 回到文件开头排查日志时这两个快捷键效率极高。head查看文件开头默认显示前10行。head -n 30 文件名显示前30行或者直接head -30 文件名也可以。tail查看文件末尾默认显示最后10行。tail -f 文件名会持续跟踪文件变化实时刷新输出这个是我排查运行日志时最常用的命令服务一启动就挂着 tail 看输出哪里报错第一时间就能看到。tail -f按 CtrlC 退出不会影响原文件。提示查看多份日志时用tail -f配合grep过滤关键词比如tail -f app.log | grep ERROR只把错误信息显示出来避免被无关信息淹没。2.2 文本处理三剑客grep、sed、awkgrep是搜索文本内容的核心命令。基础用法是grep 关键词 文件名列出含关键词的行。我常用的参数有grep -i忽略大小写grep -n显示行号grep -v反向匹配也就是输出不包含关键词的行grep -r递归搜索目录下所有文件。排查日志的经典场景是这样先grep ERROR app.log找出错误行的行号然后sed -n 120,150p app.log把这个区间的内容打印出来看上下文。两者配合定位问题非常快。sed是流编辑器按行处理文本。新手最容易上手的用法是替换文本sed s/旧内容/新内容/g 文件名。不加 -i 参数时它只把替换后的结果输出到屏幕不会修改原文件加上-i才会真正写入文件。我建议新手先别加 -i输出确认无误后再正式执行避免替换错了没法回退。打印指定行区间用sed -n 10,20p 文件名删除指定行用sed 10,20d 文件名。awk是文本分析工具擅长按列处理数据。最常见的用法是awk {print $1} 文件名打印每行的第一列。默认按空格或制表符切分列$0 表示整行$1、$2、$3 分别表示第1、2、3列。配合 -F 指定分隔符比如处理 /etc/passwd 这种冒号分隔的文件awk -F: {print $1} /etc/passwd直接提取用户名列表。这个工具的完整语法是一门编程语言但日常用最基础的打印列和统计功能就够解决绝大多数场景。我多说一句这三个命令单独用各有特长配合用威力大增。比如查询某个端口被哪个进程占用netstat -tlnp | grep 8080统计日志里某个关键词出现的次数grep ERROR app.log | wc -l。管道符|把前一个命令的输出作为后一个命令的输入这个思路是 Linux 命令组合的灵魂。3. 权限与用户管理理解 Linux 安全的基础逻辑权限这部分内容很多新手学的时候觉得晦涩什么 755、644、r-xr--r--看着像乱码。但如果你部署过网站、搭过服务器就明白了权限问题能让你怀疑人生。一个常见场景你上传了网站代码结果浏览器访问时报 403 Forbidden大概率就是文件属主和权限不对。这一章我会把权限模型讲到能直接用起来为止。3.1 权限的基础概念与 chmod 操作Linux 下每个文件都有三组权限属主user、属组group、其他用户other。每组权限用三个字符表示r读、w写、x执行。ls -l查看文件时第一列比如-rwxr-xr--就代表了这些权限。开头的-表示这是普通文件如果是d则代表目录。后面九个字符每三个一组依次是属主权限、属组权限、其他人权限。修改权限用chmod命令。有两种表示方式一种是符号方式chmod ux 文件名给属主加执行权限chmod o-w 文件名移除其他人的写权限。另一种是数字方式每个权限对应一个数字r4w2x1。所以chmod 755 文件名的含义是属主拥有 4217 即全部权限属组拥有 415 即读加执行其他人也是 5。这是运行脚本最常用的权限。chmod 644是属主可以读写、其他人只能读普通文件最常用的权限。目录的权限跟文件略有不同目录的执行权限表示能否进入这个目录读权限表示能否列出目录内容写权限表示能否在目录里创建或删除文件。新手最容易踩的坑是给了文件 777 权限虽然所有问题都消失了但安全风险极大公司线上环境一般会禁止这种做法。合理做法是给到最小必要权限比如网站静态文件 644、可执行程序 755。3.2 用户与用户组管理useradd、passwd、chownuseradd创建新用户。基础用法useradd 用户名但我更推荐useradd -m -s /bin/bash 用户名-m 参数自动创建家目录-s 指定用户的登录 shell。不加 -m 创建的用户没有 /home/username 目录后期会引发很多环境配置问题。passwd设置或修改密码root 用户可以给任何用户重置密码passwd 用户名普通用户执行passwd不带参数是修改自己的密码。usermod修改用户属性。把用户加入 sudo 权限组用usermod -aG sudo 用户名Ubuntu/Debian 系或usermod -aG wheel 用户名CentOS/RHEL 系。-aG 的意思是追加到指定组不加 -a 的话会覆盖用户原来的主组这点要注意。userdel删除用户加 -r 参数会同时删除他的家目录和邮件池userdel -r 用户名。chown修改文件属主和属组。chown 用户名 文件名修改属主chown 用户名:组名 文件名同时修改属主和属组chown -R 用户名:组名 目录递归修改整个目录。上传网站代码后执行chown -R www-data:www-data /var/www/html这种操作基本是部署流程里固定的一步。我突然想起来有时改完权限文件还是访问不了可以检查一下父目录的权限因为进入子目录需要父目录有执行权限。注意普通用户只能修改自己拥有文件的权限root 用户不受限制。遇到 Permission denied 错误时先ls -l看属主属组再用 chown 和 chmod 对号修。4. 进程与性能排查服务卡了怎么查、怎么杀进程管理是 Linux 运维的分水岭。新手和熟练工的区别很大程度就在这里。同样是服务卡住了有人直接重启大法有人先查负载、再看进程、定位到具体线程然后精准处理。这一章的内容会帮你从不假思索地重启进阶到有条理地排查。4.1 进程查看与终止ps、top、killps查看进程快照。基础用法ps auxa 显示当前终端下的所有进程包括其他用户的u 显示进程的属主和 CPU/内存占用x 显示没有终端控制的进程比如后台守护进程。还有个用法是ps -ef输出格式与 aux 略有不同配合 grep 查特定进程是经典操作ps aux | grep nginx。第二列出现的 PID 就是进程号后面 kill 的时候要用。top实时查看系统资源占用相当于任务管理器。进入界面后能看到 CPU、内存、负载的实时数据以及占用资源最多的进程列表。最常用的交互键按 P 按 CPU 占用排序按 M 按内存占用排序按 q 退出。如果系统突然卡顿第一步我会执行 top看看是哪个进程把 CPU 打满了而不是盲目重启所有服务。kill终止进程按 PID 发送信号。最常用的信号是kill -9 PID强制杀死进程这个命令需要用对场合。kill 不带参数默认发送 TERM 信号相当于礼貌地请求进程结束给它时间清理资源。如果进程不响应才轮得到 kill -9 强制终结。有人图省事上来就 -9很容易导致一些程序数据损坏或残留临时文件。批量结束同名的进程可以配合 pkillpkill -9 java按进程名模糊匹配。4.2 端口、服务与系统负载排查netstat查看网络连接、端口监听情况。经典用法netstat -tlnp列出所有监听中的 TCP 端口及其对应进程-t 显示 TCP-l 显示监听状态-n 不做域名解析直接显示数字地址和端口-p 显示进程 PID 和名称。部署服务后启动失败第一个排查动作就是netstat -tlnp | grep 你要用的端口看看端口是否被占用。新装系统里没有 netstat 的话可以用ss -tlnp语法基本一致输出也类似。systemctl是管理系统服务的命令CentOS 7 和 Ubuntu 16.04 都在用。它的常用操作可以总结为下面这张表操作命令说明启动服务systemctl start 服务名立即启动停止服务systemctl stop 服务名立即停止重启服务systemctl restart 服务名停止再启动开机自启systemctl enable 服务名加入开机启动项关闭自启systemctl disable 服务名移除开机启动项查看状态systemctl status 服务名详细信息带最近日志排查系统负载时单纯看 CPU 占用可能不够。uptime命令显示系统运行时间和平均负载负载值三个数字分别代表过去1、5、15分钟的平均活跃进程数。如果三者都在上升说明系统压力在加大如果1分钟的值远大于15分钟的值说明是短时冲击。结合free -h看内存使用情况df -h看磁盘使用率基本能满足日常排查需求。5. 磁盘、压缩与软件安装把文件管理和环境搭起来到了这一章你已经可以完成日常的导航、查看、权限管理了。接下来要解决的是两个实用问题怎么把文件从一台机器传到另一台怎么给一个目录打包归档。再加上软件安装基本上一个能跑通的实际项目环境需要的操作就凑齐了。5.1 磁盘使用率与文件大小排查df、dudf查看文件系统的磁盘空间使用情况。df -h以人类可读的方式显示每个挂载点的总容量、已用、可用、使用率、挂载点。系统磁盘快满的时候就用这个命令快速定位是哪个分区告急。需要提醒的是df 查看的是文件系统级别不是具体哪个目录所以定位到分区之后还要靠 du 找具体的“大胃王”目录。du查看目录或文件的磁盘占用。du -sh 目录名显示该目录总共占多大-s 是 summarize 总结-h 人类可读。排查磁盘空间时从根目录开始一层层往下查du -sh /然后cd 到占用最大的目录再du -sh *看每个子目录大小。这样可以快速定位到哪个目录堆了日志、哪个目录缓存太多。有个参数du --max-depth1 -h可以一步列出所有一级子目录的占用大小不用反复 cd。排查完磁盘顺手提一下find命令它在查找文件时作用很大。find /etc -name *.conf在 /etc 下找所有 .conf 结尾的文件find /var/log -size 100M找出大于 100M 的日志文件find /tmp -type f -mtime 7找出 7 天前修改过的文件配合批量清理旧日志比较实用。5.2 压缩打包tar 的真实用法Linux 下压缩和解压绕不开tar。tar 本身的含义是 tape archive磁带归档本来只是打包不分卷不负责压缩。现在配合 gzip 或 bzip2 就形成了最常见的用法。打包加压缩tar -czvf 名称.tar.gz 目标目录打包并 gzip 压缩tar -cjvf 名称.tar.bz2 目标目录打包并 bzip2 压缩压缩比更高但更慢解压tar -xzvf 名称.tar.gz解压 gzip 压缩的包tar -xjvf 名称.tar.bz2解压 bzip2 压缩的包参数拆解c 创建归档x 解压归档z 用 gzip 处理j 用 bzip2 处理v 显示详细过程可不加f 指定归档文件名。建议新手把-czvf和-xzvf这两组参数固定记住能解决 90% 的日常需求。解压的时候加-C 目标目录可以指定解压到哪个目录tar -xzvf app.tar.gz -C /opt/app不加的话默认解压到当前目录。压缩包里文件解压后乱码的问题在标题的热搜词里也出现了。这是因为压缩包里的文件名是 GBK 编码而现代 Linux 默认用 UTF-8。可以用unzip -O GBK 文件名.zip指定编码解压或者用convmv -f GBK -t UTF-8 --notest 目标文件把文件名转成 UTF-8。这个问题在接收 Windows 传过来的压缩包时经常会遇到。5.3 软件包管理apt 与 yum 对照Linux 发行版主要分两大派系Debian 系Ubuntu 等用 aptRed Hat 系CentOS、Fedora 等用 yum。命令逻辑非常相似。更新软件源后安装软件apt 系用apt update先更新索引然后apt install 软件名yum 系对应的就是yum makecache然后再yum install 软件名。卸载软件apt remove 软件名/yum remove 软件名。搜索软件包apt search 关键词/yum search 关键词。查看已安装的软件apt list --installed/yum list installed。重点说一下apt update 和 apt upgrade 的区别——这个很多新手搞混。update 只是从软件源同步软件列表索引相当于告诉系统“现在有哪些软件的最新版本可以装”不升级任何软件upgrade 才是真正执行升级。所以安全的顺序是 update 再 upgrade先刷新索引再升级软件。生产服务器上我不建议贸然执行 upgrade因为可能会把正在运行的软件升到不兼容的版本引起连锁问题。提示在 Ubuntu 上安装固定软件时可以提前搜一下包名apt search nginx会同时显示 nginx 和 nginx-core、nginx-common 等关联包。很多时候你需要的其实是一个子包。6. 系统信息与日志查看出了问题怎么快速定位系统有问题了很多新手第一反应是到处乱翻跟无头苍蝇一样。其实排查系统问题是有基本路径的确认硬件资源是否够用看系统日志有没有报错查服务状态是否正常。这一章我把这套排查思路对应的命令整理出来形成一个可以照着做的“排查清单”。6.1 系统版本与硬件信息uname、lscpu、freeuname查看系统内核信息。uname -a显示完整信息包括内核版本、主机名、硬件架构。安装软件时经常会遇到需要判断系统是 x86_64 还是 aarch64 架构的情况uname -m直接输出结果x86_64 代表 64 位 Intel/AMD 架构aarch64 代表 ARM 架构。还要判断系统发行版版本时各系用自己的命令Ubuntu 用lsb_release -aCentOS 用cat /etc/redhat-release。lscpu查看 CPU 详细信息包括核数、型号、频率。部署服务时判断 CPU 核数很关键因为很多并发参数的默认值跟核数相关。如果你不确定服务器几核lscpu | grep CPU(s)一行命令直接查到。free -h查看内存和交换分区使用情况。注意这里有个容易忽略的地方free 输出里的 available 列才是真正可用的内存而 free 列只是完全空闲的部分因为 Linux 会把空闲内存用作缓存实际可用要比 free 大很多。uptime前面提过查看系统运行时间和平均负载。服务器连不上了可以跟who配合使用who查看当前登录系统的用户及其登录时间判断是不是有异常登录。查完这些基本信息一个系统是否有资源瓶颈就能有个大致判断。6.2 日志查看journalctl 和 dmesgjournalctl是 systemd 体系的中央日志查看工具。最常见的用法是journalctl -u 服务名查看特定服务的日志。还有几个实用参数journalctl -u 服务名 -f实时跟踪日志输出journalctl -u 服务名 --since 1 hour ago只看最近一小时的日志journalctl -u 服务名 -n 100查看最后100行。日志量大的时候加上 --since 和 -n 组合可以大幅减少排查的噪音。dmesg查看内核环形缓冲区消息主要记录硬件和驱动相关的输出。硬件设备识别失败、USB 设备拔出、磁盘报错等都会在这里看到记录。排查硬件相关问题dmesg | tail -50查看最新的内核日志是我常用的排查手段。系统日志和内核日志的区别简单理解journalctl 记录的是用户态服务和应用层的日志dmesg 记录的是内核态的硬件和驱动信息。两个配合起来才能构成完整的排查视图。如果发现问题直接定位到某个服务崩溃还可以同时查看/var/log/目录下各应用自己的日志文件。比如 Nginx 的/var/log/nginx/error.log、MySQL 的/var/log/mysql/error.log。固定服务的日志路径排查效率比盲目翻中央日志高得多。7. 网络操作与远程管理连接和传输是日常刚需涉及两台以上机器的操作就绕不开网络命令了。配置 IP、测试连通性、传输文件这些操作我几乎每天都会用到。很多新手卡在这一步是因为不懂“命令本身很简单关键在于参数组合”。7.1 网络测试与端口连通性ping、telnet、curlping测试目标主机是否可达。ping 域名或IPLinux 下默认持续发送数据包直到按 CtrlC 结束加-c 4指定发送 4 个包后自动停止。ping 通只能说明网络层是通的也就是 IP 层面能互相访问但应用层的服务是否正常需要进一步测试端口。这时候用telnet 目标IP 端口比如telnet 192.168.1.10 22— 如果端口开放会显示连接成功如果端口不通会一直卡住或者提示 Connection refused。测试完按 Ctrl] 再输入 quit 退出。curl是测试 HTTP/HTTPS 接口的神器。curl https://example.com直接输出响应内容curl -I https://example.com只显示响应头信息查看 HTTP 状态码和服务器类型。排查接口超时或返回异常我常用curl -v https://example.com/api/test-v 输出详细交互过程包括 DNS 解析、TCP 握手、TLS 握手、请求头响应头的完整链路。另外curl -X POST -H Content-Type: application/json -d {key:value} https://example.com/api是测试 POST 接口的常见组合。wget下载文件日常用途是拉取远程文件到本地服务器。wget https://example.com/file.tar.gz会下载到当前目录加-O 目标文件名重命名。断点续传用-c参数下载大型安装包到一半断了接着下载不用从头开始。7.2 远程连接与文件传输ssh、scpssh远程登录服务器是管理和运维的基础。ssh 用户名IP地址回车后输入密码登录默认端口是22。如果服务端改了端口用-p参数指定ssh -p 2222 用户名IP地址。我建议新手尽早配置 SSH 密钥登录用ssh-keygen生成密钥对然后ssh-copy-id 用户名IP地址把公钥推到服务器上。之后就免密登录了既安全又方便。scp基于 SSH 协议安全复制文件。上传本地文件到服务器scp 本地文件 用户名IP地址:目标路径比如scp ./app.tar.gz root192.168.1.10:/opt/。下载服务器文件到本地scp 用户名IP地址:远程文件路径 本地目录比如scp root192.168.1.10:/var/log/nginx/error.log ./。复制整个目录加-r参数。传输大文件或目录时也可以用rsync它支持增量传输和断点续传性能比 scp 更好但基础的 scp 已经完全够用了。注意修改服务器上的网络配置文件时要尤其谨慎特别是远程操作的时候。改错 IP 或 DNS 配置可能导致 SSH 连接断开而你又不能到机房现场操作那就只能靠重启或者带外管理来恢复了。修改之前一定先备份原配置。8. 高频综合场景把命令串起来解决实际问题到这一章单个命令讲得差不多了。但实际工作中你遇到的往往不是“这个命令怎么用”而是“这个问题怎么处理”。我挑几个最常见的场景把前面讲过的命令串起来演示完整的解决思路。这样比单纯背命令有用得多。8.1 场景一服务器磁盘接近爆满假设收到告警根分区使用率超过90%。我的排查路径是这样的df -h # 第一步确认哪个分区告急看 Use% 列 du --max-depth1 -h / # 第二步从根目录开始查找出占用最大的目录 du -sh /var/log/* # 第三步如果占用集中在 /var/log进一步看哪个日志文件大 ls -lh /var/log/*.log # 第四步确认大文件归属哪个服务 find /var/log -mtime 7 -name *.log -exec ls -lh {} \; # 第五步找出7天前的旧日志确认是旧日志之后用日志轮转工具 logrotate 做定期清理而不是手动删。如果没有配置轮转临时处理可以先清空而不删除文件 /var/log/xxx.log这样服务持有的文件句柄不会失效不需要重启服务。直接rm删除正在被占用的日志文件磁盘空间不会立即释放因为进程还打开着这个文件。8.2 场景二某个服务突然挂了排查服务挂掉的顺序先是看进程在不在然后看系统资源够不够最后看日志报什么错systemctl status nginx # 第一步服务当前状态显示是否 active (running) 或 failed ps aux | grep nginx # 第二步确认进程是否还在 netstat -tlnp | grep 80 # 第三步确认端口是否还在监听 free -h # 第四步看内存是否被耗尽排查 OOM 嫌疑 dmesg | tail -20 # 第五步如果怀疑内存溢出看内核日志有没有 OOM kill 记录 journalctl -u nginx --since 1 hour ago -n 50 # 第六步查看服务最近一小时的日志服务重启后频繁挂掉的话先别急着反复重启按照这个流程把信息收集齐再定位根因。重启只是临时恢复找到原因才能彻底解决。8.3 一些提升效率的终端习惯最后分享几个能明显提升效率的终端习惯不是具体命令但用起来比记命令更有价值。Tab 自动补全输入命令或路径时按 Tab 键自动补全不记得文件全名的时候按两下 Tab 会列出所有匹配项。这个习惯能极大降低拼写错误率。history 历史命令按键盘上键可以翻历史命令history命令查看完整列表。CtrlR反向搜索历史命令特别实用输入几个关键词能直接搜到以前敲过的长命令。alias 别名把长命令存成短别名比如alias llls -alh之后敲 ll 就等于执行 ls -alh。写进~/.bashrc文件可以永久生效。每个人的使用习惯不同积累自己的 alias 列表是终端效率提升最快的方式。CtrlL 清屏不用敲 clear直接 CtrlL 就能把屏幕清干净。我自己这些年用 Linux最深的感受是不需要一开始就把所有命令都背下来先掌握最核心的二三十个在真实需求驱动下逐步扩展。遇到不会的就查手册查完用一两次就自然记住了。这份手册里的内容覆盖了从零开始使用 Linux 系统的绝大部分高频场景。你可以把它存到本地当速查表用也可以只看感兴趣的章节。我写这份东西的初衷就是希望有更多人能跨过“记不住命令”这道坎真正享受终端操作带来的效率提升。