1.控制台使用技巧
操作快捷键
Ctrl+r:可以快速查找历史命令
Ctrl+l:可以清理控制台屏幕
Ctrl+a\Ctrl+e:移动光标到命令行首\行尾
Ctrl+w\Ctrl+k:删除光标之前\之后的内容
VIM文件编辑快捷键
快捷键ZZ:文件保存并退出
进程操作快捷键
Ctrl+c:强制终止程序的执行
Ctrl+z:挂起一个进程
Ctrl+d:终端中输入exit后回车
linux命令中快捷键(top)
Shift+p:根据CPU使用率排序
Shift+m:根据内存占用排序
2.shell命令合集分类
空间分析-场景1:
磁盘空间不足,需快速定位日志目录
du-x--max-depth=1/|sort -k1 -nr
-x 参数表示跳过其他文件系统
--max-depth 参数设置为1,可以统计出根目录下第一级目录中所有文件大小
-k 参数指明具体按照哪一列进行排序
-n 参数表示只对数值进行排序
-r 参数表示反向排序
整体分析sort这一段命令的意思就是指定第一列并按照数据大小做反序排序
空间分析-场景2:
系统产生很多碎片文件, 导致inode资源不足
需要如下组合命令
find-type f l awk-F/ -v 0FS=/'{$NF=""; dir[$0] ++} END{for(i in dir) print dir[i] ""i} 'sort-k1-nr | head
find命令通过-type-f参数查找指定文件类型的文件, 然后将查找结果通过管道传递给awk
-F/指定处理文件时字符串之间以/进行分割
-v OPS=/表示文件显示结果时以/进行分割展示
awk命令整体规则而言有一个{} END{}格式, 前面的{}表示行处理操作, END{} 表示行处理后需要进行整体结果
行处理操作逻辑中, 设置$NF为空表示将每一行的文件名信息去除, 只保留目录路径, dir是一个自增数组, 用于统计结果
最后通过for循环进行遍历输出dir关联数组中所有行信息。
文件操作-场景1:
批量查找文件作内容替换
需要如下组合命令
find ./ -type f -name consumer.xml-exec sed -i "s/aaaaaa/bbbbbb/ g"{}\;
-name参数指定查找的文件名
-exec参数将查找到的内容传递给下一个命令去继续执行相关逻辑
sed命令主要对文件内容进行替换, 这里会将consumer文件中的aaaaaa替换成bbbbbb
文件操作-场景2:
批量查找文件作拷贝打包
需要如下组合命令
(find .-name "*.txt" | xargs tar-cvf test.tar) && cp -f test.tar /home/.
括号中 包含两条命令,它们使用管道符进行连接
括号外
通过"&&"符号与第三条命令进行连接,也就是我们首先需要执行括号中的组合命令, 先查找所有.txt文件
然后将结果传递给xargs命令进行打包,如果打包成功后才将压缩包传递给cp命令进行拷贝
网络连接状态分析
想了解用户请求所建立的网络连接状态分析
netstat-n|awk '/^tcp/{++S[$NF] END{for(a in S) print a,S[a] } '
netstat-n命令 负责查看主机上的所有TCP、UDP连接信息
awk命令
负责对这些信息进行进一步的处理
'斜杠'括起来的正则表达式
主要用来匹配以tcp开头的每一行信息, 这里的正则表达式起到了一个过滤的作用(只分析tcp的连接) 后面则是对信息过滤后进行具体的统计和输出。
IP信息提取
提取主机上的IP信息
需要如下组合命令
ip a l grep "global " | awk'{print $2} 'awk-F/'{ print $1} '
ip a负责查看主机上所有网卡的信息
通过grep进行条件过滤
再通过awk实现第二列内容输出
最后通过awk以指定/作为分隔符来打印第一列的信息