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创建空文件 / 更新 MTIMEtouch 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八进制/十六进制 DUMPod -c FILE.BIN 以字符形式查看
comm比较已排序文件comm F1 F2 显示独有/共有行

🔐 三、权限与用户管理

系统安全和日常用户管理的核心命令。

命令功能说明常用示例
sudo提权执行sudo -u POSTGRES PSQL
chmod修改文件权限chmod 755 SCRIPT.SHchmod 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+Zbg
jobs列出后台任务jobs -l 含 PID
htopTOP 增强版(需安装)htop
watch周期执行watch -n 2 'free -h' 每 2 S 刷新
killall按名称终止全部killall -9 NGINX
pkill按模式匹配终止pkill -f "PYTHON APP.PY"
pidof查看进程 PIDpidof NGINX
pgrep按名称查找 PIDpgrep -u ROOT NGINX
nice以指定优先级启动nice -n 10 ./SLOW-TASK
renice调整运行中进程优先级renice -n 5 -p 1234
time计时time ./SCRIPT.SH

🖥️ 五、系统管理

系统信息查看、服务管理、日志分析和环境配置。

命令功能说明常用示例
man查看手册man LS
systemctlSYSTEMD 服务管理systemctl status NGINXenable/start/stop
free内存使用free -ht 人类可读 + 总计
date日期时间date +%F → 2026-05-24
history命令历史history | grep CURL!! 重复上条
hostname主机名 / IPhostname -I 显示 IP
uname内核/架构信息uname -a
export设置环境变量export PATH=$PATH:/usr/local/bin
alias设置别名alias ll='ls -lh'
unalias取消别名unalias LL
env查看所有环境变量env | grep PATH
journalctlSYSTEMD 日志journalctl -u NGINX --since "1 hour ago"
whatis命令简短说明whatis LS
dmesg内核日志dmesg -T | tail -20 加时间戳
shutdown关机/重启shutdown -h nowshutdown -r +5
reboot重启reboot
cal日历cal 2026 全年
crontab定时任务crontab -e0 3 * * * BACKUP.SH
timedatectl时区/时间管理timedatectl list-timezones
lscpuCPU 信息lscpu
lsblk块设备列表lsblk -f 含文件系统
lspciPCI 设备lspci -v
at一次性定时at now + 1 HOUR
locale查看语言环境locale -a 可用 LOCALE 列表
lsusbUSB 设备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 addrip 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 -tulnpnetstat -r
nc网络瑞士军刀nc -zv HOST 22 端口测试
digDNS 查询dig +short EXAMPLE.COM
nslookupDNS 查询nslookup GOOGLE.COM
traceroute路由追踪traceroute -n GOOGLE.COM
mtr网络诊断mtr -rw GOOGLE.COM
tcpdump抓包tcpdump -i ETH0 port 80 -w OUT.PCAP
hostDNS 简易查询host EXAMPLE.COM
nmap端口扫描nmap -sT 192.168.1.1
route路由表route -n
arpARP 缓存arp -a
ufw简易防火墙ufw allow 22/tcpufw 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启用/关闭 SWAPswapon --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压缩/解压 .GZgzip FILE.TXT
zip / unzipZIP 格式压缩/解压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分页查看 .GZzless SYSLOG.1.GZ
compress / uncompress旧式 .Z 压缩compress FILE.TXT

TAR 参数速查

操作命令
打包tar -cvf ARCHIVE.TAR DIR/
解包tar -xvf ARCHIVE.TAR
压缩为 .TAR.GZtar -czvf ARCHIVE.TAR.GZ DIR/
解压 .TAR.GZtar -xzvf ARCHIVE.TAR.GZ
压缩为 .TAR.BZ2tar -cjvf ARCHIVE.TAR.BZ2 DIR/
解压 .TAR.BZ2tar -xjvf ARCHIVE.TAR.BZ2
压缩为 .TAR.XZtar -cJvf ARCHIVE.TAR.XZ DIR/
解压 .TAR.XZtar -xJvf ARCHIVE.TAR.XZ
仅查看内容tar -tvf ARCHIVE.TAR

📦 九、包管理

各发行版的软件包安装、升级和卸载命令。

系统命令功能说明常用示例
Debian/Ubuntuapt高级包管理(推荐)apt update && apt install -y NGINX
Debian/Ubuntuapt-get传统包管理apt-get install -y NGINX
Debian/Ubuntudpkg底层 .DEB 操作dpkg -i PACKAGE.DEBdpkg -l 列出
RHEL/CentOS 8+dnf新一代包管理器dnf install NGINX
RHEL/CentOS 7yum传统包管理器yum install -y NGINX
RHEL/CentOSrpm底层 .RPM 操作rpm -ivh PKG.RPMrpm -qa 查询
Arch LinuxpacmanARCH 包管理器pacman -S NGINX
通用(跨发行版)snapSNAP 包snap install LXD
通用(跨发行版)flatpakFLATPAK 包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退出 SHELLexit 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查找二进制/源码/MANwhereis LS
true / false返回 0 / 非 0 退出码while true; do ...; done
command忽略别名直接执行command ls -la
exec替换当前 SHELL 进程exec ZSH

🔗 实用管道组合

# IP 访问频率 Top 10
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10

# 查找 100 MB 以上文件
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

# 查看磁盘占用 Top 10
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 + DEOF / 退出 SHELL
Ctrl + Z挂起(可 bg 后台执行)
Ctrl + L清屏
Ctrl + A光标到行首
Ctrl + E光标到行尾
Ctrl + R反向搜索历史
Ctrl + W删除前一个词
Ctrl + U删除到行首
Ctrl + K删除到行尾
!!重复上条命令
!$上条命令最后一个参数
!str匹配最近的以 STR 开头的命令

提示: 每个命令的完整手册可通过 man <command> 查看,快速帮助用 <command> --help。每个命令的原子化文档参见对应分类目录。


📚 原子化命令文档

每个命令独立成一个文件,按分类存放:

编号分类目录命令数
01文件与目录管理文件与目录管理/17
02文件查看与文本处理文件查看与文本处理/28
03权限与用户管理权限与用户管理/18
04进程管理进程管理/16
05系统管理系统管理/24
06网络管理网络管理/20
07磁盘与存储管理磁盘与存储管理/12
08压缩与归档压缩与归档/7
09包管理包管理/7
10Shell 内置与杂项Shell内置与杂项/12