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
ctrl A+D
screen -ls
screen -r tar
screen -D -r tar
5、mtr www.baidu.com
6、ethtool eth0
7、date -d "yesterday" +%Y-%m-%d
8、uuidgen
9、echo 6 3|awk '{printf ("%.2f\n",$2/$1)}'
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
21、zcat 1.tar.gz
22、
grep -A10 "xxx" ./123.txt
grep -B10 "xxx" ./123.txt
grep -C10 "xxx" ./123.txt
23、echo -n
24、lsof -i :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
30、cat /proc/cpuinfo | grep 'model name' |uniq
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}'
|