Linux 基础命令的 7 大核心模块
Linux 命令设计遵循 "单一功能" 原则,不同命令组合实现复杂需求。按使用场景划分,基础命令可分为以下模块,每个模块包含高频命令及核心用途:
一、文件与目录管理模块(最核心)
作用:操作文件(创建、删除、查看、修改)和目录(切换、创建、删除、权限设置),是 Linux 最基础、最常用的命令集合。
高频命令:
命令 | 核心用途 | 示例 |
---|---|---|
ls |
列出目录内容(文件 / 子目录) | ls -l (详细列表)、ls -a (显示隐藏文件) |
cd |
切换当前工作目录 | cd /home (进入 /home 目录)、cd .. (返回上级) |
pwd |
显示当前工作目录的绝对路径 | pwd (输出如 /home/user ) |
mkdir |
创建新目录 | mkdir test (创建 test 目录)、mkdir -p a/b/c (递归创建多级目录) |
rm |
删除文件 / 目录(慎用!) | rm file.txt (删文件)、rm -rf dir (强制删目录及内容) |
cp |
复制文件 / 目录 | cp file.txt /tmp (复制文件到 /tmp)、cp -r dir /tmp (复制目录) |
mv |
移动文件 / 目录,或重命名 | mv file.txt new.txt (重命名)、mv file.txt /tmp (移动到 /tmp) |
cat |
查看文件内容(适合小文件) | cat /etc/hosts (查看 hosts 文件) |
less /more |
分页查看大文件(支持翻页) | less /var/log/messages (按空格翻页,q 退出) |
chmod |
修改文件 / 目录的权限(读 r、写 w、执行 x) | chmod 755 file.sh (所有者 rwx,其他 rx) |
chown |
修改文件 / 目录的所有者和所属组 | chown user:group file.txt (将文件归属 user 用户和 group 组) |
二、用户与权限管理模块
作用:管理 Linux 系统的用户(创建、删除、切换)、用户组,以及控制 "谁能操作什么资源"(权限控制),保障系统安全。
高频命令:
命令 | 核心用途 | 示例 |
---|---|---|
useradd |
创建新用户 | useradd test (创建 test 用户)、useradd -m test (同时创建家目录) |
userdel |
删除用户 | userdel test (删用户,保留家目录)、userdel -r test (删用户及家目录) |
passwd |
设置 / 修改用户密码 | passwd test (为 test 用户设密码)、passwd (修改当前用户密码) |
su |
切换用户身份(切换到 root 需密码) | su test (切换到 test 用户)、su - (切换到 root 并加载环境变量) |
sudo |
以其他用户(默认 root)身份执行命令(需授权) | sudo ls /root (以 root 权限查看 /root 目录) |
groupadd |
创建用户组 | groupadd dev (创建 dev 组) |
groupdel |
删除用户组 | groupdel dev (删除 dev 组) |
id |
查看当前用户的 UID、GID 及所属组 | id (输出如 uid=1000(user) gid=1000(user) groups=1000(user) ) |
whoami |
显示当前登录的用户名 | whoami (输出当前用户名,如 user ) |
groups |
查看用户所属的所有组 | groups test (查看 test 用户所属组) |
三、系统信息与进程管理模块
作用:查看系统硬件 / 软件信息(如 CPU、内存、系统版本)、管理进程(启动、停止、查看),排查系统资源占用问题。
高频命令:
命令 | 核心用途 | 示例 | |
---|---|---|---|
uname |
查看系统内核信息 | uname -a (显示完整内核版本、主机名、架构) |
|
cat /etc/os-release |
查看 Linux 发行版信息(如 CentOS/Ubuntu) | cat /etc/os-release (输出发行版名称、版本) |
|
top |
实时查看系统资源占用(CPU、内存、进程) | top (默认按 CPU 排序,q 退出)、top -p 1234 (查看 PID 1234 的进程) |
|
ps |
查看当前运行的进程(静态快照) | ps aux (查看所有进程,包含用户、PID)、`ps -ef |
grep nginx`(查找 nginx 进程) |
kill |
终止进程(通过 PID) | kill 1234 (发送终止信号给 PID 1234)、kill -9 1234 (强制终止进程) |
|
free |
查看内存使用情况 | free -h (以人类可读单位显示,如 GB/MB) |
|
df |
查看磁盘分区使用情况 | df -h (显示各分区容量、已用、可用) |
|
du |
查看文件 / 目录占用的磁盘空间 | du -sh /home (查看 /home 目录总大小,-s 汇总,-h 可读单位) |
|
hostname |
查看 / 设置主机名 | hostname (查看主机名)、hostname new-host (临时设置主机名) |
|
uptime |
查看系统运行时间、负载(1/5/15 分钟平均) | uptime (输出如 10:00:00 up 2 days, 1:23, 1 user, load average: 0.05, 0.02, 0.01 ) |
四、网络管理模块
作用:配置网络(IP、网关、DNS)、测试网络连通性、查看网络状态(端口、连接),解决网络通信问题。
高频命令:
命令 | 核心用途 | 示例 | |
---|---|---|---|
ping |
测试与目标主机的连通性(ICMP 协议) | ping baidu.com (ping 百度,Ctrl+C 停止)、ping -c 4 192.168.1.1 (发送 4 个包后停止) |
|
ifconfig |
查看 / 配置网卡信息(CentOS 6 及之前默认,CentOS 7 + 需装 net-tools) | ifconfig (查看所有网卡 IP、MAC)、ifconfig eth0 192.168.1.100 (临时设置 eth0 的 IP) |
|
ip |
查看 / 配置网卡信息(CentOS 7+/Ubuntu 默认,替代 ifconfig) | ip addr (查看网卡 IP)、ip route (查看路由表) |
|
netstat |
查看网络连接、端口监听状态(需 net-tools) | netstat -tuln (查看所有监听的 TCP/UDP 端口)、`netstat -an |
grep :80`(查看 80 端口连接) |
ss |
查看网络状态(替代 netstat,更高效) | ss -tuln (同 netstat -tuln)、`ss -an |
grep 22`(查看 22 端口连接) |
curl /wget |
下载文件或测试 HTTP 请求(curl 更灵活) | curl baidu.com (获取百度首页内容)、wget https://xxx.com/file.tar.gz (下载文件) |
|
traceroute |
追踪数据包从本地到目标主机的路由路径 | traceroute baidu.com (查看每一跳路由) |
|
nslookup |
解析域名对应的 IP(DNS 查询) | nslookup baidu.com (查看百度的 IP) |
|
route |
查看 / 配置系统路由表(临时) | route (查看路由表)、route add default gw 192.168.1.1 (添加默认网关) |
五、软件包管理模块
作用:安装、卸载、更新 Linux 系统中的软件(如 Nginx、MySQL),不同发行版命令不同(核心分 RPM 和 DEB 两大体系)。
高频命令(按发行版分类):
1. RPM 体系(CentOS、RHEL、Fedora)
命令 | 核心用途 | 示例 |
---|---|---|
yum |
自动处理依赖的包管理器(CentOS 7 及之前) | yum install nginx (安装 Nginx)、yum remove nginx (卸载 Nginx)、yum update (更新所有软件) |
dnf |
替代 yum 的包管理器(CentOS 8+/Fedora) | dnf install nginx 、dnf remove nginx |
rpm |
手动安装 RPM 包(不自动处理依赖) | rpm -ivh nginx-1.20.rpm (安装 RPM 包,-i 安装,-v 详细,-h 进度)、rpm -e nginx (卸载 RPM 包) |
2. DEB 体系(Ubuntu、Debian)
命令 | 核心用途 | 示例 |
---|---|---|
apt |
自动处理依赖的包管理器(Ubuntu 16.04 + 默认) | apt install nginx (安装 Nginx)、apt remove nginx (卸载 Nginx)、apt update && apt upgrade (更新软件源 + 升级软件) |
dpkg |
手动安装 DEB 包(不自动处理依赖) | dpkg -i nginx_1.20.deb (安装 DEB 包)、dpkg -r nginx (卸载 DEB 包) |
六、压缩与解压模块
作用 :对文件 / 目录进行压缩(减小体积)或解压(恢复原文件),常见格式有 .tar
、.tar.gz
、.zip
等。
高频命令:
命令 / 格式 | 核心用途 | 示例 |
---|---|---|
tar |
打包 / 解包(.tar),常结合 gzip 压缩(.tar.gz) | 打包压缩:tar -zcvf test.tar.gz /home/test (-z 用 gzip,-c 创建,-v 详细,-f 指定文件名)解包:tar -zxvf test.tar.gz -C /tmp (-x 提取,-C 指定解压目录) |
unzip |
解压.zip 格式文件 | unzip test.zip (解压到当前目录)、unzip test.zip -d /tmp (解压到 /tmp) |
zip |
压缩成.zip 格式文件 | zip test.zip file1.txt file2.txt (压缩多个文件)、zip -r test.zip /home/test (压缩目录) |
gzip /gunzip |
压缩 / 解压单个文件(.gz 格式,不支持目录) | gzip file.txt (压缩为 file.txt.gz,删除原文件)、gunzip file.txt.gz (解压为 file.txt) |
七、文本处理与查找模块
作用:搜索文件内容、查找文件路径、对文本进行筛选 / 替换 / 统计,适合处理日志、配置文件等文本数据。
高频命令:
命令 | 核心用途 | 示例 |
---|---|---|
grep |
在文件 / 输出中搜索匹配的字符串(正则支持) | grep "error" /var/log/messages (在日志中找含 error 的行)、grep -r "test" /home (递归搜索 /home 目录下含 test 的文件) |
find |
按路径、名称、大小、时间等条件查找文件 | find /tmp -name "*.log" (在 /tmp 找后缀为.log 的文件)、find /home -size +100M (找 /home 下大于 100MB 的文件) |
sed |
文本替换、删除、插入(流编辑器,支持正则) | sed -i 's/old/new/g' file.txt (将 file.txt 中所有 old 替换为 new,-i 直接修改文件) |
awk |
文本分析与格式化(按列处理,适合日志统计) | awk '{print $1,$3}' file.txt (打印文件的第 1 列和第 3 列)、awk '/error/ {print $0}' /var/log/messages (打印含 error 的行) |
wc |
统计文本的行数、单词数、字节数 | wc -l file.txt (统计行数)、wc -w file.txt (统计单词数) |
sort |
对文本行进行排序(按字母、数字、逆序等) | sort file.txt (默认按字母升序)、sort -n file.txt (按数字升序)、sort -r file.txt (逆序) |
总结
Linux 基础命令的 7 大模块,覆盖了 "日常操作→系统管理→问题排查" 的全场景:
- 文件目录:最基础,所有操作的前提;
- 用户权限:系统安全的核心;
- 系统进程:监控和管理系统资源;
- 网络管理:解决通信问题;
- 软件包:安装和维护软件;
- 压缩解压:处理文件体积;
- 文本处理:分析日志和配置文件。