发行版命令速查表

跨发行版命令对照大全。无论你从 Debian 切换到 Arch,还是在 CentOS 和 Alpine 之间反复横跳,这张表帮你快速找到对应的命令。记住核心概念:不同发行版的工具名称不同,但要做的事情是一样的。


一、软件包管理

1.1 仓库索引操作

操作apt (Debian/Ubuntu)dnf (Fedora/RHEL)pacman (Arch)zypper (openSUSE)apk (Alpine)nix (NixOS)emerge (Gentoo)
更新包索引apt updatednf check-updatepacman -Syzypper refreshapk updatenix-channel --updateemerge --sync
刷新并升级全部apt update && apt upgradednf upgradepacman -Syuzypper updateapk upgradenixos-rebuild switch --upgradeemerge -uDN @world
列出仓库中包apt listdnf list availablepacman -Slzypper search -sapk search -vnix search nixpkgseix <pkg>
列出已安装包apt list --installeddnf list installedpacman -Qzypper search -iapk infonix-env -qqlist -I
查看包信息apt show <pkg>dnf info <pkg>pacman -Si <pkg>zypper info <pkg>apk info <pkg>nix-env -qaP --description <pkg>emerge -s <pkg>
查看已装包信息apt show <pkg>dnf info <pkg>pacman -Qi <pkg>zypper info <pkg>apk info -L <pkg>nix-env -qa --description <pkg>equery m <pkg>
搜索包apt search <kw>dnf search <kw>pacman -Ss <kw>zypper search <kw>apk search <kw>nix search nixpkgs <kw>emerge --search <kw>
搜索含文件的包apt-file search <f>dnf provides <f>pacman -F <f>zypper se --provides <f>apk info -W <f>equery b <f>

1.2 安装操作

操作aptdnfpacmanzypperapknixemerge
安装包apt install <pkg>dnf install <pkg>pacman -S <pkg>zypper install <pkg>apk add <pkg>nix-env -iA nixpkgs.<pkg>emerge <pkg>
安装本地包dpkg -i <file>.debdnf install <file>.rpmpacman -U <file>.pkg.tar.zstzypper install <file>.rpmapk add --allow-untrusted <file>.apk
跳过依赖检查dnf install --setopt=tsflags=nodocs <pkg>pacman -Sdd <pkg>zypper install --no-recommends <pkg>emerge --nodeps <pkg>
只下载不安装apt download <pkg>dnf download <pkg>pacman -Sw <pkg>zypper download <pkg>apk fetch <pkg>emerge -f <pkg>
安装软件包组apt install <group>dnf groupinstall <grp>pacman -S <group>zypper install -t pattern <pat>emerge --select <set>

1.3 卸载操作

操作aptdnfpacmanzypperapknixemerge
移除包apt remove <pkg>dnf remove <pkg>pacman -R <pkg>zypper remove <pkg>apk del <pkg>nix-env -e <pkg>emerge -C <pkg>
移除+依赖apt autoremove <pkg>dnf autoremove <pkg>pacman -Rs <pkg>zypper rm -u <pkg>apk del <pkg>emerge --depclean <pkg>
移除+依赖+配置apt purge <pkg>pacman -Rns <pkg>
清除孤立包apt autoremovednf autoremovepacman -Qdtq | pacman -Rs -zypper packages --orphanednix-collect-garbage -demerge --depclean
清理缓存apt cleandnf clean allpacman -Sczypper cleanapk cache cleannix-store --gceclean-dist

1.4 仓库管理

操作aptdnfpacmanzypperapknixemerge
添加仓库add-apt-repository <repo>dnf config-manager --add-repo <url>编辑 /etc/pacman.confzypper addrepo <url> <name>编辑 /etc/apk/repositories编辑 /etc/nixos/configuration.nixlayman -a <overlay>
列出仓库apt-cache policydnf repolistpacman -Slzypper reposcat /etc/apk/repositoriesnix-channel --listlayman -l
启用/禁用仓库编辑 /etc/apt/sources.listdnf config-manager --set-enabled <repo>编辑 /etc/pacman.confzypper mr -e/-d <repo>注释/取消注释 /etc/apk/repositorieslayman -a/-d <overlay>
锁版本apt-mark hold <pkg>dnf versionlock add <pkg>编辑 /etc/pacman.conf IgnorePkgzypper addlock <pkg>/etc/portage/package.mask

二、服务管理

2.1 systemd(现代发行版通用)

操作命令
启动服务systemctl start <unit>
停止服务systemctl stop <unit>
重启服务systemctl restart <unit>
重载配置systemctl reload <unit>
查看状态systemctl status <unit>
开机自启systemctl enable <unit>
取消自启systemctl disable <unit>
启用并启动systemctl enable --now <unit>
列出所有单元systemctl list-units
列出所有服务systemctl list-units --type=service
列出失败的systemctl --failed
查看启动日志systemctl status <unit>journalctl -u <unit>
重新加载 systemdsystemctl daemon-reload
编辑单元文件systemctl edit <unit> --full

