一、前言
很多人刚接触 Linux 时,都会被黑底白字的命令行劝退,觉得记命令又枯燥又容易出错。但实际上,日常工作中真正高频使用的核心命令并不多,掌握二三十个就能覆盖 90% 以上的基础操作场景。比起死记硬背参数,理解命令的作用逻辑、多动手实操,才是最高效的学习方式。
命令行之所以沿用几十年依然是主流,核心在于三点优势:一是效率高 ,熟练之后操作速度远快于鼠标点选,还能通过脚本实现批量自动化;二是通用性强 ,几乎所有 Linux 发行版(CentOS、Ubuntu、Debian 等)的基础命令完全一致,学会了就能通用;三是场景广,服务器运维、程序部署、渗透测试、嵌入式开发,几乎所有技术岗位都离不开 Linux 命令基础。
本文面向纯新手,从最基础的终端概念讲起,按使用频率排序讲解核心命令,每个命令都配实际操作例子,看完跟着敲一遍就能上手日常基础操作。
学习环境准备:VMware 虚拟机资源
正式开始学习命令操作之前,建议先搭建好专属的 Linux 练习环境。新手不建议直接在物理机上安装 Linux 系统,误操作很容易导致数据丢失或系统崩溃,使用虚拟机软件搭建练习环境是最稳妥、最方便的选择。
VMware Workstation 是目前应用最广泛的桌面虚拟机工具,对 Windows 平台兼容性极佳,支持快照备份、虚拟网络配置、多系统并行运行等实用功能,非常适合用来练习 Linux 命令。为了帮大家省去找资源的时间,我已经将 VMware17.5和注册吗整理在网盘中,下载后直接安装即可使用:
百度网盘链接:https://pan.baidu.com/s/18mBuJYf7_hDPv1KlXpe4nA?pwd=cukg 提取码:cukg
夸克网盘链接:https://pan.quark.cn/s/02b67a181579
二、前置基础认知
2.1 终端与 Shell
我们常说的「敲命令」的黑窗口,官方名称叫终端(Terminal) ;而真正解析命令、调用系统内核执行的程序,叫做 Shell。绝大多数 Linux 发行版默认的 Shell 都是 bash,现在也有不少发行版改用 zsh,基础命令语法完全兼容,新手不需要纠结差异。
打开终端后,会看到类似 root@localhost:~# 或者 user@localhost:~$ 的提示符,含义是:
-
@前面是当前登录的用户名,后面是主机名; -
:后面是当前所在的目录,~代表当前用户的家目录; -
末尾的
#代表当前是 root 超级管理员账号,$代表普通用户账号。
2.2 命令的基本格式
Linux 命令的通用格式是:
命令 [选项] [参数]
-
命令 :要执行的操作名称,比如
lscd,严格区分大小写,全部小写; -
选项 :用来调整命令的执行效果,通常以
-开头,比如ls -l里的-l;多个短选项可以合并写,比如ls -lh等价于ls -l -h; -
参数:命令操作的对象,比如文件、目录路径。
不是所有命令都必须有选项和参数,比如直接输入 pwd 就能执行;但多数命令需要配合参数指定操作对象。

