一、控制台使用技巧
基于我平时的工作经验,总结出一些我常用的快捷键
1.1 操作快捷键
Ctrl+r:可以快速查找历史命令
Ctrl+a / Ctrl+e:移动光标到命令行首 / 行尾
Ctrl+w / Ctrl+k:删除光标之前 / 之后的内容
1.2 VIM文件编辑快捷键
ZZ:文件保存并退出
1.3 进程操作快捷键
Ctrl+c:强制终止程序
Ctrl+z:挂起一个进程
Ctrl+d: 终端输入exit后回车
1.4 linux命令中快捷键(top)
Shift + p: 根据CPU使用率排序
Shift + m: 根据Mem使用率排序
二、Shell命令合集
首先,我们先对Shell命令合集做一个分类,主要可分为 空间分析,指定文件操作,链接状态分析,IP信息提取
2.1 空间分析
场景1: 磁盘空间不足,需快速定位日志目录
该场景主要用在linux操作系统磁盘空间不足,需要快速定位磁盘使用情况,对文件的磁盘使用率做排序,需要用到如下组合命令:
du -x --max-depth=1 / | sort -k1 -rn #-x 表示跳过其他文件系统
-x表示跳过其他文件系统,只分析本文件系统里面的文件,排除一些额外的干扰项;--max-depth=1 表示只分析/ 目录下第一级目录下的所有文件大小;-k 表示具体按照那一列进行排序;-r是倒序排列;-n表示只对数值排序
场景2:系统产生很多碎片文件,导致 inode 资源不足
该场景主要是操作系统产生大量碎片文件,随之消耗大量innode,innode的过渡使用会导致innode资源不足无法创建文件,因为du 命令只能统计磁盘使用情况无法统计碎片文件的个数,所以统计碎片文件个数需要用到如下组合命令
find -type f | awk -F/ -v OFS=/ '{$NF="";dir[$0]++}END { for (i in dir) print dir[i] i}' | sort -k1 -rn | head
这条命令比较复杂,使用了find,awk,sort,head。
通过find找出指定文件类型的文件,然后管道给 awk,它可以把文本内容按行进行格式化输出并展示,-F / 指定处理文件时字符串之间以 / 进行分割,-v OFS=/ 表示文件显示结果时以 / 进行分割展示。对于awk命令整体规则而言有一个 {} END {} 格式,前面的 {} 表示行处理操作,END{} 表示行处理后需要进行整体结果出,在行处理操作逻辑中,设置$NF 为空表示将每一行的文件名信息去除,从而只保留目录路径,dir 是一个自增数组,用于统计结果。最后通过 for 循环进行遍历输出dir关联数组中所有行信息。
2.2 指定文件操作
场景一:批量查找文件对内容做替换
场景一适用于一个目录下有多个子目录,并且子目录下有大量文件,我们需要找到指定文件然后替换文件里面的内容,需要用到如下组合命令:
(find . -name "*.txt"|xargs tar -cvf test.tar) && cp -f test.tar /home/.
通过find命令查找当前目录下的所有子文件夹名称为 consumer.xml 的文件,然管道给 sed ,通过-i把文件内容替换。
场景二:批量查找文件作拷贝打包
场景二主要是用在对查找到的指定文件进行打包,然后拷贝到指定路径,可以使用如下组合命令:
netstat -n | awk '/^tcp/{arr[$NF]++ } END {for (i in arr) print arr[i] " " i }'
查找当前目录下的所有以 .txt结尾的文件,然后打包成test.tar,如果打包成功则把压缩包拷贝到/home目录下
2.3 网络连接状态分析
场景一:列出tcp协议下的连接,并统计所有状态的总量
场景一主要用在查看服务器当前有多少TCP类型的连接,分析TCP/IP网络状态(ESTABLISHED,TIME_WAIT)
netstat -n | awk '/^tcp/{arr[$NF]++} END {for (i in arr) print arr[i] " " i}'
对于awk命令整体规则而言有一个 {} END {} 格式,上述命令分析了TCP协议下,所有类型连接的总数,可用于分析查看当前服务器连接数。
2.4 IP信息提取
场景一:通过命令获取主机IP信息
ip a|grep "global"|awk'{print $2}'|awk -F/'{print $1}'
ip a负责查看主机上所有的网卡信息,然后过滤 global关键字,打印出第二列,再把子网掩码移除掉即可获取到主机ip
三、常见问题
问题一:Shell适不适合作多并发任务
答:不适合,Shell中一般是通过nohup的方式把需要并发执行的任务放入后台,这样做有存在一些问题,包括 进程状态不好控制,进程间信息共享一般以文件形式进行等,所以当需要进行大的并发任务执行时,建议使用Python,Go,PHP语言实现并发。
问题二:Shell适合用在什么场景中
答:Shell 适合用在追求运维高效(非性能高效)要求的简单场景中,如日志切割、进程分析、系统初始化等。
总结
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]