2018年参加运维工作,整理记录下平时使用的一些命令:
如下:
1、使用awk过滤两个文件中的第一例和第三列值相同行
cat a
1 2
3 5
2 4
####
cat b
1 2
4 5
2 4
####
sort a > sa
sort b > sb
paste a b|awk '$1==$3'
1 2 1 2
2 4 2 4
2、查看系统内存
free -m
3、查看磁盘设备
parted -l
fdisk -l
4、创建虚拟终端,方便任务挂起到后台执行
screen -S tar
###打个包 文件很大,如果此时退出终端打包进程就kill了
ctrl A+D ###同时按退出
screen -ls ###查看screen列表
screen -r tar ###进入screen
screen -D -r tar ###如果有其他人登录,可以踢掉别人登录
5、mtr www.baidu.com ###路由跟踪
6、ethtool eth0 ###查看网卡状态,如链路是否正常,速率模式等
7、date -d "yesterday" +%Y-%m-%d ###获取昨天的日期
8、uuidgen ###获取UUID 全球唯一标识
9、echo 6 3|awk '{printf ("%.2fn",$2/$1)}' ###计算触发计算,保留2位小数
10、同时过滤多个条件
cat 1
a
b
c
###
grep -E "a|b" 1
a
b
11、将换行符替换为逗号
cat 1
a
b
c
###
sed ':t;N;s/n/,/;b t' 1
a,b,c
12、sync ###保存内存数据到硬盘,关机前常用
13、sar -d ###查看磁盘运行情况
14、iostat -x 1 ###每隔一秒查看当前硬盘性能
15、dmidecode #查看服务器硬件类型
16、dmesg ###查看内核缓冲区信息
17、ls -rtl
r:以文件名反序排列并输出目录内容列表;
l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
t:用文件和目录的更改时间排序;
18、vipw ###快速查看用户密码文件
19、用rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long. 用xargs去避免这个问题:
find ./ -type f |xargs rm -f
20、stat 1 ###stat命令用于显示文件的状态信息。比file 详细
21、zcat 1.tar.gz ###zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容
22、
grep -A10 "xxx" ./123.txt ###过滤显示123文件的xxx行的后10行
grep -B10 "xxx" ./123.txt ###过滤显示123文件的xxx行的前10行
grep -C10 "xxx" ./123.txt ###过滤显示123文件的xxx行的前10行和后10行
23、echo -n ###不换行输出
24、lsof -i :22 ###查看22端口被哪个进程占用
25、统计文件中每一行有几个逗号
cat 1
a,,,
b,
c,
###
awk --field-separator="," "{ print NF - 1 }" 1
3
1
1
26、wc -w file ###统计文件中有多少单词
27、多行合并为一行
cat 1
a
b
c
d
e
f
###
awk 'NR%2{printf $0" ";next}1' 1
a b
c d
e f
###
awk 'NR%3{printf $0" ";next}1' 1
a b c
d e f
28、awk 'sum=(($1+$2)){print sum}' file ###求文件中第一列和第二列的和
29、cat /proc/cpuinfo | grep "physical id" | uniq | wc -l ###统计CPU个数
30、cat /proc/cpuinfo | grep 'model name' |uniq ###查看CPU型号
31、cat /etc/issue ###显示发行版本
32、nohup tcpdump -i eth1 -s 5000 host x.x.x.x and port xx -w /data/xxxx.cap -C 50M -W 100 -Z root &
-C 存包的大小 -W 存包数量 -w 存放文件(注意存放空间) host 指定过滤ip port 指定过滤端口
文件会循环,最多存 上面制定的数量 x 大小 ,比如上面50M*100 =5G,会占5g的空间,只能存最新的5个g的数据
33、cat file|grep -v "^$"|awk '{sum+=$1} END {print sum/NR}' ###计算第一列平均值



