📝 267 字 · ☕ 1 分钟阅读
为什么需要掌握 Linux 命令?
90% 的服务器运行在 Linux 上。无论是管理 VPS、部署应用还是排查故障,命令行都是你最高效的武器。本文整理了日常高频使用频率最高的 Linux 命令,按功能分类。
文件操作
ls -la # 列出文件(含隐藏文件)
cd /path # 切换目录
pwd # 显示当前路径
cp file1 file2 # 复制文件
cp -r dir1 dir2 # 复制目录
mv file1 file2 # 移动/重命名
rm file # 删除文件
rm -rf dir # 强制删除目录
mkdir -p a/b/c # 创建多级目录
touch file # 创建空文件或更新修改时间
cat file # 查看文件内容
less file # 分页查看(按 q 退出)
head -n 20 file # 查看前 20 行
tail -n 20 file # 查看后 20 行
tail -f file # 实时跟踪文件变化(日志常用)
文件权限
chmod 755 file # 设置权限(rwxr-xr-x)
chmod +x script.sh # 添加执行权限
chown user:group file # 修改文件所有者
umask # 查看默认权限掩码
文本处理
grep 'pattern' file # 搜索文本
grep -r 'pattern' dir/ # 递归搜索
grep -i 'pattern' file # 忽略大小写
grep -v 'pattern' file # 反向匹配
sed 's/old/new/g' file # 替换文本
sed -i 's/old/new/g' file # 直接修改文件
awk '{print $1}' file # 打印第一列
awk -F: '{print $1,$3}' /etc/passwd # 指定分隔符
wc -l file # 统计行数
sort file # 排序
uniq # 去重
cut -d: -f1 /etc/passwd # 按列切割
进程管理
ps aux # 查看所有进程
ps aux | grep nginx # 搜索特定进程
top # 实时进程监控(按 q 退出)
htop # 增强版 top(需安装)
kill PID # 终止进程
kill -9 PID # 强制终止
killall nginx # 终止所有同名进程
nohup command & # 后台运行(退出终端不终止)
网络工具
ping google.com # 测试网络连通
curl -I https://example.com # 查看 HTTP 响应头
curl -s https://api.example.com # 发送 API 请求
wget https://example.com/file.zip # 下载文件
ss -tlnp # 查看监听端口
netstat -tlnp # 同上(旧工具)
dig example.com # DNS 查询
nslookup example.com # DNS 查询
traceroute google.com # 路由追踪
telnet host port # 测试端口连通
磁盘和系统
df -h # 查看磁盘使用情况
du -sh * # 查看当前目录各文件大小
free -h # 查看内存使用
uname -a # 查看系统内核信息
uptime # 查看系统运行时间
lscpu # 查看 CPU 信息
dmesg | tail # 查看内核日志
journalctl -u sshd # 查看 systemd 服务日志
压缩与归档
tar czf archive.tar.gz dir/ # 压缩目录
tar xzf archive.tar.gz # 解压
zip -r archive.zip dir/ # 压缩为 zip
unzip archive.zip # 解压 zip
gzip file # 压缩文件
gunzip file.gz # 解压
包管理
# Debian/Ubuntu (apt)
sudo apt update # 更新源
sudo apt install nginx # 安装
sudo apt remove nginx # 卸载
sudo apt autoremove # 清理孤立的依赖
apt search keyword # 搜索包
# CentOS/RHEL (dnf/yum)
sudo dnf install nginx
sudo dnf remove nginx
组合技:管道和重定向
# 管道:前一个命令的输出作为后一个命令的输入
ps aux | grep python | grep -v grep | awk '{print $2}'
# 重定向
command > file # 输出到文件(覆盖)
command >> file # 输出到文件(追加)
command 2>&1 # 错误输出重定向到标准输出
# 实战:找出占用磁盘最大的10个文件
du -sh /* 2>/dev/null | sort -rh | head -10
总结
以上命令覆盖了 Linux 日常管理的 90% 场景。建议收藏本文作为速查手册,用的越多越熟练。