shell-命令搭配使用
1.以时间排序 列出当前目录下 前30文件数 时间以全时间显示
1
ls -lhm --full-time /var/log/journal/20190711105006363114529432776998/ | sort -k6 | head -n30
2.显示当前目录下使用空间>1G
1
du -s * | sort -nr | awk '{if ( $1/1024 > 1024)printf("%0.4sG %s\n"), $1/1024/1024, $2}'
3.找出25天之前的文件删除
1
find /var/log/journal/20190711105006363114529432776998/ -ctime +30 -exec rm -rf {} \;
4.文件太多无法删除
1
2
3
报错: /bin/rm: Argument list too long
#分组删除
ls | xargs -n 10 rm -rf
5.查当前目录下所有文件的总行数
1
find . -type f | xargs cat | wc -l
6.查看占用最高的cpu的进程
1
ps -eo pid,pcpu,cmd | sort -n -k 2 | tail
7.去除指定列重复行
1
2
3
cat 123.txt | sort -k1 | awk -F"|" '!i[$1]++'
sort 先排序
awk 去除相邻行的重复行保留第一行
8.查看所有docker的network对应的网络段
1
for i in $( docker network ls | grep -v NAME | awk '{print $2}' ); do aa=$(docker network inspect $i | grep -Ew "Subnet" | awk -F"\"" '{print $4}'); printf "%-50s%-30s\n" ${i} ${aa} ;done
9.查看自建kafka指定topic的分区数据存储情况
1
topic_name="kafka-test-007"; aa=0; for i in $(kafka-run-class.sh kafka.tools.GetOffsetShell --topic "${topic_name}" --time -1 --broker-list kafka:9092 | awk -F":" '{print $3}'); do aa=$(($aa+$i)); echo "${topic_name}:${aa}" ;done
10. find 指定多个条件规则
1
2
3
4
5
相同条件匹配多次: -o
find /var/log -type f \( -name "*.[0-9]" -o -name "*.gz" \) -mtime +30 -exec rm -rf {} \;
-name: 目录匹配规则,支持正则
-o: 关联两个相同规则
本文由作者按照
CC BY 4.0
进行授权