Linux 命令知识点全汇总
前言
Linux 系统在开发、运维、测试等岗位中无处不在,而熟练使用 Linux 命令是每一个 IT 人的基本功。不论是日常操作、脚本编写,还是面试笔试,这些基础命令都是绕不开的考察点。
本文几乎覆盖了 Linux 常用的所有基础命令,从文件管理、用户权限、进程网络到软件服务,并特别整理了易错点与避坑指南,适合用来系统复习或作为速查手册。建议收藏,方便随时翻阅。
一、目录基础操作命令
1. pwd — 打印当前工作目录
含义:Print Working Directory
作用:查看终端当前所在的绝对路径,确定自己所处的文件夹位置。
bash
pwd # 输出示例:/home/hyt
没有任何参数,直接执行即可。
2. cd — 切换目录
含义:Change Directory
作用:跳转、进入、返回不同文件夹,改变当前所在位置。
常用用法:
bash
cd 文件夹名 # 进入当前目录下的子文件夹 cd .. # 返回上一级目录 cd ~ # 回到用户家目录 /home/hyt cd /home/hyt/SPT2603 # 绝对路径直接跳转目录 cd - # 回到上一次所在的目录
重点:不加任何参数时,cd 默认回到当前用户的家目录。
3. ls — 列出目录内容
含义:List
作用:查看当前目录内的所有文件和文件夹的名称。
常用选项:
bash
ls # 仅显示名称 ls -l # 详细信息:权限、大小、修改时间等 ls -lh # 详细信息 + 人性化大小显示(KB/MB) ls -la # 显示所有内容,包含隐藏文件(以 . 开头的文件) ls 文件夹名 # 不进入文件夹,直接查看该文件夹内部内容 ls > 文件名 # 把 ls 输出结果写入文件,若文件不存在会自动新建
重点:-h 必须与 -l 搭配使用,单独使用无效果。
二、创建类命令(mkdir、touch)
1. mkdir — 创建目录
含义:Make Directory
作用:专门创建文件夹,不能用来创建文件。
bash
mkdir 文件夹名 # 创建单层文件夹 mkdir -p 多级路径 # 递归创建,自动补全所有缺失的上级文件夹,不会报错 mkdir -p /home/hyt/SPT2603
易错重点
-
参数是
-p(小写字母 p),不要输错。 -
不加
-p时,如果上级目录不存在会直接报错。 -
仅能创建文件夹,不能创建文件。
2. touch — 创建空文件
含义:Create empty files
作用:专门创建空白文件,不能创建文件夹。若文件已存在,只会更新文件的时间戳,不会修改或覆盖原有内容。
bash
touch 文件名 touch stu.txt touch /home/hyt/SPT2603/stu.txt
mkdir 与 touch 必考区别
-
mkdir:创建文件夹(目录) -
touch:创建空文件
两者绝对不能混用。
三、复制 / 移动 / 删除命令(cp、mv、rm)
1. cp — 复制
含义:Copy
作用:复制文件或文件夹,原文件、原文件夹会保留不变。
bash
# 复制文件 cp 源文件 目标路径 # 复制文件夹(必须加 -r) cp -r 源文件夹 目标路径
示例:
bash
cp SPT2603/stu.txt Desktop cp -r SPT2603 SPT2603_bak
-
相对路径(不以
/开头)从当前目录查找; -
绝对路径(以
/开头)从根目录开始查找。
易错重点:复制文件夹必须加 -r,否则会报错。
2. mv — 移动/重命名
含义:Move
作用:① 移动文件/文件夹;② 重命名文件/文件夹。
bash
# 重命名(同一目录下) mv 旧名字 新名字 mv stu.txt student.txt # 移动文件或文件夹(无需加 -r) mv 源文件 目标路径 mv SPT2603/stu.txt /home/hyt/Desktop
-
移动/重命名后原文件消失,这一点与
cp不同。 -
移动文件夹不需要
-r,直接使用即可。
3. rm — 删除
含义:Remove
作用:永久删除文件或文件夹(删除后难以恢复)。
bash
# 删除文件 rm 文件名 rm stu.txt # 删除文件夹(必须加 -r) rm -r 文件夹名 rm -r SPT2603 # 强制删除(不提示,直接删) rm -rf 文件/文件夹
注意事项
-
-r:递归删除文件夹;-f:强制删除,不显示提示。 -
rm -rf要慎用,误删系统文件可能导致崩溃。 -
rm -rf /会删除系统根目录,绝对禁止执行!
四、文件内容查看 / 统计命令
1. cat — 查看全部内容
含义:concatenate
作用:一次性完整输出文件所有内容,适合查看小文件。
bash
cat stu.txt
大文件会刷屏,不适合用 cat 查看。
2. more — 分页查看
作用:分页逐屏显示文件内容,适合查看大文件。
bash
more stu.txt
操作方式:
-
空格键:向下翻一页
-
回车键:向下滚动一行
-
q:退出查看
只能向下翻页,不能向上回翻。
3. wc — 统计
含义:Word Count
作用:统计文件的行数、单词数、字节数。
bash
wc -l 文件名 # 统计行数(最常用) wc -w 文件名 # 统计单词数 wc -c 文件名 # 统计字节数
重点:wc 不显示文件内容,只输出统计数据。
4. tail — 查看末尾内容
作用:默认查看文件最后 10 行,常用于查看日志。
bash
# 默认查看最后10行 tail stu.txt # 查看最后指定行数(例:最后5行) tail -n 5 stu.txt # 实时监控文件新增内容 tail -f stu.txt
-
-f模式下按Ctrl+C退出监控。 -
常用于实时查看系统日志文件。
五、文件查找命令(which、find)
1. which — 查找命令位置
作用:查找系统命令的可执行文件路径,只能查命令,不能查普通文件。
bash
which ls which vim
输出的是命令的绝对路径,用于定位命令程序的位置。
2. find — 查找文件/文件夹
作用:在指定路径下,按名称、大小等条件查找文件或文件夹(功能非常强大)。
bash
# 按名称查找 find /home/hyt -name "stu.txt" find . -name "*.txt" # . 代表当前目录,查找所有 txt 文件 # 按大小查找 find /home -size +100k # 查找大于 100k 的文件
-
.表示当前目录;/表示根目录。 -
支持通配符
*匹配任意字符。 -
支持按文件大小查找,单位可用 k、M、G。
六、文本过滤命令(grep)
含义:Global Regular Expression Print
作用:在文件中查找指定文字内容,过滤并显示匹配到的行。
bash
grep "张三" stu.txt grep "SPT2603" stu.txt
常用参数:
bash
grep -i "内容" 文件 # 忽略大小写查找 grep -n "内容" 文件 # 显示匹配行的行号
-
查找内容建议加上双引号,区分大小写。
-
可以搭配管道符
|使用,过滤其他命令的输出结果。
七、输出命令与重定向
1. echo — 打印输出
作用:在屏幕上输出文字,也可以搭配重定向符号写入文件。
bash
echo "Hello" # 屏幕输出 echo 内容 > 文件名 # 覆盖写入 echo 内容 >> 文件名 # 追加写入
重点:复杂内容建议用双引号包裹,避免解析错误。
2. 输出重定向符号 > 、>>
-
>:覆盖重定向。清空原文件内容,写入新内容;文件不存在会自动创建。 -
>>:追加重定向。保留原文件内容,在末尾追加新内容;文件不存在也会自动创建。
bash
ls > list.txt echo "姓名" >> info.txt
铁则:重定向只能创建文件,不能创建文件夹。
八、管道符 |
管道符 — 传递命令结果
作用:将前一个命令的输出结果,作为后一个命令的输入。
bash
# ls 的结果交给 grep 过滤 ls | grep "stu" # 统计文件行数 cat stu.txt | wc -l # 查看文件内容并过滤关键词 cat stu.txt | grep "姓名"
-
管道符左右必须有命令。
-
只能传递文本输出结果,不能传递文件。
-
支持连续使用多个管道符。
九、vim 文本编辑器
含义:Linux 下强大的文本编辑工具。
作用:创建、编辑、修改文件内容。
三种模式
-
命令模式:打开文件后的默认模式,可移动光标、复制删除等。
-
输入模式:可以编辑文字,按
i进入。 -
末行模式:保存、退出等操作,按
:进入。
基本操作流程
bash
vim stu.txt # 打开/创建文件 i # 进入编辑模式 Esc # 退出编辑模式,回到命令模式 :wq # 保存并退出 :q! # 不保存强制退出
常用快捷键:
bash
dd # 删除当前行 yy # 复制当前行 p # 粘贴 u # 撤销
重点:必须先按 Esc 回到命令模式,再输入 :wq 等命令。
十、绝对路径 & 相对路径
-
绝对路径:以
/开头,从根目录开始查找的完整路径。 -
相对路径:不以
/开头,从当前目录开始查找。
示例:
bash
# 绝对路径 /home/hyt/stu.txt # 相对路径 stu.txt
错误路径:/SPT2603/stu.txt
(根目录下通常没有这个文件夹,路径不完整)
特殊路径符号:
-
.:当前目录 -
..:上一级目录 -
~:用户家目录
十一、用户管理命令
1. useradd — 创建用户
bash
useradd [-g 组名] [-d 家目录] 用户名 sudo useradd -g spt2603 -d /home/stu stu
-
-g:指定主组,组必须提前创建。 -
-d:指定家目录。 -
一般需要
sudo管理员权限。
2. passwd — 设置密码
bash
passwd 用户名 sudo passwd stu
输入密码时屏幕上不会有任何显示,属于正常现象。
3. userdel — 删除用户
bash
userdel [-r] 用户名 sudo userdel -r stu
-
-r:同时删除用户的家目录,不加则保留。
4. usermod — 修改用户属性
bash
# 修改用户主组 usermod -g 新组 用户名 sudo usermod -g users stu # 追加用户到附加组 usermod -aG 组 用户名 sudo usermod -aG spt2603 stu
-
-aG中的-a不可省略,否则会覆盖原有的附加组。
5. id — 查看用户信息
bash
id 用户名 id stu
查看用户的 UID、GID 及所属组,用来验证修改是否成功。
6. su — 切换用户
bash
su [-] 用户名 su - stu # 完整切换,加载目标用户的环境变量 su - # 切换到 root 用户
su - 完整切换,su 只切换身份不加载环境。
7. sudo — 临时授权
bash
sudo 命令 sudo mkdir /test
普通用户临时以 root 权限执行命令,需提前配置。
十二、用户组管理命令
1. groupadd — 创建用户组
bash
groupadd 组名 sudo groupadd spt2603
2. groupdel — 删除用户组
bash
groupdel 组名 sudo groupdel spt2603
注意:不能删除任何用户的主组,需要先通过 usermod -g 将用户主组改掉再删除。
3. groups — 查看用户所属组
bash
groups 用户名 groups stu
会显示用户的主组以及所有附加组。
十三、权限管理命令
1. chmod — 修改权限
bash
chmod [-R] 权限 路径 chmod 777 stu.txt chmod -R 755 SPT2603 # 递归修改文件夹及内部所有文件权限
权限数字:r=4,w=2,x=1
常用组合:777(全权限)、755(rwxr-xr-x)。
-
-R:递归修改目录内所有文件的权限。 -
进入一个目录必须拥有该目录的
x(执行) 权限。 -
只有文件所有者或 root 可以修改权限。
2. chown — 修改所有者/组
bash
chown 用户名:组名 路径 sudo chown stu:spt2603 stu.txt
需要 sudo 权限。
3. chgrp — 修改所属组
bash
chgrp 组名 路径 sudo chgrp spt2603 stu.txt
同样需要 sudo 权限。
markdown
权限管理命令对比: - chmod:改权限 - chown:改所有者(和组) - chgrp:只改组 禁止混用。
十四、软件管理命令(yum)
含义:类似应用商店的软件包管理器。
作用:安装、卸载、搜索软件,并自动解决依赖关系。
bash
yum [-y] install/remove/search 软件名 yum -y install wget # -y 自动确认安装 yum remove wget yum search wget
-
需要联网和 root 权限。
-
-y选项可以避免安装过程中的交互确认。
十五、服务管理命令(systemctl)
作用:启动、停止、设置开机自启系统服务。
bash
systemctl start firewalld # 启动防火墙 systemctl stop firewalld # 停止防火墙 systemctl enable firewalld # 设置开机自启 systemctl disable firewalld # 关闭开机自启
注意:服务名 ≠ 软件名,例如 Apache 的服务名叫 httpd。
十六、软链接命令(ln)
含义:创建快捷方式。
作用:为文件或目录创建一个指向它的链接。
bash
ln -s 源路径 目标路径 ln -s /home/hyt/stu.txt Desktop
-
-s必须加,表示创建软链接(符号链接)。 -
删除软链接不影响源文件。
十七、系统时间命令(date)
bash
date # 查看当前系统时间 date +%Y-%m-%d # 按格式显示年月日 date -d "+1 day" # 查看明天的日期
+%Y-%m-%d 为格式化字符串,可自定义。
十八、网络命令
1. ifconfig — 查看网络信息
bash
ifconfig
查看本机 IP 地址、网卡信息,需要安装 net-tools 工具。
2. ping — 测试连通性
bash
ping [-c 次数] IP/域名 ping -c 3 baidu.com
-c 指定发送测试包的数量,不加则无限 ping。
3. wget — 网络下载
bash
wget 下载链接 wget http://xxx.com/file.tar.gz
非交互式下载,支持后台下载。
4. curl — 网络请求
bash
curl cip.cc # 查看本机公网 IP
功能强大,可发起 HTTP 请求、测试 API 等。
十九、进程 / 系统监控命令
1. ps — 查看进程
bash
ps -ef # 查看所有进程详细信息 ps -ef | grep 进程名 # 过滤查找特定进程
2. kill — 终止进程
bash
kill [-9] 进程PID kill -9 12345 # 强制关闭进程
-9 表示强制终止,普通 kill 有时可能无法结束进程。
3. top — 系统资源监控
bash
top
实时显示 CPU、内存占用,类似 Windows 的任务管理器。
4. df — 磁盘使用情况
bash
df -h # 人性化显示磁盘容量(GB/MB)
二十、环境变量命令
1. env — 查看环境变量
bash
env
显示当前所有环境变量。
2. export — 设置环境变量
bash
export 变量名=变量值 export MY_PATH=/home
临时设置,重启终端失效。永久生效需写入配置文件如 ~/.bashrc。
二十一、命令对比总表
| 命令 | 操作对象 | 核心功能 |
|---|---|---|
| pwd | 路径 | 查看当前工作目录 |
| cd | 目录 | 切换目录 |
| ls | 目录 | 列出文件/文件夹 |
| mkdir | 目录 | 创建文件夹 |
| touch | 文件 | 创建空文件 |
| cp | 文件/目录 | 复制(目录需加 -r) |
| mv | 文件/目录 | 移动或重命名 |
| rm | 文件/目录 | 删除(目录需加 -r) |
| cat | 文件内容 | 查看全部内容 |
| more | 文件内容 | 分页查看 |
| tail | 文件内容 | 查看末尾内容 |
| wc | 文件内容 | 统计行数/单词数/字节数 |
| grep | 文件内容 | 文本过滤查找 |
| which | 系统命令 | 查找命令路径 |
| find | 文件/目录 | 按条件查找文件 |
| echo | 文本 | 输出文字 |
| vim | 文件 | 文本编辑 |
| |
命令间 | 传递命令输出结果 |
| useradd | 用户 | 创建用户 |
| userdel | 用户 | 删除用户 |
| usermod | 用户 | 修改用户属性 |
| groupadd | 用户组 | 创建用户组 |
| groupdel | 用户组 | 删除用户组 |
| chmod | 文件/目录 | 修改权限 |
| chown | 文件/目录 | 修改所有者/组 |
| yum | 软件 | 安装/卸载/搜索软件 |
| systemctl | 服务 | 管理系统服务 |
二十二、全程易错坑(必看)
-
mkdir -p是小写 p,输错会报无效选项。 -
复制文件夹用
cp -r,移动文件夹用mv不需要-r。 -
删除文件夹必须
rm -r;rm -rf要格外谨慎。 -
绝对路径必须写完整,否则系统找不到文件。
-
>和>>只能创建文件,不能创建文件夹。 -
小文件用
cat,大文件用more或tail查看。 -
管道符
|左右都有命令,只能传递文本输出,不能传递文件。 -
vim 中必须先按
Esc回到命令模式,再输入:wq保存退出。 -
用户/组管理命令大多需要
sudo管理员权限。 -
groupdel不能删除仍作为用户主组的组,要先usermod -g修改用户主组。 -
usermod -aG必须带-a,否则会覆盖原有附加组。 -
chmod改权限,chown改所有者,不要混用。 -
进入目录需要对其所有上级目录拥有
x(执行)权限。 -
ls -h必须与-l搭配使用,单独使用无效果。 -
绝对禁止执行
rm -rf /,会损坏整个系统。
结语
以上就是 Linux 最核心、最常用的命令知识点汇总,涵盖了目录操作、文件管理、用户权限、软件服务、进程网络等方方面面。只要把这些命令及易错点记熟,应对日常工作、面试和笔试基本绰绰有余。
如果本文对你有帮助,欢迎点赞、收藏、转发,也欢迎在评论区交流你的学习心得~
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)