牛牛在线工具

Linux常用命令大全

现代 Linux 常用命令速查:文件、进程、systemd 服务、网络、磁盘、软件包、Docker 等,附说明。

现代 Linux 发行版(Ubuntu 22.04+/Debian 12+/RHEL 9+ 等)常用命令速查,按用途分类,附简要说明。可用页面上方的筛选框搜索命令或关键词。

文件与目录

文件与目录
命令说明
ls -lah列出文件详细信息(含隐藏文件,大小以 K/M/G 显示)
cd -返回上一次所在的目录
pwd显示当前所在目录的完整路径
mkdir -p a/b/c递归创建多级目录
cp -a src dst复制文件或目录,保留权限、时间戳和链接
mv old new移动或重命名文件
rm -rf dir强制递归删除目录(不可恢复,务必确认路径)
touch file创建空文件或更新文件时间戳
ln -s target link创建软链接
find . -name '*.log' -mtime +7查找当前目录下 7 天前修改的 .log 文件
find / -size +500M 2>/dev/null查找大于 500MB 的文件
tree -L 2以树状结构显示两层目录(需安装 tree)
stat file查看文件的大小、权限、inode 和各项时间
file file识别文件类型
realpath file显示文件的绝对路径
返回页首 ↑

查看与编辑文本

查看与编辑文本
命令说明
cat file输出文件全部内容
less file分页查看大文件,/ 搜索,q 退出
head -n 20 file查看文件前 20 行
tail -n 100 -f app.log查看末尾 100 行并持续跟踪新增内容
grep -rn 'keyword' .递归搜索包含关键词的行并显示行号
grep -v '^#' file过滤掉以 # 开头的注释行
sed -i 's/old/new/g' file在文件中批量替换文本
awk '{print $1}' file打印每行第一列
sort file | uniq -c | sort -rn统计重复行出现次数并按次数倒序
wc -l file统计文件行数
cut -d: -f1 /etc/passwd按冒号分隔取第一列(列出系统用户名)
diff -u a b以统一格式比较两个文件的差异
nano file简单易用的终端文本编辑器
vim file功能强大的文本编辑器,:wq 保存退出,:q! 放弃退出
返回页首 ↑

权限与用户

权限与用户
命令说明
chmod 644 file设置权限为所有者读写、其他人只读
chmod +x script.sh给脚本添加可执行权限
chown -R user:group dir递归修改目录的所有者和所属组
sudo command以管理员权限执行命令
sudo -i切换到 root 交互式环境
whoami显示当前用户名
id user显示用户的 UID、GID 和所属组
useradd -m -s /bin/bash user创建用户并生成家目录
passwd user设置或修改用户密码
usermod -aG sudo user把用户加入 sudo 组(RHEL 系为 wheel 组)
userdel -r user删除用户及其家目录
last查看最近登录记录
返回页首 ↑

系统信息

系统信息
命令说明
uname -a显示内核版本和系统架构
cat /etc/os-release查看发行版名称和版本
hostnamectl查看或修改主机名及系统信息
uptime查看运行时长和平均负载
lscpu查看 CPU 型号、核心数和架构
free -h查看内存和交换分区使用情况
lsblk列出磁盘和分区
lspci / lsusb列出 PCI 设备 / USB 设备
dmesg -T | tail查看内核日志(带可读时间)
timedatectl查看或设置时区和时间同步
date '+%F %T'按“年-月-日 时:分:秒”格式显示当前时间
返回页首 ↑

进程管理

进程管理
命令说明
ps aux列出所有进程
ps aux --sort=-%mem | head按内存占用排序查看前几个进程
top实时查看进程和资源占用,按 q 退出
htop更直观的交互式进程查看器(需安装)
pgrep -a nginx按名称查找进程并显示命令行
kill PID向进程发送终止信号(SIGTERM)
kill -9 PID强制结束进程(SIGKILL)
pkill -f pattern按命令行匹配结束进程
nohup cmd > out.log 2>&1 &让命令在后台运行,退出终端后不中断
jobs / fg / bg查看后台任务 / 切到前台 / 切到后台继续
nice -n 10 cmd以较低优先级运行命令
lsof -p PID查看进程打开的文件
返回页首 ↑

服务与日志(systemd)

服务与日志(systemd)
命令说明
systemctl status nginx查看服务运行状态和最近日志
systemctl start|stop|restart nginx启动 / 停止 / 重启服务
systemctl reload nginx重新加载配置而不中断服务
systemctl enable --now nginx设置开机自启并立即启动
systemctl disable nginx取消开机自启
systemctl list-units --type=service --state=running列出正在运行的服务
systemctl --failed列出启动失败的服务
systemctl daemon-reload修改 unit 文件后重新加载配置
journalctl -u nginx -f实时跟踪某个服务的日志
journalctl -b -p err查看本次开机以来的错误日志
journalctl --since '1 hour ago'查看最近一小时的日志
journalctl --vacuum-size=500M把日志总量清理到 500MB 以内
返回页首 ↑

