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