2.3 两个救命的帮助命令
新手不用死记所有参数,忘记的时候直接查帮助即可:
1. --help 参数:快速查看命令的简要帮助
绝大多数命令都支持 --help 参数,它会直接输出该命令的简要用法说明和常用选项,适合快速回忆。
ls --help # 查看 ls 命令的简要帮助
cp --help # 查看 cp 命令的简要帮助
rm --help # 查看 rm 命令的简要帮助
2. man 命令:查看系统手册页(最完整的帮助文档)
man(manual 的缩写)是 Linux 内置的完整在线手册,包含了命令的详细说明、所有参数、示例、相关文件等,是学习命令最权威的资料。
man ls # 查看 ls 命令的完整手册
man cp # 查看 cp 命令的完整手册
man man # 查看 man 命令自己的手册(试试看!)
man 手册的内部操作:
| 按键 | 功能 |
|---|---|
空格 |
向下翻一页 |
b |
向上翻一页 |
回车 / ↓ |
向下滚动一行 |
/关键词 |
在手册中搜索关键词(如 /size) |
n |
跳到下一个匹配的搜索结果 |
N |
跳到上一个匹配的搜索结果 |
q |
退出 man 手册 |
三、核心常用命令分类详解
3.1 文件与目录操作类(最高频)
这部分是日常使用最多的命令,所有操作都围绕「查看、跳转、创建、删除、复制、移动」展开。
1. pwd:查看当前所在路径
作用:打印当前工作目录的绝对路径,不知道自己在哪个文件夹的时候敲一下。
pwd
# 输出示例:/home/user
2. cd:切换目录
作用:跳转到指定目录,是最基础的导航命令。 常用用法:
cd /home/user # 跳转到绝对路径 /home/user
cd documents # 跳转到当前目录下的 documents 文件夹(相对路径)
cd .. # 回到上一级目录
cd ~ # 回到当前用户的家目录
cd - # 回到上一次所在的目录,来回切换目录超好用
cd / # 跳转到系统根目录
3. ls:列出目录内容
作用:查看当前或指定目录下的文件和文件夹,相当于双击打开文件夹看内容。 常用选项:
-
-l:以详细列表形式显示,能看到权限、大小、修改时间等信息; -
-h:配合-l使用,把文件大小转换成 KB、MB 等人类易读的单位; -
-a:显示所有文件,包括隐藏文件(Linux 里以.开头的文件是隐藏文件); -
-t:按修改时间倒序排列,最新修改的排在最前面。
常用组合:
ls # 只显示文件名
ls -lh # 详细列表+人性化大小显示(最常用)
ls -a # 显示包括隐藏文件在内的所有文件
ls -lht # 按修改时间倒序显示详细列表
4. mkdir:创建目录
作用:新建文件夹。 常用选项:
-
-p:递归创建多级目录,创建嵌套文件夹时必须加。mkdir test # 在当前目录创建 test 文件夹
mkdir -p a/b/c # 递归创建 a/b/c 三级嵌套目录
mkdir dir1 dir2 dir3 # 同时创建多个目录
5. touch:创建空文件
作用:新建一个空白的普通文件,也可以用来更新文件的时间戳。
touch test.txt # 创建空文件 test.txt
touch a.txt b.txt # 同时创建多个文件
6. cp:复制文件或目录
作用:拷贝文件或文件夹到指定位置。 常用选项:
-
-r:递归复制目录,复制文件夹必须加这个选项; -
-i:覆盖文件前提示确认,避免误覆盖。cp test.txt /tmp/ # 把 test.txt 复制到 /tmp 目录下
cp test.txt /tmp/new.txt # 复制并重命名为 new.txt
cp -r dir1 /tmp/ # 把 dir1 整个文件夹复制到 /tmp
7. mv:移动 / 重命名文件
作用:移动文件到新位置,或者给文件重命名。
mv test.txt /tmp/ # 把 test.txt 移动到 /tmp 目录
mv old.txt new.txt # 把 old.txt 重命名为 new.txt
mv dir1 /tmp/ # 移动整个文件夹
8. rm:删除文件或目录
作用:删除文件或文件夹,这个命令要格外谨慎,Linux 没有回收站,删除后很难恢复。 常用选项:
-
-r:递归删除目录,删除文件夹必须加; -
-f:强制删除,不提示确认; -
-i:删除前逐个提示确认,新手建议养成加-i的习惯。
⚠️ 高危警告:绝对不要执行 rm -rf /,会清空整个系统根目录,直接毁掉系统。
rm test.txt # 删除单个文件
rm -i test.txt # 删除前询问确认
rm -r dir1 # 删除文件夹及其内部所有内容
rm -rf dir1 # 强制删除文件夹(慎用)
9. ln:创建链接
作用:创建软链接(类似 Windows 快捷方式)或硬链接,日常用软链接居多。 常用选项:
-
-s:创建软链接,不加则默认是硬链接。ln -s /home/user/test.txt /tmp/link.txt
在 /tmp 下创建 test.txt 的软链接 link.txt
3.2 文件查看与编辑类
日常查看日志、修改配置文件,都离不开这部分命令。
1. cat:查看小文件内容
作用:直接把文件全部内容打印到终端,适合查看行数少的文件。 常用选项:
-
-n:显示行号。cat test.txt # 查看 test.txt 全部内容
cat -n test.txt # 带行号显示内容

