前言

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 下强大的文本编辑工具。
作用:创建、编辑、修改文件内容。

三种模式

  1. 命令模式:打开文件后的默认模式,可移动光标、复制删除等。

  2. 输入模式:可以编辑文字,按 i 进入。

  3. 末行模式:保存、退出等操作,按 : 进入。

基本操作流程

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 服务 管理系统服务

二十二、全程易错坑(必看)

  1. mkdir -p 是小写 p,输错会报无效选项。

  2. 复制文件夹用 cp -r,移动文件夹用 mv 不需要 -r

  3. 删除文件夹必须 rm -rrm -rf 要格外谨慎。

  4. 绝对路径必须写完整,否则系统找不到文件。

  5. > 和 >> 只能创建文件,不能创建文件夹。

  6. 小文件用 cat,大文件用 more 或 tail 查看。

  7. 管道符 | 左右都有命令,只能传递文本输出,不能传递文件。

  8. vim 中必须先按 Esc 回到命令模式,再输入 :wq 保存退出。

  9. 用户/组管理命令大多需要 sudo 管理员权限。

  10. groupdel 不能删除仍作为用户主组的组,要先 usermod -g 修改用户主组。

  11. usermod -aG 必须带 -a,否则会覆盖原有附加组。

  12. chmod 改权限,chown 改所有者,不要混用。

  13. 进入目录需要对其所有上级目录拥有 x(执行)权限。

  14. ls -h 必须与 -l 搭配使用,单独使用无效果。

  15. 绝对禁止执行 rm -rf /,会损坏整个系统。


结语

以上就是 Linux 最核心、最常用的命令知识点汇总,涵盖了目录操作、文件管理、用户权限、软件服务、进程网络等方方面面。只要把这些命令及易错点记熟,应对日常工作、面试和笔试基本绰绰有余。

如果本文对你有帮助,欢迎点赞、收藏、转发,也欢迎在评论区交流你的学习心得~

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