Linux运维:Shell命令与实战技巧

2星 需积分: 28 71 下载量 2 浏览量 更新于2024-07-20 收藏 153KB PDF 举报
"这篇资源主要介绍了在Linux运维工作中Shell的常用技巧,涵盖了目录切换、文件备份、日志清空、历史命令使用、进程检测、文件查找、Man文档转换、Grep命令、端口检测、后台任务管理、Vim编辑器的多窗口操作以及Shell内置变量的使用等实用技能。" 在Linux运维工作中,Shell脚本是系统管理员日常操作的核心工具,它允许用户以高效的方式执行一系列命令。以下是一些关键知识点: 1. **目录切换**: - `cd -`:返回上一次的目录。 - `cd ~`:进入用户的家目录。 - `cd !$`:再次执行上一个命令,通常用于重复进入某个目录。 2. **文件备份与日志清空**: - `cp some_file_name{,.bak}`:快速备份文件,添加.bak扩展名。 - `echo "" > file`:清空文件内容。 3. **历史命令与快捷执行**: - `history`:查看命令历史。 - `!$`:执行上一条命令的最后一个参数。 - `!数字`:执行历史记录中的指定命令。 - `!命令`:执行带有特定参数的最近命令(高级方式去参数)。 4. **进程与文件检测**: - `watch -n2 ps -ef`:每两秒刷新一次进程状态。 - `lsof | awk '{if ($7>1048576) print $7/1048576"MB",$9}' | sort -n -u | tail`:找出占用内存超过1MB的文件。 5. **Man文档转换**: - `man grep | col -b > grep.man.txt`:将Man手册页转换为文本文件。 6. **Grep命令**: - `grep "内容" . --R`:递归搜索当前目录下包含指定内容的文件。 - `grep -v`:排除包含特定内容的行。 - `grep -E`:支持正则表达式搜索,如多条件匹配。 7. **端口检测**: - `echo >/dev/tcp/108.166.215.68/81 && echo "open"`:检查指定主机的端口是否开放。 8. **前后台任务管理**: - `fg`:将后台任务调至前台。 - `bg`:将暂停的任务放回后台运行。 - `Ctrl + z`:将任务暂停到后台。 9. **网络分析**: - `netstat -anlp | grep 80 | grep tcp | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | head -n20`:找到访问HTTP服务最多的前20个IP地址。 - `cat access.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -20`:找出访问量最高的前20个文件或页面。 10. **Vim编辑器**: - `:new`, `:split`, `:vsplit`:创建新的横向或纵向窗口。 - `:ctrl+w+j/k`:在Vim窗口间切换。 - `vimdiff`:比较两个文件的差异,支持水平或垂直对比。 - `:qall`,`:qall!`:关闭所有或强制关闭所有打开的文件。 11. **Shell内置变量**: - 在Shell脚本中,可以利用内置变量如 `$0`, `$1`, `$#` 等来处理命令行参数,`$$` 表示当前进程ID,`$?` 存储上一个命令的退出状态。 这些技巧能够显著提升Linux运维人员的工作效率,使他们能更有效地管理和维护系统。