Linux系统中有大量实用命令,掌握它们能极大提升工作效率。以下分类整理核心命令及用法示例:
ls - 列出目录内容
ls -l # 详细列表(权限/大小/时间)
ls -a # 显示隐藏文件
ls -lh # 人类可读的文件大小(KB/MB)
cd - 切换目录
cd ~ # 返回家目录
cd - # 返回上一个目录
cp/mv/rm - 复制/移动/删除
cp -r dir1 dir2 # 递归复制目录
mv old.txt new.txt # 重命名文件
rm -i *.log # 交互式删除(确认提示)
find - 高级文件搜索
find /var -name "*.log" -mtime +7 # 查找7天前的日志文件
find . -size +10M -exec ls -lh {} \; # 查找大于10MB的文件并显示详情
grep - 文本搜索
grep -r "error" /var/log/ # 递归搜索目录中的关键词
grep -v "debug" file.log # 排除包含"debug"的行
awk/sed - 文本处理神器
awk '{print $1,$3}' data.txt # 打印第1和第3列
sed 's/foo/bar/g' file.txt # 替换文件中所有foo为bar
head/tail - 查看文件首尾
head -n 20 syslog # 查看前20行
tail -f /var/log/nginx/access.log # 实时追踪日志
top/htop - 进程监控
top -u mysql # 监控MySQL用户进程
htop # 交互式增强版top(需安装)
df/du - 磁盘空间
df -h # 查看磁盘使用情况(人类可读)
du -sh /home/* # 统计家目录各文件夹大小
free - 内存状态
free -m # 以MB为单位显示内存
netstat/ss - 网络连接
netstat -tulnp # 查看监听端口及进程
ss -s # 统计socket使用情况(比netstat更快)
curl/wget - 网络请求
curl -I https://example.com # 仅获取HTTP头
wget --limit-rate=200k http://example.com/file.iso # 限速下载
traceroute/mtr - 路由追踪
mtr -n 8.8.8.8 # 实时路由诊断(结合ping+traceroute)
chmod/chown - 修改权限/所有者
chmod 755 script.sh # 设置rwxr-xr-x
chown user:group file # 修改所有者和组
sudo - 提权执行
sudo -u postgres psql # 以postgres用户身份运行命令
tar - 打包压缩
tar -czvf backup.tar.gz /path # 创建gzip压缩包
tar -xzvf backup.tar.gz -C /tmp # 解压到指定目录
zip/unzip
zip -r project.zip ./project/ # 递归压缩目录
unzip -l archive.zip # 查看压缩包内容
ps/pgrep/kill
ps aux | grep nginx # 查看nginx进程
kill -9 $(pgrep -f "python script.py") # 强制结束指定进程
nohup - 后台运行
nohup ./server.sh > output.log 2>&1 & # 脱离终端持续运行
sudo !!
)bash
alias ll='ls -alF'
掌握这些命令后,可应对90%的日常运维场景。建议通过 man [命令]
查阅手册获取更详细参数说明。