控制台使用技巧
掌握控制台的使用技巧可以帮助我们更高效地操作控制台,提高工作效率,并减少因手动输入命令而产生的错误。以下是一些常用的快捷键;
操作快捷键
- Ctrl + r;快速查找历史命令
- Ctrl + l;清理控制台屏幕
- Ctrl + a;移动光标到命令行首
- Ctrl + e;移动光标到命令行尾
- Ctrl + w;删除光标之前的内容
- Ctrl + k;删除光标之后的内容
VIM文件编辑快捷键
进程操作快捷键
- Ctrl + c;强制终止程序的执行
- Ctrl + z;挂起一个进程
- Ctrl + d;终端中输入
exit
后回车
Linux命令中快捷键(top)
- Shift + p;根据 CPU 使用率排序
- Shift + m;根据内存占用排序
Shell 命令合集
空间分析
场景1:磁盘空间不足,需快速定位日志目录
1
| du -x --max-depth=1 / | sort -k1 -n
|
- du -x –max-depth=1 /;统计根目录下第一级目录的磁盘使用情况,跳过其他文件系统
- sort -k1 -nr:按第一列数值进行降序排序
场景2:系统产生很多碎片文件,导致 inode 资源不足
1
| 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:查找所有文件
- awk -F/ -v OFS=/:按
/
分割文件路径,去除文件名,统计目录
- sort -k1 -nr:按第一列数值进行降序排序
- head:显示前几行
指定文件操作
场景1:批量查找文件作内容替换
1
| find ./ -type f -name consumer.xml -exec sed -i "s/aaaaaa/bbbbbb/g" {} ;
|
- find ./ -type f -name consumer.xml;查找当前目录及其子目录下名为
consumer.xml
的文件
- -exec sed -i “s/aaaaaa/bbbbbb/g” {} ;;对每个找到的文件执行
sed
命令,将 aaaaaa
替换为 bbbbbb
场景2:批量查找文件作拷贝打包
1
| (find . -name "*.txt" | xargs tar -cvf test.tar) && cp -f test.tar /home/
|
- find . -name “*.txt”;查找当前目录及其子目录下所有
.txt
文件
- xargs tar -cvf test.tar;将找到的文件打包成
test.tar
- && cp -f test.tar /home/;如果打包成功,将压缩包复制到
/home/
目录
链接状态分析
场景:想了解用户请求所建立的网络连接状态分析
1
| netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
|
- netstat -n;查看主机上的所有 TCP 和 UDP 连接信息
- awk ‘/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}’;过滤出 TCP 连接,并统计每种连接状态的数量
IP 信息提取
场景:shell 脚本中希望快速提取到本机 IP
1
| ip a | grep "global" | awk '{print $2}' | awk -F/ '{print $1}'
|
- ip a;查看主机上所有网卡的信息
- grep “global”;过滤出全局 IP 地址
- awk ‘{print $2}’;提取第二列内容
- awk -F/ ‘{print $1}’;以
/
为分隔符,提取第一列内容
** 以上是常用 Shell 命令合集及使用技巧的总结,希望对你有所帮助。**