2.2 非 systemd 发行版

操作OpenRC (Gentoo/Alpine)runit (Void)S6
启动服务rc-service <svc> startsv start <svc>s6-rc -u change <svc>
停止服务rc-service <svc> stopsv stop <svc>s6-rc -d change <svc>
重启服务rc-service <svc> restartsv restart <svc>
查看状态rc-service <svc> statussv status <svc>s6-svstat <dir>
开机自启rc-update add <svc>ln -s /etc/sv/<svc> /var/service/s6-rc-db add <svc>
列出服务rc-statussv status /var/service/*s6-rc -a list

三、网络配置

3.1 网络管理工具

操作NetworkManagersystemd-networkdnetplanifupdown (Debian旧)通用/手动
查看接口nmcli dev statusnetworkctl listnetplan statusifconfig -aip addr show
查看详情nmcli dev show <if>networkctl status <if>ip -s link show <if>
连接 WiFinmcli dev wifi connect <ssid>配置 .network 文件配置 YAML/etc/network/interfacesiwctl / wpa_supplicant
设静态 IPnmcli con mod <name> ipv4.addresses ....network 文件 Address=YAML addresses:/etc/network/interfacesip addr add <ip>/<mask> dev <if>
启用接口nmcli con up <name>networkctl up <if>netplan applyifup <if>ip link set <if> up
禁用接口nmcli con down <name>networkctl down <if>ifdown <if>ip link set <if> down
查看路由nmcli con show <name> | grep ipv4.routesnetworkctl statusroute -nip route show
DNS 配置nmcli con mod <name> ipv4.dns "8.8.8.8"/etc/systemd/resolved.confYAML nameservers:/etc/resolv.confresolvectl

3.2 诊断命令

命令用途
ip addr show查看 IP 地址
ip route show查看路由表
ip neighARP 表
ss -tunlp查看监听端口
ss -tunlp4仅 IPv4 监听端口
ping <host>连通性测试
traceroute <host>路由追踪
mtr <host>MTR 路由诊断
dig <domain>DNS 查询
nslookup <domain>DNS 查询(简化)
curl -v <url>HTTP 调试
tcpdump -i <if>抓包
tsharkWireshark 命令行版
nc -zv <host> <port>端口连通性测试
nmap <host>端口扫描

四、用户管理

操作命令
添加用户useradd -m <user>(通用)/ adduser <user>(Debian 交互式)
设置密码passwd <user>
删除用户userdel -r <user>
修改用户usermod -aG <group> <user>
添加组groupadd <group>
删除组groupdel <group>
查看当前用户whoamiid
查看登录用户whow
查看用户信息id <user>
查看用户组groups <user>
切换用户su - <user>
sudo 提权sudo <cmd>sudo -i
查看 sudoersvisudo(安全编辑 /etc/sudoers
锁定/解锁用户usermod -L <user> / usermod -U <user>
更改 UIDusermod -u <uid> <user>
用户列表getent passwdcat /etc/passwd
组列表getent groupcat /etc/group

五、防火墙

操作iptables/nftablesfirewalld (RHEL系)ufw (Debian/Ubuntu)
查看规则iptables -L -n -v / nft list rulesetfirewall-cmd --list-allufw status verbose
开启防火墙systemctl start iptablessystemctl start firewalldufw enable
放行端口iptables -A INPUT -p tcp --dport <p> -j ACCEPTfirewall-cmd --add-port=<p>/tcpufw allow <p>/tcp
永久规则iptables-savefirewall-cmd --add-port=<p>/tcp --permanent默认永久
封禁 IPiptables -A INPUT -s <ip> -j DROPfirewall-cmd --add-rich-rule='rule ...'ufw deny from <ip>
删除规则iptables -D INPUT <num>firewall-cmd --remove-port=<p>/tcpufw delete allow <p>
默认策略iptables -P INPUT DROPfirewall-cmd --set-default-zone=dropufw default deny
保存规则iptables-save > /etc/iptables/rules.v4firewall-cmd --runtime-to-permanent自动保存

六、日志管理

操作命令
查看系统日志journalctl
查看内核日志journalctl -kdmesg
查看某服务日志journalctl -u <service>
实时跟踪日志journalctl -f
查看本次启动journalctl -b
查看上次启动journalctl -b -1
按时间范围journalctl --since "2024-01-01" --until "2024-01-02"
按优先级journalctl -p err(emerg, alert, crit, err, warning, notice, info, debug)
日志占用空间journalctl --disk-usage
清理旧日志journalctl --vacuum-size=500M
传统 syslog 文件/var/log/syslog, /var/log/messages, /var/log/auth.log

七、文档与帮助

命令用途
man <cmd>查看命令手册
man -k <kw>按关键词搜索手册
man <section> <cmd>查看特定节(1=命令, 2=系统调用, 3=库函数, 5=配置文件, 7=杂项, 8=管理命令)
info <cmd>GNU Info 文档(更详细)
<cmd> --help-h简易帮助
tldr <cmd>社区维护的简明示例页(需安装 tldr
whatis <cmd>一行命令描述
apropos <kw>等同于 man -k <kw>
which <cmd>显示命令的完整路径
type <cmd>显示命令类型(别名/内置/可执行文件)

八、通用命令速查

8.1 文件操作

命令常用示例用途
lsls -lah,ls -ltr列出文件
findfind . -name "*.log" -mtime -7搜索文件
grepgrep -rn "error" /var/log/文本搜索
sedsed -i 's/old/new/g' file流编辑器(原地替换)
awkawk '{print $1}' file文本处理
wcwc -l file行/字/字节数统计
sortsort -n -k2 file排序
uniquniq -c去重(通常配合 sort)
cutcut -d: -f1 /etc/passwd按分隔符切字段
trtr 'a-z' 'A-Z'字符转换
xargsfind . -name "*.txt" | xargs rm将 stdin 转为参数
teecmd | tee log.txt同时输出到屏幕和文件
diffdiff -u old new比较文件
patchpatch < diff.patch打补丁
rsyncrsync -avz src/ dest/同步文件
tartar -czvf archive.tar.gz dir/归档/压缩
lnln -s target linkname创建链接
statstat file查看文件详细信息
realpathrealpath file获取绝对路径

8.2 进程管理

命令常用示例用途
psps aux, ps -ef查看进程
toptop -o %MEM实时进程监控
htophtoptop 增强版(需安装)
pgreppgrep -u <user> <name>按名称查找 PID
pkillpkill -HUP <name>按名称发信号
killkill -9 <pid>按 PID 发信号
lsoflsof -i :80, lsof -p <pid>列出打开的文件
fuserfuser -v /path查看哪个进程在用文件
nicenice -n 10 <cmd>调整优先级启动
renicerenice -n -5 -p <pid>调整运行中的优先级

8.3 磁盘与存储

命令常用示例用途
dfdf -h查看磁盘使用量
dudu -sh *, du -h --max-depth=1查看目录大小
lsblklsblk -f列出块设备
blkidblkid /dev/sda1查看块设备 UUID
fdiskfdisk -l查看分区表
partedparted -l查看分区(支持 GPT)
mountmount /dev/sda1 /mnt挂载
umountumount /mnt卸载
dddd if=/dev/sda of=backup.img bs=4M块级复制
ncduncdu /交互式磁盘空间分析
iotopiotopI/O 监控
iostatiostat -x 1I/O 统计

8.4 性能与监控

命令常用示例用途
uptimeuptime系统负载
freefree -h内存使用
vmstatvmstat 1虚拟内存统计
sarsar -u 1系统活动报告(sysstat 包)
stracestrace -f <cmd>追踪系统调用
ltraceltrace <cmd>追踪库函数调用
perfperf top, perf record性能分析
bpftracebpftrace -e '...'动态追踪
dstatdstat -cdn综合系统资源统计
stressstress --cpu 2 --io 2压力测试

8.5 权限与安全

命令常用示例用途
chmodchmod 755 file, chmod u+x file修改权限
chownchown user:group file修改所有者
umaskumask 022默认权限掩码
chattrchattr +i file文件扩展属性(不可变)
lsattrlsattr file查看扩展属性
getfacl/setfaclsetfacl -m u:user:rw fileACL 访问控制
sudosudo -l列出 sudo 权限
lastlast -n 20登录历史
lastblastb -n 20失败登录记录
faillockfaillock --user <user>查看锁定状态

九、发行版默认配置路径

配置项Debian/UbuntuRHEL/FedoraArchAlpineNixOS
包仓库/etc/apt/sources.list/etc/yum.repos.d/*.repo/etc/pacman.conf, /etc/pacman.d/mirrorlist/etc/apk/repositories/etc/nixos/configuration.nix
网络配置/etc/network/interfaces/etc/sysconfig/network-scripts//etc/systemd/network//etc/network/interfaces/etc/nixos/configuration.nix
DNS/etc/resolv.conf/etc/resolv.conf/etc/resolv.conf/etc/resolv.confnetworking.nameservers in config
防火墙ufw / iptablesfirewalld / iptablesiptables / nftablesiptablesnetworking.firewall in config
日志/var/log/ + journald/var/log/ + journald/var/log/ + journald/var/log/journald only
用户/组/etc/passwd, /etc/group声明式 users.users.<name>
init 系统systemdsystemdsystemdOpenRC / busyboxsystemd
包缓存/var/cache/apt/archives//var/cache/dnf//var/cache/pacman/pkg//etc/apk/cache//nix/store/

相关章节

14-软件包管理通识, 13-网络配置基础, 24-防火墙与安全, Linux 术语对照表, 16-日志系统, 11-systemd服务管理, 38-Linux内核基础与模块, Linux README