一、文件与目录操作命令
1.1 基础操作类
ls命令是文件列表查看的核心工具,常用参数组合包括:
ls -l:显示详细信息(权限、所有者、大小等)ls -a:显示隐藏文件(以.开头的文件)ls -lh:人类可读格式显示文件大小(KB/MB/GB)
示例:ls -alh /var/log可查看系统日志目录的完整信息。
cd命令需注意相对路径与绝对路径的差异:
cd ~:快速返回用户主目录cd -:返回上一个工作目录cd ../:进入上级目录(注意斜杠方向)
pwd命令在脚本开发中尤为重要,可确保操作路径的准确性。建议配合环境变量使用:CURRENT_DIR=$(pwd)。
1.2 文件操作类
cp命令的递归复制功能:
cp -r /source/dir /target/dir/ # 复制目录cp -i *.txt backup/ # 交互式复制(覆盖前确认)
rm命令的谨慎使用原则:
- 强制删除:
rm -f file.txt(慎用!) - 递归删除目录:
rm -r dir/ - 安全替代方案:
mv obsolete_files /trash/
find命令的高级搜索技巧:
find /home -name "*.log" -size +10M # 查找大于10MB的日志文件find . -type f -mtime +7 -delete # 自动删除7天前的文件
二、权限管理命令
2.1 基础权限控制
chmod的数字表示法:
- 755权限:
chmod 755 script.sh(rwxr-xr-x) - 递归修改目录权限:
chmod -R 750 /secure_data/
chown命令的批量操作示例:
chown -R webuser:webgroup /var/www/find /var/www/ -type d -exec chmod 750 {} \;find /var/www/ -type f -exec chmod 640 {} \;
2.2 高级权限管理
setfacl实现精细权限控制:
setfacl -m u:developer:rwx /project/setfacl -d -m g:team:r-x /shared/ # 设置默认权限
sudo配置的最佳实践:
- 使用
visudo编辑配置文件 - 按角色分配权限而非个人
- 记录所有sudo操作:
Defaults logfile=/var/log/sudo.log
三、进程管理命令
3.1 进程监控
ps命令的常用组合:
ps aux | grep nginx # 查看nginx进程ps -eo pid,ppid,cmd,%mem # 自定义输出列
top与htop的对比使用:
top:基础进程监控(Ctrl+M按内存排序)htop:彩色显示,支持鼠标操作(需安装)
3.2 进程控制
kill信号详解:
- SIGTERM(15):优雅终止(默认)
- SIGKILL(9):强制终止(慎用)
- SIGHUP(1):重启服务
示例:kill -HUP $(cat /var/run/nginx.pid)
systemctl服务管理:
systemctl status mysql # 查看服务状态systemctl enable nginx # 开机自启systemctl isolate multi-user.target # 切换运行级别
四、网络调试命令
4.1 基础网络工具
netstat的替代方案ss:
ss -tulnp | grep 80 # 查看80端口监听ss -s # 网络统计信息
curl的调试技巧:
curl -v http://example.com # 显示详细请求curl -I http://example.com # 只获取响应头curl -X POST -d "key=val" http://api/
4.2 高级网络诊断
tcpdump抓包示例:
tcpdump -i eth0 port 80 -w capture.pcaptcpdump -nn -A port 443 | grep "HTTP/1.1"
nmap端口扫描:
nmap -sV 192.168.1.1 # 版本检测nmap -p 1-1000 192.168.1.1 # 端口范围扫描
五、系统信息命令
5.1 硬件信息
lscpu与dmidecode对比:
lscpu | grep "Model name" # CPU型号dmidecode -t bios # BIOS信息lsblk # 块设备列表
5.2 性能监控
vmstat实时监控:
vmstat 1 5 # 每秒1次,共5次procs: r=运行队列 b=阻塞进程memory: swpd=交换分区使用
iostat磁盘IO监控:
iostat -x 1 # 显示扩展统计%util: 设备利用率(>80%需优化)
六、实用技巧与建议
-
命令组合:使用管道
|和重定向>提升效率grep "error" /var/log/syslog | wc -ltar czf archive.tar.gz $(find . -name "*.txt")
-
历史命令:
Ctrl+R:反向搜索历史history | grep "command":查找特定命令
-
别名设置:在
~/.bashrc中添加常用别名alias ll='ls -alFh'alias update='sudo apt update && sudo apt upgrade'
-
安全建议:
- 避免直接使用
root操作 - 定期审计
/var/log/auth.log - 使用
fail2ban防止暴力破解
- 避免直接使用
-
性能优化:
- 对大文件操作使用
ionice - 磁盘密集型任务安排在低峰期
- 使用
nice调整进程优先级
- 对大文件操作使用
本指南系统梳理了Linux系统管理的核心命令,涵盖从基础操作到高级调试的完整场景。建议开发者结合实际需求,通过man 命令名深入学习参数细节,并建立个人命令笔记库。掌握这些命令后,可进一步提升通过脚本自动化处理复杂任务的能力,真正实现高效系统管理。