🔥 Debian 常用命令(高级参数详解)
系统环境:Debian
面向:已掌握基础命令,希望深入理解参数与排错能力的用户
📚 目录
- 一、ls 高级用法
- 二、chmod 与权限进阶
- 三、find 精准搜索
- 四、grep 深度匹配
- 五、ps / top 进阶分析
- 六、ss 网络排查
- 七、journalctl 日志分析
- 八、apt 高级管理
- 九、du / df 空间排查
- 十、系统排错思维总结
一、ls 高级用法
基础用法大家都会:
ls -l进阶参数:
1️⃣ 按时间排序
ls -lt按修改时间排序,最新在最前。
2️⃣ 反向排序
ls -ltr最早修改的在最前,适合排查日志。
3️⃣ 显示 inode
ls -li排查硬链接问题时非常有用。
4️⃣ 显示隐藏文件
ls -la二、chmod 与权限进阶
数字权限原理
- 4 = r
- 2 = w
- 1 = x
例如:
chmod 755 file等价于:
chmod u=rwx,g=rx,o=rx file递归修改目录
chmod -R 755 目录⚠️ 注意:递归修改可能破坏执行权限。
设置粘滞位(Sticky Bit)
chmod +t 目录常见于 /tmp,防止用户删除他人文件。
三、find 精准搜索(运维必备)
按名称查找
find / -name "nginx.conf"忽略大小写
find / -iname "nginx.conf"按大小查找
查找大于 100MB 文件:
find / -size +100M按时间查找
7 天内修改的文件:
find / -mtime -7执行操作
删除匹配文件:
find /path -name "*.log" -exec rm -f {} \;四、grep 深度匹配
忽略大小写
grep -i error file.log显示行号
grep -n error file.log显示前后内容
grep -C 3 error file.log递归搜索目录
grep -r "listen 80" /etc使用正则表达式
grep -E "error|fail" file.log五、ps / top 进阶分析
按 CPU 排序
ps aux --sort=-%cpu | head按内存排序
ps aux --sort=-%mem | head查看特定进程树
ps -ef --foresttop 实时排序
在 top 中:
- 按
P→ 按 CPU 排序 - 按
M→ 按内存排序
六、ss 网络排查
替代旧的 netstat。
查看监听端口
ss -tuln显示进程
ss -tulnp查看指定端口
ss -tulnp | grep 80查看连接状态
ss -s用于排查:
- 端口被占用
- 连接数异常
- TIME_WAIT 过多
七、journalctl 日志分析
现代 Debian 使用 systemd。
查看某服务日志
journalctl -u nginx最近 100 行
journalctl -n 100指定时间范围
journalctl --since "1 hour ago"实时查看
journalctl -f八、apt 高级管理
查看已安装软件
apt list --installed查看软件信息
apt show nginx查询哪个包提供某文件
apt-file search 文件名(需先安装 apt-file)
锁定版本
apt-mark hold 软件名防止自动升级。
九、du / df 空间排查
查看磁盘使用
df -h排查大目录
du -sh *查找最大目录
du -ah / | sort -rh | head -20常用于:
- 服务器磁盘爆满排查
- 日志膨胀定位
十、系统排错思维总结
命令只是工具,关键在于顺序。
排错思路通常是:
- 服务是否运行?(systemctl)
- 端口是否监听?(ss)
- 日志是否报错?(journalctl)
- 权限是否正确?(ls -l)
- 资源是否不足?(top / free / df)
结构清晰,问题就清晰。
📌 结语
高级命令的意义不在于记忆,而在于理解:
- 文件系统如何组织
- 权限如何影响访问
- 进程如何调度
- 网络如何连接
- 日志如何记录
当你理解系统结构,命令只是表达方式。
⚠️ 免责声明
本文所涉及的命令示例与操作说明,均基于作者在 Debian 系统环境中的实践经验整理,仅用于技术学习与研究参考。
由于服务器环境、软件版本、系统配置及权限模型的差异,部分命令在不同环境中可能产生不同结果。请在执行涉及系统配置修改、权限调整、服务重启、数据删除等高风险操作前:
- 确认当前用户权限(是否为 root 或 sudo)
- 备份重要数据与配置文件
- 在测试环境中验证命令有效性
- 理解每个参数含义后再执行
作者不对因直接复制执行本文命令而造成的系统故障、数据丢失、安全问题或业务中断承担任何责任。
本文不构成任何商业运维承诺或技术服务保证。读者应自行承担使用风险。
评论