Linux运维:Shell命令与实战技巧
2星 需积分: 28 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运维人员的工作效率,使他们能更有效地管理和维护系统。
2020-07-26 上传
2024-02-18 上传
2024-03-21 上传
2021-05-03 上传
2024-04-01 上传
2024-03-22 上传
machen_smiling
- 粉丝: 509
- 资源: 1984