嗯!学完别人的课程自己整理的笔记!
控制台使用
操作快捷键(常用)
- 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命令合集
空间分析
- 磁盘空间不足,需要快速定位日志目录
du -x --max-depth=1 / |sort -k1 -nr
du :查看文件和磁盘空间使用情况
-x :跳过其他文件系统
--max-depth=1 :统计根目录下第一级目录中所有文件大小
sort :对文件进行排序
-k :按照哪一列进行排序
-n :对数值进行排序
-r :反向排序
- 系统产生很多碎片文件,导致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数组中所有行信息
文件操作
- 批量查找文件作内容替换
find ./ -type f -name 文件名 -exec sed -i "s/aaaa/bbbb/g" {} \;
-name :指定查找的文件名
-exec :将查到的内容传递给一下一个命令继续执行
sed :内容替换
{} \; :不加可能会报错
- 批量查找文件作拷贝打包
(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目录下
网络连接状态分析
- 网络连接状态分析
netstat -n | awk '/^tcp/ {++S[$NF]}END{for (a in S)print a,S[a]}'
netstat -n :查看主机上tcp、udp连接信息
/^tcp/ :正则表达式,匹配以tcp开头的每一行信息
IP信息提取
- 提取主机上的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} :以/为分隔符打印输出第一列内容
转载:https://blog.csdn.net/qq_42527269/article/details/106525891
查看评论