1、vi进行16进制编辑和替换
1 2 3 4 5 6 7 8 |
#进入16进制编辑模式 :%!xxd #替换(注意替换会将左边地址列也替换掉) :%s/c4e3//g #恢复文本模式 :%!xxd -r |
2、sed删除匹配行的时候不区分大小写,使用Id,精确匹配,添加\<\>
1 2 3 4 |
sed -i '/Database/Id' .dblist sed -i '/\<Database\>/Id' .dblist |
3、ps查看进程的精确启动时间
1 2 3 |
ps -eo pid,lstart,etime,cmd |
4、时间戳和格式化时间互转
1 2 3 4 |
date -d @1664500274 +"%Y-%m-%d %H:%M:%S" date -d "2022-09-30 09:11:14" +"%s" |
5、将秒为单位的时间差转化为时分秒格式
1 2 3 |
date -d@3611 -u +"%H:%M:%S" |
6、计算浮点数并获取指定长度的小数位
1 2 3 4 |
t_float="0.9812" echo "${t_float}*100" | bc | awk -F. '{print $1"."substr($2,1,2)}' |
7、解压rpm包
1 2 3 |
rpm2cpio mydumper-0.15.2-6.el7.x86_64.rpm | cpio -div |
8、使用sed将同文件中同个字符按照递增序列替换
1 2 3 4 5 6 7 8 9 10 11 12 13 |
idx=1 while : do grep tb_0 all_table_type.sql > /dev/null if [ $? -eq 0 ];then sed -i "0,/tb_0/s//tb_${idx}/" all_table_type.sql idx=$(($idx+1)) else break fi done |
9、strtime和uninxtime转化
1 2 3 4 5 6 |
#unixtime转date格式 date +"%Y%m%d %H:%M:%S" -d @1722390574 #date格式转unixtime date -d "2024-04-24 21:23:08" +"%s" |
10、查看进程的具体启动时间
ps -p 123 -o lstart,cmd
11、使用ssh远程nohup后台运行程序时需要给命令添加重定向才能起用
ssh root@192.168.1.10 "cd /data1; nohup tcpdump -i any -s 0 -w 123.pcap tcp port 123 or tcp port 124 > /dev/null 2>&1 &"
12、删除docker默认安装的网桥
brctl delbr docker0
13、检测两台linux主机的时间差
clockdiff 10.13.1.100