Linux系统管理必备:55个高效shell命令实例

0 下载量 131 浏览量 更新于2024-08-29 1 收藏 85KB PDF 举报
本文档汇总了Linux系统管理中常用的一些shell命令,旨在帮助管理员高效地监控和维护系统资源。以下是一些关键知识点的详细介绍: 1. **查看消耗内存/CPU最多的进程**: 使用`ps aux`命令获取所有进程的信息,通过`sort -nk +4`(按第四列数字,即%CPU)和`sort -nk +3`(按第三列数字,即%MEM)对进程进行排序,`tail`用于获取结果的最后10行,可以快速了解当前系统中资源占用最大的进程。 2. **查看进程按内存和CPU排序**: `ps -e -o "%C : %p : %z : %a"`显示进程的CPU占用率(%C)、进程ID(%p)、内存使用情况(%z)和进程状态(%a),然后通过`sort -k5 -nr`或`sort -nr`分别按内存和CPU利用率从高到低排序。 3. **查看Apache并发请求及TCP连接状态**: 使用`netstat -n`获取网络连接信息,`awk`筛选出TCP连接,统计每个连接的状态,最后通过循环打印出并发请求数和对应的TCP连接。 4. **查找磁盘I/O占用的进程**: 首先通过`wget`下载`dstat`工具,然后执行`dstat -M top i/o -d -M top bio`,实时监控磁盘I/O操作的进程。 5. **记录常用命令及使用频率**: 通过读取`~/.bash_history`中的历史命令,用`sed`处理数据,统计命令频率,并按使用次数排序,展示最常用的10条命令。 6. **计算日志中连接时间的平均值**: `access_log`文件中,利用`grep`筛选出包含"connect"的行,`awk`负责计算第10个字段(连接时间)的总和、计数和平均值。 7. **lsof命令**: - 显示特定文件abc.txt被哪些进程打开:`lsof abc.txt` - 查询特定端口22的运行程序:`lsof -i:22` - 查看进程abc的打开文件:`lsof -cabc` - 检视进程号为12的进程文件:`lsof -p12` 8. **rsync命令的高级用法**: - 同步指定日期压缩文件到远程目录:`rsync`结合`find`筛选出指定日期的文件,`-azvR`选项用于归一化、压缩、递归同步,密码文件指定为`/etc/rsync.secrets`。 9. **批量修改文件名**: 将目录下所有`.sh`文件重命名为`.SH`,这通常通过`rename`或`find`和`mv`命令实现。 这些命令在日常Linux系统管理中非常实用,掌握它们可以帮助管理员更好地监控系统性能,定位问题,以及优化资源使用。