55个Linux系统管理必备shell命令汇总

1 下载量 85 浏览量 更新于2024-09-02 1 收藏 86KB PDF 举报
本文档详细介绍了Linux系统管理中常用的55个实用shell命令,这些命令在日常运维和问题排查中具有重要作用。以下是部分命令及其功能的详细介绍: 1. **查看内存和CPU占用率高的进程**: - `psaux | sort -nk +4 | tail` 和 `psaux | sort -nk +3 | tail`:这两个命令用于列出当前系统中消耗内存(第四列)和CPU(第三列)最多的前十个进程。`-n` 表示数值排序,`k` 表示升序(默认为降序),`+4` 和 `+3` 分别代表第四列和第三列。 2. **监控进程资源**: - `ps -e o "%C:%p:%z:%a" | sort -k5 -nr`:显示所有进程,按CPU利用率(第五列)从高到低排序,`%C` 代表CPU占用率。 3. **检查Apache并发请求和连接状态**: - `netstat -n | awk '/^tcp/{++S[$NF]} END{for (ainS) print a, S[a]}'`:通过 `netstat` 获取TCP连接状态,并使用 `awk` 统计每个连接数,最后输出结果。 4. **监控磁盘I/O**: - 安装并使用 `dstat` 命令来查看磁盘I/O,如 `dstat -M topio -d -M topbio`,可帮助分析哪个进程占用I/O最多。 5. **个人常用命令统计**: - `sed -e 's/|/\n/g' ~/.bash_history | cut -d' ' -f1 | sort | uniq -c | sort -nr | head`:统计用户最近的常用命令及其执行次数。 6. **日志分析**: - `cat access_log | grep "connect" | awk '{sum+=$10; count++;} END {printf("sum=%d, count=%d, avg=%f\n", sum, count, sum/count)}'`:计算访问日志中连接时间字段的平均值。 7. **lsof命令**: - `lsof [选项]` 可以查看文件的占用情况,如: - `lsof abc.txt` 显示文件abc.txt被哪些进程打开。 - `lsof -i :22` 检查22端口被哪个程序占用。 - `lsof -c abc` 显示进程abc的打开文件列表。 - `lsof -p 12` 查看进程ID为12的进程打开的文件。 8. **rsync命令**: - 使用 `rsync` 进行文件同步,如 `rsync -azvR --password-file=/etc/rsync.secrets` 同步指定条件下的压缩文件,只同步前一天的文件,且保持远程目录与本地目录结构一致。 这些命令覆盖了Linux系统管理中的关键任务,包括性能监控、进程管理、文件操作和数据同步等,熟练掌握它们将大大提高管理员的工作效率和系统的维护水平。