分享一下Linux 系统中使用频率较高的 10 条命令行组合,涵盖系统管理、日志分析、文件操作等场景:
1.查找并终止进程
ps aux | grep [进程名] | awk '{print $2}' | xargs kill -9
• 用途:通过管道符 | 组合多个命令,快速定位并强制终止指定进程。
2.实时追踪日志并过滤关键字
tail -f /var/log/nginx/access.log | grep '500'
• 用途:动态查看日志文件(如 Nginx),同时过滤出包含特定错误码(如 500)的行。
3.一键更新系统
sudo apt update && sudo apt upgrade -y
• 用途:&& 确保上一条命令成功后执行下一条,适用于 Debian/Ubuntu 系统更新。
4.查找文件并批量压缩
find /path -name "*.log" -exec tar -rvf logs.tar {} \;
• 用途:将指定目录下的所有 .log 文件追加到 logs.tar 归档中。
5.统计代码行数
find . -name "*.py" | xargs wc -l
• 用途:统计当前目录下所有 Python 文件的总代码行数。
6.下载并解压文件
wget http://example.com/file.tar.gz && tar xzf file.tar.gz
• 用途:下载压缩包后自动解压,适用于快速部署文件。
7.检查端口占用
sudo netstat -tulnp | grep :80
• 用途:查看占用 80 端口的进程信息,常用于排查服务冲突。
8.按大小排序目录占用
du -sh * | sort -hr
• 用途:列出当前目录下所有子目录/文件的大小,并按从大到小排序。
9.生成随机密码
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 12; echo
• 用途:利用系统随机设备生成 12 位字母数字组合的密码。
10.分析日志高频 IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10
• 用途:统计访问日志中最活跃的 10 个 IP 地址,适用于安全分析。
11. 服务操作
启动服务:systemctl start service_name 停止服务:systemctl stop service_name 重启服务:systemctl restart service_name 启用服务(开机自启): systemctl enable service_name 禁用服务(禁止开机自启):systemctl disable service_name 查询服务状态:systemctl status service_name 查看服务: systemctl list-units --type=service [--state=running] 查看服务状态: systemctl list-unit-files --type=service [--state=enabled] 定位服务启动失败: journalctl -xe
12. 创建软符号连接
$ ln -s <src_file> <dst_symbol>
附录 A:高频技巧
• 快捷重试上条命令:sudo !! (以 root 权限重试上条命令)。
• 后台运行命令: nohup command & (退出终端后命令仍运行)。
• 组合输出重定向: command > output.log 2>&1 (将标准输出和错误一起写入日志)。
这些组合通过管道、逻辑符和命令链简化复杂操作,是 Linux 高效运维的利器!