Linux 常见命令速查

Linux 常见命令速查


1. 文件与目录操作

命令 说明 示例
ls 列出目录 ls -la / ls -lh
cd 切换目录 cd /var/log / cd -(回上次目录)
pwd 当前路径 pwd
mkdir 创建目录 mkdir -p a/b/c
rmdir 删除空目录 rmdir old-dir
rm 删除文件 rm file.txt / rm -rf dir/
cp 复制 cp -r src/ dest/
mv 移动/重命名 mv old.txt new.txt
touch 创建空文件 / 更新时间戳 touch README.md
cat 查看文件内容 cat /etc/hosts
less 分页查看(支持上下翻) less large.log
head 查看前 10 行 head -n 20 file.txt
tail 查看末尾 / 实时跟踪 tail -f /var/log/syslog
find 搜索文件 find . -name "*.go"
locate 快速文件名搜索(基于数据库) locate nginx.conf
which 定位可执行文件路径 which python3
ln 创建链接 ln -s /target link(软链接)
du 目录/文件大小 du -sh *
df 磁盘空间 df -h
stat 文件详细信息(权限、时间戳等) stat app.log

2. 文本处理

命令 说明 示例
grep 文本搜索 grep -rn "error" /var/log/
sed 流编辑器(替换/删除) sed 's/foo/bar/g' file.txt
awk 文本分析/提取列 awk '{print $1,$3}' data.txt
cut 按列切分 cut -d',' -f1,3 data.csv
sort 排序 sort -n numbers.txt
uniq 去重(通常先 sort) sort \| uniq -c
wc 统计行/词/字符数 wc -l file.txt
diff 文件对比 diff file1 file2
tr 字符替换/删除 cat file \| tr '[:upper:]' '[:lower:]'
tee 同时输出到屏幕和文件 echo "ok" \| tee result.txt

常用管道组合:

# 统计最常出现的 10 个 IP
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -10

# 查找占用最多的 5 个目录
du -sh * | sort -rh | head -5

# 递归搜索 TODO 并排除 node_modules
grep -rn "TODO" --exclude-dir=node_modules .

3. 权限与用户管理

命令 说明
chmod 修改文件权限 chmod 755 script.sh / chmod +x script.sh
chown 修改所有者 chown user:group file.txt
whoami 当前用户
id 用户 UID/GID 信息
sudo 以 root 身份执行 sudo systemctl restart nginx
su 切换用户 su - username
passwd 修改密码
useradd / userdel 添加/删除用户
groupadd 添加用户组
groups 当前用户所属组
umask 默认权限掩码 umask 022

4. 进程管理

命令 说明
ps aux 列出所有进程
ps aux \| grep nginx 查找特定进程
top / htop 实时进程监控(htop 更直观)
kill PID 终止进程(默认信号 15)
kill -9 PID 强制终止
killall 进程名 按名称终止
pkill -f 模式 按命令行匹配终止
bg / fg 后台/前台切换
jobs 查看后台任务
nohup cmd & 后台运行且不受终端退出影响
ctrl+z 暂停当前进程,bg 转到后台
systemctl status 服务 查看服务状态(systemd)
systemctl start/stop/restart 服务 启动/停止/重启服务
journalctl -u 服务 -f 查看服务日志

5. 系统信息与监控

命令 说明
uname -a 内核版本和系统信息
lsb_release -a 发行版信息(Ubuntu/Debian)
cat /etc/os-release 通用发行版信息
hostname 主机名
uptime 运行时间和平均负载
free -h 内存使用
vmstat 虚拟内存统计
iostat CPU 和磁盘 I/O
lscpu CPU 详情
lsblk 块设备(磁盘分区)
dmesg 内核启动日志 dmesg \| tail
journalctl systemd 日志
lsof 列出打开的文件/端口 lsof -i :80
fuser 哪个进程在使用文件/端口 fuser 80/tcp
crontab -l 查看定时任务
history 命令历史

6. 网络相关

命令 说明
ping 连通性测试 ping -c 4 baidu.com
curl HTTP 请求 curl -I https://github.com
wget 下载文件 wget -c url(支持断点续传)
ip addr / ifconfig 查看 IP 地址
ss -tlnp 查看监听端口(替代 netstat)
ss -tlnp \| grep :8080 查看 8080 端口占用
nc (netcat) 网络调试瑞士军刀 nc -zv host 80
dig DNS 查询 dig baidu.com
nslookup DNS 查询(简化版)
traceroute 路由追踪
iptables -L 查看防火墙规则
scp 远程复制 scp file user@host:/path
rsync 同步文件(增量) rsync -avz src/ dest/
ssh 远程登录 ssh user@host -p 22
ssh-keygen 生成 SSH 密钥

7. 包管理

Debian / Ubuntu (apt)

sudo apt update              # 更新软件源
sudo apt upgrade             # 升级所有包
sudo apt install pkg         # 安装
sudo apt remove pkg          # 卸载
sudo apt autoremove          # 清理无用依赖
apt search keyword           # 搜索包
apt show pkg                 # 查看包详情

Red Hat / CentOS / Fedora (dnf/yum)

sudo dnf install pkg         # 安装
sudo dnf remove pkg          # 卸载
sudo dnf update              # 更新
dnf search keyword           # 搜索

通用 (snap / flatpak)

snap install pkg
flatpak install pkg

8. 实用技巧

快捷键

快捷键 作用
Ctrl+C 终止当前命令
Ctrl+D EOF(退出终端)
Ctrl+Z 暂停进程
Ctrl+R 反向搜索历史命令
Ctrl+L 清屏
Ctrl+A / Ctrl+E 跳到行首 / 行尾
!! 重复上一条命令
!$ 上条命令的最后一个参数

重定向

cmd > file.txt       # 覆盖写入
cmd >> file.txt      # 追加写入
cmd 2> errors.log    # 错误输出重定向
cmd &> all.log       # 标准输出+错误合并
cmd > /dev/null 2>&1 # 静默所有输出

其他

# 一行循环处理
for f in *.txt; do echo "处理 $f"; done

# xargs 批量操作
find . -name "*.log" | xargs rm -f

# alias 快捷别名
alias ll='ls -alF'
alias gs='git status'

生成时间:2025-07-03 · 数据来源:Linux 通用命令 + GNU coreutils + systemd 生态

上一篇 云雾 API (yunwu.ai) 使用教程
下一篇 Windows CMD 常用命令速查