你应该掌握的运维小知识

嗯!学完别人的课程自己整理的笔记!

控制台使用

操作快捷键(常用)

  • Ctrl+r:快速查找历史命令
  • Ctrl+l:清空控制台内容
  • Ctrl+c:终止执行的程序
  • Ctrl+z:挂起一个进程
  • Ctrl+d:相当于执行exit
  • Ctrl+a\Ctrl+e:移动光标到命令行首\行尾
  • Ctrl+w\Ctrl+k:删除光标之前\之后的内容
  • tab:补全内容

Vim操作快捷键(常用)

  • ^:光标移动到行首
  • $:光标移动到行尾
  • gg:光标移动到第一行
  • G:光标移动到最后一行
  • dd:删除(剪切)光标所在行的内容
  • yy:复制光标所在行的内容
  • P:粘贴内容到光标所在行的下一行
  • {number} dd:删除光标所在的下一行开始的n行内容
  • ZZ:保存并退出

命令中快捷键(top)

  • Shift+p:根据CPU使用率排序
  • Shift+m:根据内存占用排序

Shell命令合集

空间分析

  1. 磁盘空间不足,需要快速定位日志目录
du -x --max-depth=1 / |sort -k1 -nr
du :查看文件和磁盘空间使用情况
-x :跳过其他文件系统
--max-depth=1 :统计根目录下第一级目录中所有文件大小
sort :对文件进行排序
-k :按照哪一列进行排序
-n :对数值进行排序
-r :反向排序
  1. 系统产生很多碎片文件,导致inode资源不足
find -type f | awk -F / -v OFS=/ '{$NF="";dir[$0]++}END{for(i in dir)print dir[i]" "i}'| sort -k1 -nr |head

在这里插入图片描述

find -type f :查找指定文件类型的文件
-F / :字符串之间以/进行分割
-v OPS=/ :表示文件显示结果以/进行分割展示
{}END{} :前面的{}表示行处理操作,END{}表示处理后进行整体结果
$NF="" :表示将每一行的文件名信息去除,只保留目录路径
dir :用于统计结果,最后通过for循环进行输出dir数组中所有行信息

文件操作

  1. 批量查找文件作内容替换
find ./ -type f -name 文件名 -exec sed -i "s/aaaa/bbbb/g" {} \;
-name :指定查找的文件名
-exec :将查到的内容传递给一下一个命令继续执行
sed :内容替换
{} \; :不加可能会报错
  1. 批量查找文件作拷贝打包
(find . -name "*.txt" | xargs tar -cvf test.tar) && cp -f test.tar /opt/.
(find . -name "*.txt" | xargs tar -cvf test.tar) :查找指定目录下以.txt结尾的文件进行打包处理
cp -f test.tar /opt/. :如果上条命令成功,将打包的内容复制到/opt目录下

网络连接状态分析

  1. 网络连接状态分析
netstat -n | awk '/^tcp/ {++S[$NF]}END{for (a in S)print a,S[a]}'
netstat -n :查看主机上tcp、udp连接信息
/^tcp/ :正则表达式,匹配以tcp开头的每一行信息

IP信息提取

  1. 提取主机上的ip信息
ip a | grep "global" | awk '{print $2}' | awk -F / '{print $1}'
ip a :查看ip信息
grep "global" :过滤出包含global关键词的行
awk '{print $2}' :打印输出第二列信息
awk -F / '{print $1} :以/为分隔符打印输出第一列内容

猜你喜欢

转载自blog.csdn.net/qq_42527269/article/details/106525891