磁盘与存储

磁盘与存储
命令说明
df -h查看各分区的磁盘使用情况
du -sh *查看当前目录下各文件和目录的大小
du -h --max-depth=1 / | sort -h按大小排序查看根目录下一级目录占用
ncdu /交互式查找占用空间的目录(需安装)
mount /dev/sdb1 /mnt挂载分区到 /mnt
umount /mnt卸载已挂载的分区
blkid查看分区 UUID 和文件系统类型(用于 /etc/fstab)
mkfs.ext4 /dev/sdb1把分区格式化为 ext4(会清空数据)
fdisk -l查看磁盘分区表
smartctl -a /dev/sda查看硬盘健康状态(需安装 smartmontools)
返回页首 ↑

网络

网络
命令说明
ip a查看网卡和 IP 地址(替代已过时的 ifconfig)
ip r查看路由表和默认网关
ss -tlnp查看监听中的 TCP 端口及对应进程(替代 netstat)
ss -s查看连接数统计
ping -c 4 example.com测试网络连通性,发送 4 个包
traceroute example.com跟踪到目标的路由路径(或使用 mtr)
curl -I https://example.com只获取网页的响应头
curl -o file URL下载文件并保存
wget -c URL下载文件,支持断点续传
dig example.com +short查询域名解析结果
nslookup example.com查询域名解析(Windows 也可用)
resolvectl status查看当前使用的 DNS 服务器
nmcli device status查看 NetworkManager 管理的网络设备
scp file user@host:/path通过 SSH 复制文件到远程主机
rsync -avzP src/ user@host:/dst/增量同步目录,显示进度并支持断点续传
返回页首 ↑

SSH 远程

SSH 远程
命令说明
ssh user@host -p 22登录远程主机
ssh-keygen -t ed25519生成 Ed25519 密钥对(推荐算法)
ssh-copy-id user@host把公钥复制到远程主机,实现免密登录
ssh -L 8080:localhost:80 user@host本地端口转发:访问本机 8080 即访问远程 80
ssh -J jump user@target通过跳板机登录目标主机
tmux / tmux attach新建 / 恢复终端会话,断线后任务不中断
返回页首 ↑

防火墙

防火墙
命令说明
ufw status查看 UFW 防火墙状态(Ubuntu/Debian)
ufw allow 443/tcp放行 443 端口
ufw enable启用 UFW 防火墙(先放行 SSH 端口)
firewall-cmd --list-all查看 firewalld 规则(RHEL/CentOS/Rocky)
firewall-cmd --permanent --add-port=443/tcp永久放行 443 端口
firewall-cmd --reload重新加载 firewalld 规则
nft list ruleset查看 nftables 全部规则
返回页首 ↑

软件包管理

软件包管理
命令说明
apt update && apt upgrade更新软件源并升级已安装软件(Debian/Ubuntu)
apt install nginx安装软件包
apt remove --purge nginx卸载软件包并删除配置
apt autoremove清理不再需要的依赖
apt search keyword搜索软件包
dnf upgrade升级系统软件(RHEL 9/Rocky/Fedora)
dnf install nginx安装软件包
dnf provides */bin/dig查找某个文件由哪个软件包提供
rpm -qa | grep nginx查询已安装的 RPM 包
dpkg -l | grep nginx查询已安装的 DEB 包
snap list / flatpak list查看通过 Snap / Flatpak 安装的应用
返回页首 ↑

压缩与解压

压缩与解压
命令说明
tar -czvf a.tar.gz dir把目录打包并用 gzip 压缩
tar -xzvf a.tar.gz -C /path解压 .tar.gz 到指定目录
tar -cJvf a.tar.xz dir打包并用 xz 压缩(体积更小)
tar -tf a.tar.gz查看压缩包内的文件列表
zip -r a.zip dir压缩为 zip 文件
unzip a.zip -d dir解压 zip 到指定目录
zstd file / unzstd file.zst使用 zstd 快速压缩 / 解压
返回页首 ↑

定时任务

定时任务
命令说明
crontab -e编辑当前用户的定时任务
crontab -l列出当前用户的定时任务
0 3 * * * /path/backup.shcrontab 示例:每天 3:00 执行备份脚本(分 时 日 月 周)
*/5 * * * * cmdcrontab 示例:每 5 分钟执行一次
systemctl list-timers查看 systemd 定时器
返回页首 ↑

容器(Docker)

容器(Docker)
命令说明
docker ps -a列出所有容器
docker images列出本地镜像
docker run -d -p 80:80 --name web nginx后台运行容器并映射端口
docker logs -f web实时查看容器日志
docker exec -it web sh进入正在运行的容器
docker compose up -d按 compose.yaml 启动所有服务
docker compose down停止并删除 compose 启动的容器
docker system prune清理停止的容器、无用网络和悬空镜像
返回页首 ↑