1、查看 CPU 是否支持KVM虚拟化
egrep -o ‘(vmx|svm)’ /proc/cpuinfo
2、查看当前 Linux Bridge 的配置
brctl show
3、sed在每一行前或后加个字符
在每行的头添加字符:sed 's/^/xx/' filename
在每行的行尾添加字符:sed 's/$/xx/' filename
替换文件的内容:sed -i 's/old/new/g' filename
清除空白行:sed -i '/^\s*$/d' filename
4、打包压缩
打包压缩:tar -czf bcc-sac.tar.gz bcc-sac/
包解压: tar -xzf bcc-sac.tar.gz
5、格式化大盘
mkfs.ext4 -T largefile /dev/xxd
blkid /dev/xxd
6、linux 用awk gsub将一行变成多行
awk 'BEGIN{i=1}{gsub(/#/,"\t"i"\n");i++;print}' uids|sed '/^$/d' > uids_seg
7、监控命令:watch -n 1 -d 'command'
-n,--interval #默认是每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
-d,--differences #会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
-t,-no-title #会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
8、进程绑核:taskset -p ${pid} -c ${number}
1)显示进程运行的CPU:taskset -p pid
注意,此命令返回的是十六进制的,转换成二进制后,每一位对应一个逻辑CPU,低位是0号CPU,依次类推。如果每个位置上是1,表示该进程绑定了该CPU。例如,0101就表示进程绑定在了0号和3号逻辑CPU上了
2)绑核设定
taskset -pc 3 pid 表示将进程pid绑定到第3个核上(注:不用将3弄成二进制的)
taskset -c 3 command 表示执行command命令,并将command启动的进程绑定到第3个核上。
taskset -pc pid 以友好的方式展现出pid所绑定的核
9、合并文件
如果两个文件行数相同,只是希望逐行合并
方法一:paste -d "\t" file_1 file_2
方法二:awk 'NR==FNR{a[NR]=$0;nr=NR;}NR>FNR{print a[NR-nr]"\t"$0}' file_1 file_2
方法三:awk '{getline f2 < "file_2"; print $0"\t"f2}' file_1
10、两个文件
求交集:
comm -12 <(sort a.txt|uniq ) <(sort b.txt|uniq ) 操作之前最好先对文件中的元素做个排序
grep -F -f a.txt b.txt 两个文件都有的元素
求差集:
grep -F -v -f b.txt a.txt b.txt有的元素
grep -F -v -f a.txt b.txt a.txt有的元素
11、获取当前所有TCP的连接状态并统计
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
12、awk
awk '{if ($1==1) print "A"; else if ($1==2) print "B"; else print "C"}' file
awk '{if ($6==0) print $0}' file
13、在大量机器上同时执行脚本
pssh -h iplist -i -o /home/lqq/log/09-07/pssh/ -t 120 sh /tmp/ping_all_cn.sh
报错:
Timed out, Killed by signal 9; 加-t参数,设置任务的超时时间
Exited with error code 255;秘钥的原因??? 有待验证