2. more /less:分页查看大文件
cat 看大文件会直接刷屏,看不清内容,这时候用分页查看命令。
-
more:只能向下翻页,按空格翻页,按回车换行,看完自动退出; -
less:比 more 更灵活,支持上下翻页、搜索,按q退出,是更常用的选择。more large.log # 分页查看大日志文件
less large.log # 更灵活的分页查看less 内部操作:空格下翻页,b上翻页,/关键词 搜索,q退出
3. head /tail:查看文件首尾
作用:只看文件的开头或结尾部分,最常用的场景是查看最新的日志内容。 常用选项:
-
-n:指定查看的行数,默认显示 10 行; -
-f:tail 专属,实时追踪文件新增内容,看运行中日志必备。head test.txt # 查看文件前10行
head -n 20 test.txt # 查看文件前20行
tail test.txt # 查看文件最后10行
tail -n 5 test.txt # 查看文件最后5行
tail -f run.log # 实时监控日志文件的新增内容,Ctrl+C 退出
4. vi /vim:文本编辑器
vim 是 Linux 下最主流的命令行编辑器,几乎所有发行版都自带,是必须掌握的技能。新手刚接触会觉得操作反直觉,记住三种模式切换就很容易上手。
三种核心模式:
-
普通模式:刚打开文件时的默认模式,只能移动光标、删除复制,不能输入文字;
-
插入模式 :可以编辑输入文字,按
i从普通模式进入,按Esc退回普通模式; -
命令行模式 :在普通模式按
:进入,用来执行保存、退出、搜索替换等命令。
最常用操作:
vim test.txt # 用 vim 打开文件,不存在则新建
打开后的基础操作流程:
-
按
i进入插入模式,开始编辑文字; -
编辑完成后,按
Esc退回普通模式; -
输入
:wq回车,保存并退出;输入:q!回车,不保存强制退出。
普通模式常用快捷键:
-
dd:删除整行;yy:复制整行;p:粘贴; -
/关键词:向下搜索内容;n跳到下一个匹配项; -
gg:跳到文件开头;G:跳到文件末尾。

