Linux 基础命令大全
Linux 常用命令按功能类别分类整理,涵盖 10 大类别、130+ 命令及常用示例。按使用频率从高到低排列。
📁 一、文件与目录管理
日常操作最频繁的类别,几乎每次终端会话都会用到。
| 命令 |
功能说明 |
常用示例 |
cd |
切换工作目录 |
cd ~ 回 HOME;cd - 回上一目录 |
ls |
列出目录内容 |
ls -lah 显示所有文件(含隐藏)+ 人类可读大小 |
pwd |
显示当前路径 |
pwd |
mkdir |
创建目录 |
mkdir -p A/B/C 递归创建多级 |
cp |
复制文件/目录 |
cp -r SRC/ DEST/ 递归复制 |
mv |
移动/重命名 |
mv OLD.TXT NEW.TXT |
rm |
删除文件/目录 |
rm -rf DIR/ ⚠️ 谨慎使用 |
touch |
创建空文件 / 更新 MTIME |
touch FILE.TXT |
ln |
创建链接 |
ln -s /REAL/PATH LINK 软链接 |
find |
搜索文件 |
find /var -name "*.log" -type f |
tree |
树形展示目录 |
tree -L 2 限制 2 层深度 |
stat |
查看 INODE 元数据 |
stat FILE.TXT |
file |
探测文件真实类型 |
file SCRIPT.SH |
df |
查看文件系统使用率 |
df -hT 人类可读 + 类型 |
du |
统计磁盘用量 |
du -sh /* 统计各目录总大小 |
locate |
快速搜索(依 MLOCATE 库) |
locate NGINX.CONF |
rmdir |
删除空目录 |
rmdir EMPTYDIR/ |
📄 二、文件查看与文本处理
日常查阅文件、搜索日志、文本分析的常用工具。
| 命令 |
功能说明 |
常用示例 |
cat |
输出文件全部内容 |
cat -n FILE.TXT 显示行号 |
less |
交互式分页(支持 ↑↓ / 搜索) |
less /var/log/syslog |
grep |
正则搜索文本 |
grep -rn "FIXME" SRC/ 递归 + 行号 |
head |
查看开头 N 行 |
head -n 20 DATA.CSV |
tail |
查看末尾 N 行 |
tail -f APP.LOG 实时追踪 |
echo |
输出文本 |
echo "$HOME" |
wc |
统计行/词/字符 |
wc -l FILE.SH 行数 |
sort |
排序 |
sort -t, -k2 -rn DATA.CSV |
sed |
流编辑器(替换/删除/插入) |
sed 's/foo/bar/g' FILE |
awk |
列式文本分析语言 |
awk '{print $1}' DATA.LOG 取第一列 |
cut |
按分隔符截取列 |
cut -d: -f1 /etc/passwd |
uniq |
去重(需配合 SORT) |
sort FILE | uniq -c 统计频次 |
tr |
字符替换/删除 |
echo HELLO | tr 'A-Z' 'a-z' 转小写 |
tee |
分叉输出(落盘 + 屏幕) |
command | tee -a LOG.TXT |
xargs |
将 STDIN 转为命令参数 |
find . -name "\*.tmp" | xargs rm -f |
diff |
逐行比较差异 |
diff -u F1 F2 统一格式 |
more |
分页(仅 ↓) |
more LONGFILE.TXT |
tac |
倒序输出(最后一行在前) |
tac FILE.LOG |
nl |
带行号输出 |
nl -ba FILE.TXT 空行也编号 |
paste |
按列合并 |
paste NAMES.TXT PHONES.TXT |
join |
按公共字段关联 |
join -t, -1 1 -2 1 A.CSV B.CSV |
column |
对齐为表格 |
column -t -s: /etc/passwd |
rev |
反转每行字符 |
rev FILE.TXT |
fold |
按宽度折行 |
fold -w 80 TEXT.TXT |
split |
切分大文件 |
split -l 10000 BIG.LOG CHUNK_ |
od |
八进制/十六进制 DUMP |
od -c FILE.BIN 以字符形式查看 |
comm |
比较已排序文件 |
comm F1 F2 显示独有/共有行 |
🔐 三、权限与用户管理
系统安全和日常用户管理的核心命令。
| 命令 |
功能说明 |
常用示例 |
sudo |
提权执行 |
sudo -u POSTGRES PSQL |
chmod |
修改文件权限 |
chmod 755 SCRIPT.SH 或 chmod u+x SCRIPT.SH |
chown |
修改所有者 |
chown USER:GROUP FILE.TXT |
id |
显示 UID/GID/组 |
id |
whoami |
当前用户名 |
whoami |
su |
切换用户 |
su - USER1 加载目标环境 |
passwd |
设置/更改密码 |
passwd USER1 |
useradd |
创建用户 |
useradd -m -s /bin/bash USER1 |
usermod |
修改用户属性 |
usermod -aG DOCKER USER1 追加组 |
userdel |
删除用户 |
userdel -r USER1 连带删除 HOME |
who |
已登录用户 |
who -b 含系统启动时间 |
w |
登录用户 + 活动 |
w |
users |
当前登录用户列表 |
users |
last |
最近登录记录 |
last -n 5 最近 5 条 |
chgrp |
修改所属组 |
chgrp DEV FILE.TXT |
groupadd |
创建组 |
groupadd DEVOPS |
groupdel |
删除组 |
groupdel DEVOPS |
umask |
设置默认权限掩码 |
umask 022 |
⚙️ 四、进程管理
系统运行中进程的查看、监控和控制。
| 命令 |
功能说明 |
常用示例 |
ps |
进程快照 |
ps aux | grep NGINX |
top |
实时进程监控 |
按 P CPU 排序;M 内存排序 |
kill |
按 PID 终止 |
kill -15 PID 优雅;kill -9 PID 强制 |
uptime |
运行时长 + 负载 |
uptime |
nohup |
忽略 HUP 信号运行 |
nohup ./SERVER.SH & |
bg / fg |
后台 / 前台切换 |
Ctrl+Z → bg |
jobs |
列出后台任务 |
jobs -l 含 PID |
htop |
TOP 增强版(需安装) |
htop |
watch |
周期执行 |
watch -n 2 'free -h' 每 2 S 刷新 |
killall |
按名称终止全部 |
killall -9 NGINX |
pkill |
按模式匹配终止 |
pkill -f "PYTHON APP.PY" |
pidof |
查看进程 PID |
pidof NGINX |
pgrep |
按名称查找 PID |
pgrep -u ROOT NGINX |
nice |
以指定优先级启动 |
nice -n 10 ./SLOW-TASK |
renice |
调整运行中进程优先级 |
renice -n 5 -p 1234 |
time |
计时 |
time ./SCRIPT.SH |
🖥️ 五、系统管理
系统信息查看、服务管理、日志分析和环境配置。
| 命令 |
功能说明 |
常用示例 |
man |
查看手册 |
man LS |
systemctl |
SYSTEMD 服务管理 |
systemctl status NGINX;enable/start/stop |
free |
内存使用 |
free -ht 人类可读 + 总计 |
date |
日期时间 |
date +%F → 2026-05-24 |
history |
命令历史 |
history | grep CURL;!! 重复上条 |
hostname |
主机名 / IP |
hostname -I 显示 IP |
uname |
内核/架构信息 |
uname -a |
export |
设置环境变量 |
export PATH=$PATH:/usr/local/bin |
alias |
设置别名 |
alias ll='ls -lh' |
unalias |
取消别名 |
unalias LL |
env |
查看所有环境变量 |
env | grep PATH |
journalctl |
SYSTEMD 日志 |
journalctl -u NGINX --since "1 hour ago" |
whatis |
命令简短说明 |
whatis LS |
dmesg |
内核日志 |
dmesg -T | tail -20 加时间戳 |
shutdown |
关机/重启 |
shutdown -h now;shutdown -r +5 |
reboot |
重启 |
reboot |
cal |
日历 |
cal 2026 全年 |
crontab |
定时任务 |
crontab -e;0 3 * * * BACKUP.SH |
timedatectl |
时区/时间管理 |
timedatectl list-timezones |
lscpu |
CPU 信息 |
lscpu |
lsblk |
块设备列表 |
lsblk -f 含文件系统 |
lspci |
PCI 设备 |
lspci -v |
at |
一次性定时 |
at now + 1 HOUR |
locale |
查看语言环境 |
locale -a 可用 LOCALE 列表 |
lsusb |
USB 设备 |
lsusb -t 树形 |
dmidecode |
硬件信息(需 ROOT) |
dmidecode -t MEMORY |
🌐 六、网络管理
网络连通性、连接状态、远程访问和下载工具。
| 命令 |
功能说明 |
常用示例 |
ping |
连通性测试 |
ping -c 4 8.8.8.8 |
ssh |
远程登录 |
ssh -i KEY.PEM USER@HOST -p 22 |
curl |
数据传输工具 |
curl -I HTTP://EXAMPLE.COM 含请求头 |
ip |
网络配置(现代) |
ip addr;ip route show |
ss |
套接字统计(推荐) |
ss -tulnp 监听端口 + 进程 |
wget |
下载工具 |
wget -c URL 断点续传 |
scp |
远程复制 |
scp FILE USER@HOST:/TMP/ |
rsync |
增量同步 |
rsync -avz --delete /SRC/ USER@HOST:/DEST/ |
ifconfig |
网卡配置(旧) |
ifconfig ETH0 UP |
lsof |
打开文件/端口 |
lsof -i :80 |
netstat |
网络状态(旧) |
netstat -tulnp;netstat -r |
nc |
网络瑞士军刀 |
nc -zv HOST 22 端口测试 |
dig |
DNS 查询 |
dig +short EXAMPLE.COM |
nslookup |
DNS 查询 |
nslookup GOOGLE.COM |
traceroute |
路由追踪 |
traceroute -n GOOGLE.COM |
mtr |
网络诊断 |
mtr -rw GOOGLE.COM |
tcpdump |
抓包 |
tcpdump -i ETH0 port 80 -w OUT.PCAP |
host |
DNS 简易查询 |
host EXAMPLE.COM |
nmap |
端口扫描 |
nmap -sT 192.168.1.1 |
route |
路由表 |
route -n |
arp |
ARP 缓存 |
arp -a |
ufw |
简易防火墙 |
ufw allow 22/tcp;ufw status verbose |
ethtool |
网卡参数 |
ethtool ETH0 |
💾 七、磁盘与存储管理
磁盘分区、格式化、挂载和状态查看。
| 命令 |
功能说明 |
常用示例 |
mount |
挂载 |
mount /dev/sdb1 /mnt/data |
df |
磁盘空间使用率 |
df -hT |
du |
目录/文件磁盘用量 |
du -sh /home/* |
umount |
卸载 |
umount /mnt/data |
blkid |
查看 UUID / 类型 |
blkid |
findmnt |
挂载树视图 |
findmnt -t EXT4 |
sync |
刷写磁盘缓存 |
sync |
fdisk |
磁盘分区 |
sudo fdisk -l /dev/sda |
mkfs |
格式化(创建文件系统) |
mkfs.ext4 /dev/sdb1 |
parted |
高级分区 |
sudo parted /dev/sda print |
fsck |
检查/修复文件系统 |
fsck -f /dev/sda1 |
swapon / swapoff |
启用/关闭 SWAP |
swapon --show 查看 |
dd |
低级数据拷贝 |
dd if=/dev/sda of=/BACKUP.IMG bs=4M status=progress |
smartctl |
硬盘健康/属性(S.M.A.R.T.) |
smartctl -H /dev/sda 查看健康状态 |
eject |
弹出光驱 |
eject /dev/sr0 |
📦 八、压缩与归档
文件打包、压缩和解压工具。
| 命令 |
功能说明 |
常用示例 |
tar |
打包/压缩 |
tar -czvf ARCHIVE.TAR.GZ DIR/ |
gzip / gunzip |
压缩/解压 .GZ |
gzip FILE.TXT |
zip / unzip |
ZIP 格式压缩/解压 |
zip -r ARCHIVE.ZIP DIR/ |
bzip2 / bunzip2 |
压缩/解压 .BZ2(高压缩率) |
bzip2 FILE.TXT |
xz / unxz |
压缩/解压 .XZ(极高压缩率) |
xz -k FILE.TXT 保留原文件 |
zcat |
读取 .GZ 内容 |
zcat ACCESS.LOG.GZ |
zgrep |
在 .GZ 中搜索 |
zgrep "500" ACCESS.LOG.GZ |
zless |
分页查看 .GZ |
zless SYSLOG.1.GZ |
compress / uncompress |
旧式 .Z 压缩 |
compress FILE.TXT |
TAR 参数速查
| 操作 |
命令 |
| 打包 |
tar -cvf ARCHIVE.TAR DIR/ |
| 解包 |
tar -xvf ARCHIVE.TAR |
压缩为 .TAR.GZ |
tar -czvf ARCHIVE.TAR.GZ DIR/ |
解压 .TAR.GZ |
tar -xzvf ARCHIVE.TAR.GZ |
压缩为 .TAR.BZ2 |
tar -cjvf ARCHIVE.TAR.BZ2 DIR/ |
解压 .TAR.BZ2 |
tar -xjvf ARCHIVE.TAR.BZ2 |
压缩为 .TAR.XZ |
tar -cJvf ARCHIVE.TAR.XZ DIR/ |
解压 .TAR.XZ |
tar -xJvf ARCHIVE.TAR.XZ |
| 仅查看内容 |
tar -tvf ARCHIVE.TAR |
📦 九、包管理
各发行版的软件包安装、升级和卸载命令。
| 系统 |
命令 |
功能说明 |
常用示例 |
| Debian/Ubuntu |
apt |
高级包管理(推荐) |
apt update && apt install -y NGINX |
| Debian/Ubuntu |
apt-get |
传统包管理 |
apt-get install -y NGINX |
| Debian/Ubuntu |
dpkg |
底层 .DEB 操作 |
dpkg -i PACKAGE.DEB;dpkg -l 列出 |
| RHEL/CentOS 8+ |
dnf |
新一代包管理器 |
dnf install NGINX |
| RHEL/CentOS 7 |
yum |
传统包管理器 |
yum install -y NGINX |
| RHEL/CentOS |
rpm |
底层 .RPM 操作 |
rpm -ivh PKG.RPM;rpm -qa 查询 |
| Arch Linux |
pacman |
ARCH 包管理器 |
pacman -S NGINX |
| 通用(跨发行版) |
snap |
SNAP 包 |
snap install LXD |
| 通用(跨发行版) |
flatpak |
FLATPAK 包 |
flatpak install FLATHUB ORG.VIDEOLAN.VLC |
🛠️ 十、Shell 内置与杂项
Shell 编程和终端操作的基础指令集。
| 命令 |
功能说明 |
常用示例 |
echo |
输出文本 |
echo "HELLO, $USER" |
test / [ ] |
条件测试 |
test -f FILE.TXT && echo EXISTS |
read |
读取用户输入 |
read -p "ENTER NAME: " NAME |
set |
查看/设置 SHELL 选项 |
set -e 出错即停 |
source / . |
在当前 SHELL 加载脚本 |
source ~/.zshrc |
exit |
退出 SHELL |
exit 0 |
printf |
格式化输出 |
printf "%-10s %s\n" NAME VALUE |
clear |
清屏 |
clear |
sleep |
暂停指定秒数 |
sleep 5 |
type |
判断命令类型(BUILTIN/ALIAS/EXTERNAL) |
type CD |
which |
查找可执行文件路径 |
which PYTHON3 |
unset |
删除变量或函数 |
unset DEBUG |
whereis |
查找二进制/源码/MAN |
whereis LS |
true / false |
返回 0 / 非 0 退出码 |
while true; do ...; done |
command |
忽略别名直接执行 |
command ls -la |
exec |
替换当前 SHELL 进程 |
exec ZSH |
🔗 实用管道组合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -h | head
tail -f app.log | grep --color=auto "ERROR\|CRITICAL"
find SRC/ -name "*.py" | xargs wc -l | tail -1
du -sh /home/* | sort -rh | head -10
grep -rl "old_string" CONFIG/ | xargs sed -i 's/old_string/new_string/g'
ss -tulnp | awk 'NR>1{print $1, $5, $7}' | column -t
uptime && free -h && df -h /
|
⌨️ 终端常用快捷键
| 快捷键 |
作用 |
Ctrl + C |
终止当前命令 |
Ctrl + D |
EOF / 退出 SHELL |
Ctrl + Z |
挂起(可 bg 后台执行) |
Ctrl + L |
清屏 |
Ctrl + A |
光标到行首 |
Ctrl + E |
光标到行尾 |
Ctrl + R |
反向搜索历史 |
Ctrl + W |
删除前一个词 |
Ctrl + U |
删除到行首 |
Ctrl + K |
删除到行尾 |
!! |
重复上条命令 |
!$ |
上条命令最后一个参数 |
!str |
匹配最近的以 STR 开头的命令 |
提示: 每个命令的完整手册可通过 man <command> 查看,快速帮助用 <command> --help。每个命令的原子化文档参见对应分类目录。
📚 原子化命令文档
每个命令独立成一个文件,按分类存放: