五年屌丝运维工作shell精华
屌丝运维常用shell
列出你最常用的10条shell
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
history | awk '{a[$4]++}END{for(i in a){print a[$i] " " i}}' | sort -rn | head
grep -v "#" .bash_history |awk '{++a[$1]}END{for(i in a)print i,a[i]|"sort -k2 -nr"}' | head
网络连接数目
netstat -an | grep -E "^(tcp)" | cut -c 68- | sort | uniq -c | sort -n #查看状态数连接数
netstat -ntu | awk '{print $5"\n"}' | cut -d: -f1 | sort | uniq -c | sort -nr|head -n 20 #统计IP连接数
netstat -an -t | grep ":22" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort | wc -l #进程连接数
取网卡IP
/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n '/br/{n;p}' #双网卡绑定用这个
/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n '/eth/{n;p}' #普通网卡用这个
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- 或者
ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
系统信息统计
dmidecode -t system |grep -E 'Serial'|awk -F':' '{print $2}' (系统序列号查询)
cat /proc/cpuinfo | grep CPU | awk -F: '{print $2}' | sort|uniq -c (cpu核数)
dmidecode -t system |grep 'Product'|awk '{print $3$4}' (单板设备类型)
dmidecode
| grep -P -A 5 'Memory Device' | grep Size | grep -v Range|grep -i -v
"no module"|sed -r 's/^\s+//g' | sort|uniq -c (内存大小)
echo
`/sbin/ifconfig |sed 's/.*inet addr:\(.*\) Bca.*/\1/g' |sed -n
'/eth/{n;p}' ` `hostname` >>/etc/hosts 取IP和主机名定向到/etc/hostname
系统抓包分析
tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts (tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据 )
less
| awk ' {printf $3"\n"}' | cut -d. -f 1-4 | sort | uniq -c | awk
'{printf $1" "$2"\n"}' | sort -n -t\ +0 (然后检查IP的重复数 并从小到大排序 注意 "-t\
+0" 中间是两个空格 )
系统进程管理
ps -eo pid,lstart,etime | grep 26871 (进程运行时间)
lsof -p 10412 (查看进程打开的文件 10412是进程的PID)
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr (查看进程 按内存从大到小排列 )
ps -e -o "%C : %p : %z : %a"|sort -nr (按cpu利用率从大到小排列)
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9 (杀掉mysql进程)
killall -TERM mysqld 杀掉mysql进程:
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9 杀掉僵死进程
网卡流量
dstat -acdgilmnprstTfy (centos查看网卡流量)
iftop (suse系统网卡流量)
sar -n DEV 1 10 (suse系统网卡流量)
iotop -o (查看那个进程最磨磁盘)
文件管理
删除0字节文件
find -type f -size 0 -exec rm -rf {} \;
查看目录下10个大文件
du -cks * | sort -rn | head -n 10
du -h --max-depth=1 /home
用三种方法将两列合并成一行
cat test
192.168.110.171
00:1F:D0:D4:DD:47
xargs -n 2 < test
sed 'N;s/\n/ /' test
awk -v ORS="" '{printf $0" "}NR%2==0{print "\n"}' 1 test
192.168.110.171 00:1F:D0:D4:DD:47
本文出自 “俊” 博客,请务必保留此出处http://2364821.blog.51cto.com/2354821/1434094
五年屌丝运维工作shell精华的更多相关文章
- CentOS 下运维自动化 Shell 脚本之 expect
CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...
- 面试 Linux 运维工作至少需要知道哪些知识?
前言 我们已经发过不少 Linux 面试题,但是单独的面试题总感觉会过于零碎,没有体系化内容给人的帮助大. 知乎上有这样一个问题:一个新手面试 Linux 运维工作至少需要知道哪些知识?其中有一个答案 ...
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...
- 关于Linux主流框架运维工作剖析
LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运 ...
- linux日常运维工作
Linux的使用环境也日趋成熟,各种开源产品络绎不绝,大有百花齐放的盛景,那么当Linux落地企业,回归工作时,我们还要面对这Linux运维方面的诸多问题,今天我们特意组织一场有关Linux 在企业运 ...
- 运维工作中常用到的几个rsync同步命令
作为一个运维工程师,经常可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能.说到“同步”,不得不提的利器就是rsync. 下面结合本人近几年运维工作中对这一 ...
- 浅谈SDN架构下的运维工作
导读 目前国内的网络运维还处于初级阶段,工作人员每天就像救火一样,天天疲于奔命.运维人员只能埋头查找系统运行的日志,耗时耗力,老眼昏花不说,有时候忙了半天还一无所获,作为运维工程师的你,有木有遇到过类 ...
- 用7天找到月薪9K的Linux运维工作,就靠这四点
作者:99527 来源:http://www.yunweipai.com/archives/20865.html 毕业后做了1年IDC运维,每天看看服务器状态,检查检查硬盘.内存什么的,工作没什么技术 ...
- linux运维工作职责
(1)运维人员要谨记的6个字:运维人员做事需遵循:简单.易用.高效(2)运维人员服务的3大宗旨:1.企业数据安全保障.2.7*24小时业务持续提供服务.3.不断提升用户感受.体验.(3)初中级运维的 ...
随机推荐
- SciPy 安装不上?
参考:链接:https://www.zhihu.com/question/30188492/answer/150928275来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- 解析oui.txt文件,通过MAC前缀获取Organization
1.前言 OUI是指Organizationally unique identifier (组织唯一标识符),签发给各类组织的唯一标识符.MAC地址共有6个字节48位组成,前3个字节体现了OUI,其 ...
- Java-JUC(二):Java内存模型可见性、原子性、有序性及volatile具有特性
1.Java HotSpot JVM运行时数据区 Java内存模型即Java Memory Model,简称JMM.JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式.JVM是整 ...
- ifdef ANDROID总是不好用
在vs的proprocessor definition中定义了ANDRIOD, 但是执行下面的代码的时候,总是说ANDROID is not defined. #ifdef ANDROID ...
- 基于spring与mockito单元测试Mock对象注入
转载:http://www.blogjava.net/qileilove/archive/2014/03/07/410713.html 1.关键词 单元测试.spring.mockito 2.概述 单 ...
- Auty 2017——WebMonitor接口本地检测平台
转载:http://www.cnblogs.com/LanTianYou/p/6272484.html#_label0_0 目录 2016Auty诞生 2017一个新的开始 WebMonitor接口本 ...
- 关于Linux路由表的route命令
转自:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Lin ...
- Android 关于操作栏 ActionBar 的设计原则【转载+整理】
原文地址 本文内容 操作栏目的 基本布局 适应旋转和不同的屏幕尺寸 副操作栏的布局 操作栏按钮 上下文操作栏 操作栏清单 设计原则就是为你在编写 Android APP 时,尤其是如何安排操作按钮的位 ...
- Solidworks公司电脑图纸被加密之后如何解密输出
第一步:打开总装配的组件(该组件需要包含你所有需要的零件),比如打开其中一个: 第二步:Solidworks的菜单中依次:"文件"→"打包"(有的版本是pa ...
- Android Device Monitor工具的使用
在最新的Android Studio3.x版本中,已经去掉了Android Device Monitor工具,但是不代表Android Device Monitor工具就不能用了,找到sdk的目录: ...