3.3 用户与权限管理类
Linux 是多用户系统,权限管理是系统安全的核心,也是新手的重难点。
1. 用户相关命令
useradd testuser # 新建用户 testuser
passwd testuser # 给用户设置密码,执行后会提示输入两次密码
su testuser # 切换到 testuser 用户
su - # 切换到 root 用户(需要 root 密码)
sudo 命令 # 以 root 权限执行单条命令,适合普通用户临时提权
userdel -r testuser # 删除用户及其家目录
2. chmod:修改文件权限
Linux 里每个文件都有三组权限:所有者、所属组、其他用户,每组都有读 (r)、写 (w)、执行 (x) 三种权限。 常用的数字权限表示法:r=4,w=2,x=1,相加就是一组的权限值。
-
7 = 4+2+1 = rwx(读写执行)
-
6 = 4+2 = rw-(读写)
-
5 = 4+1 = r-x(读和执行)
-
4 = r--(只读)
最常用的权限设置:
chmod 755 test.sh # 所有者读写执行,其他用户读和执行(脚本常用)
chmod 644 test.txt # 所有者读写,其他用户只读(普通文件常用)
chmod +x test.sh # 给文件增加可执行权限,不用记数字也能用
chmod -R 755 dir/ # 递归修改整个文件夹内所有文件的权限
3. chown:修改文件所有者
作用:更改文件的所属用户和用户组。
chown user:group test.txt # 把 test.txt 的所有者改为 user,所属组改为 group
chown -R user dir/ # 递归修改整个目录的所有者
3.4 进程与系统管理类
查看系统状态、管理运行中的程序、排查资源占用,都靠这部分命令。
1. ps:查看进程快照
作用:查看当前系统中运行的进程列表,常用组合是 ps aux。
ps aux # 查看所有用户的全部进程详细信息
ps aux | grep nginx # 筛选查找 nginx 相关的进程
输出里重点看 PID(进程号)、% CPU、% MEM、COMMAND 这几列。
2. top:实时监控系统状态
作用:动态实时显示系统的 CPU、内存、进程占用情况,相当于任务管理器。
top
常用内部操作:按 P 按 CPU 使用率排序,按 M 按内存使用率排序,按 q 退出。
3. kill:终止进程
作用:通过进程号结束运行中的进程。 常用选项:
-
-9:强制终止,进程无法拒绝,杀不掉的进程用这个。kill 1234 # 正常结束 PID 为 1234 的进程
kill -9 1234 # 强制杀死进程
4. 内存与磁盘查看
free -h # 查看系统内存使用情况,h参数人性化显示单位
df -h # 查看磁盘分区使用情况,看各个盘还剩多少空间
du -sh 目录名 # 查看指定目录占用的总磁盘大小
du -sh * # 查看当前目录下每个文件/文件夹的大小
5. 系统开关机
reboot # 重启系统
shutdown now # 立即关机
shutdown -h 10 # 10分钟后关机
shutdown -c # 取消定时关机
3.5 网络与文件传输类
排查网络问题、下载文件、远程传输,都是高频场景。
1. ping:测试网络连通性
作用:测试本机到目标地址的网络是否通畅,丢包率、延迟多少。
ping baidu.com
# Ctrl+C 停止,否则会一直 ping
2. 查看网卡与 IP
ip addr # 查看所有网卡的IP地址(新命令,通用)
ifconfig # 老版本命令,部分系统需要安装 net-tools 包
3. 查看端口占用
作用:排查哪个程序占用了端口,是部署服务时的高频命令。
ss -tulnp # 查看所有正在监听的TCP/UDP端口及对应进程
netstat -tulnp # 传统命令,功能同上
ss -tulnp | grep 80 # 查找 80 端口被哪个进程占用
4. wget /curl:下载文件
wget https://example.com/file.zip # 下载网络文件到当前目录
curl -O https://example.com/file.zip # curl 方式下载文件
curl https://example.com # 直接获取网页内容输出到终端
5. scp:远程文件传输
作用:在两台 Linux 服务器之间安全地传输文件,基于 SSH 协议。
# 本地文件传到远程服务器
scp local_file root@192.168.1.100:/remote/path/
# 远程服务器文件下载到本地
scp root@192.168.1.100:/remote/file.txt ./
3.6 压缩与打包类
Linux 最常用的压缩包格式是 tar.gz 和 zip,掌握两个命令就够用。
1. tar:打包压缩
tar 本身只打包不压缩,配合选项才能实现压缩。 常用选项:
-
-c:创建打包文件; -
-x:解包; -
-z:用 gzip 格式压缩 / 解压; -
-v:显示过程; -
-f:指定文件名,必须放在最后。
万能组合:
tar -zcvf pack.tar.gz dir/ # 把 dir 文件夹打包并压缩为 pack.tar.gz
tar -zxvf pack.tar.gz # 解压 tar.gz 压缩包到当前目录
tar -zxvf pack.tar.gz -C /tmp # 解压到指定的 /tmp 目录
2. zip / unzip
处理 zip 格式的压缩包,和 Windows 通用。
zip -r pack.zip dir/ # 把 dir 文件夹压缩为 pack.zip
unzip pack.zip # 解压 zip 文件
unzip pack.zip -d /tmp # 解压到指定目录
四、效率提升必备技巧
这几个技巧学会了,操作效率能直接上一个台阶,也是老手和新手的明显区别。
4.1 Tab 键自动补全
这是最高频的技巧,没有之一。输入命令、文件名、路径的时候,按一下 Tab 键,系统会自动补全;如果有多个匹配项,按两下 Tab 会列出所有可选内容。不用把文件名完整敲出来,既快又能避免输错。
4.2 历史命令搜索
-
按上下方向键,可以翻看之前执行过的命令;
-
按
Ctrl+R,输入关键词,可以搜索历史命令,找到匹配的后回车直接执行,重复执行长命令时超好用; -
history命令可以查看所有历史命令记录。
4.3 管道符 |
管道符的作用是把前一个命令的输出,作为后一个命令的输入,可以串联多个命令实现复杂功能。
ps aux | grep nginx # 把 ps 的结果传给 grep 筛选进程
cat log.txt | wc -l # 统计日志文件的行数
ls | grep test # 筛选文件名包含 test 的文件
4.4 输入输出重定向
-
>:把命令输出写入文件,会覆盖文件原有内容; -
>>:把命令输出追加到文件末尾,不会覆盖原有内容。echo "hello" > test.txt # 把 hello 写入 test.txt,覆盖原内容
ls -l >> list.txt # 把目录列表追加到 list.txt 末尾
4.5 通配符
常用两个通配符,批量操作文件时非常方便:
-
*:匹配任意多个字符; -
?:匹配单个任意字符。ls .txt # 列出所有 .txt 后缀的文件
rm test.log # 删除所有以 test 开头的 log 文件
4.6 常用快捷键
-
Ctrl+C:强制终止当前正在运行的命令,卡住的时候用; -
Ctrl+Z:把当前进程挂起到后台; -
Ctrl+L:清屏,相当于clear命令; -
Ctrl+A:光标跳到行首;Ctrl+E:光标跳到行尾。
五、新手常见踩坑避坑指南
-
rm 命令慎用,尤其是 rm -rf Linux 没有回收站,删除就真的没了。删除重要文件前先确认路径,绝对不要手滑敲
rm -rf /,也不要在根目录下随便执行rm -rf *。新手建议先用rm -i,删之前会提示确认。 -
路径不要写错,区分相对路径和绝对路径 以
/开头的是绝对路径,从根目录算起;不以/开头的是相对路径,相对于当前目录。找不到文件的时候,先敲pwd确认自己在哪。 -
权限不足不要慌 操作文件提示 Permission denied,要么是文件权限不够,用
chmod调整;要么是需要 root 权限,前面加sudo或者切换到 root 用户。 -
vim 退不出来别乱敲 很多新手进入 vim 输入不了字,或者输完退不出来。记住:按
Esc回到普通模式,再输入:q!就能不保存退出,不会弄坏文件。 -
不要随便修改系统配置文件 修改
/etc下的系统配置前,先备份原文件,比如cp file file.bak,改坏了还能还原回去。
六、学习建议与总结
Linux 命令不用死记硬背,核心是理解每个命令的作用,常用的自然就记住了,不常用的用到了查帮助就行。给新手三个学习建议: 第一,多实操少死记 ,对着教程挨个命令敲一遍,比背十遍参数都管用; 第二,从基础命令开始学 ,先把文件目录操作搞熟,再学其他的,循序渐进; 第三,遇到报错先看提示,Linux 的报错信息通常很明确,看不懂就复制关键词去查,大部分问题都有现成的解决方案。
总的来说,Linux 基础命令的门槛并不高,核心命令也就二三十个,花一两天集中实操一遍,就能应付日常绝大多数基础操作。后续想要进阶,再去学习 Shell 脚本、服务部署、系统优化,都是建立在这些基础命令之上的。打好命令行基础,是深入 Linux 世界的第一步。
