常用的 Linux 命令


安装ps命令

1yum install -y procps
2apt-get update
3apt-get install procps

安装 vi 命令

1yum install -y vim
2apt-get update
3apt-get install vim

安装ping命令

1yum install -y iputils
2
3## 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包
4apt-get update
5apt-get install iputils-ping
6apt-get install dnsutils

yum -y install telnet

安装telnet命令

1yum install -y telnet
2https://www.cnblogs.com/east7/p/15834866.html

查找目录下文件大小

 1du -h --max-depth=4 |grep 'G' |sort
 2
 3find / -type f -size +1000M -print0 | xargs -0 du -h | sort -nr
 4
 5du -d5 -h ./ | sort -h
 6
 7#按文件大小逆向排序  
 8ls -lSr
 9
10# 按文件大小排序  
11ls -lS

查找目录下文件

1find ./ -name test-sql.txt | xargs sed -i 's/dws_xxxx_product_ad_spu_df/dws_xxxx_product_ad_spu_df_backup/g'
2find ./ -name ad_spu.sql | xargs sed -i 's/dws_xxxx_product_ad_spu_df/dws_xxxx_product_ad_spu_df_backup/g'

清空文件内容

1cat /dev/null > filename
2: > filename
3> filename
4echo "" > filename
5echo > filename

统计筛选日志

 1#查找特定日志格式下的某个字段
 2awk -F'[,]' '{print $19}' server-verbose.log | awk -F':' '{print $2}'
 3awk -F'[,]' '{print $19}' server-verbose.log | awk -F':' '{print $2}' | awk '{print substr($1,1,8)}'
 4
 5#删除特定字符
 6awk -F'[,]' '{print $19}' server-verbose.log | awk -F':' '{print $2}' | sed 's/"//g' 
 7
 8#去重,uniq只会去重相邻的两行,因此需要先sort 排序
 9awk -F'[,]' '{print $19}' server-verbose.log | awk -F':' '{print $2}' | sed 's/"//g' | sort | uniq
10
11cat xxx.log | awk -F'[,]' '{print $19}' | awk -F':' '{print $2}' | sed 's/"//g' | sort | uniq
12awk -F'[,]' '{print $19}' server-verbose.log | awk -F':' '{print $2}' | sed 's/"//g' | awk '!x[$0]++'
13
14## 排序并按照次数删除
15sort | uniq | wc -l
16
17#统计人数
18cat test.txt|awk -F '|' '{x[$1]++;} END{for(i in x) print(i ":" x[i])}'

文件之间差集

1# a-b的差集
2sort gray_user_id.txt 近30天访问用户旅程用户与全部重点用户.txt | uniq -u >> diff_data.txt;
3
4# 查询 a.txt内容且排出b.txt的内容
5grep -v -f 近30天访问用户旅程用户与全部重点用户.txt total_gray_user_id.txt | uniq -u >> gray_user_batch4.txt
6
7# 两个文件内容交集
8comm -1 -2 gray_user_id.txt anonymous_user_id.txt

流量抓包

1# -v : 打印详细输出,-i : 指定网卡, 例如eth0, any代表所有网卡,-s : 指定捕获的数据包的大小, 0代表不限制
2# -w : 保存到文件 test.cap,host : 过滤IP,port : 过滤端口
3tcpdump -v -i any -s 0 -w test.cap host 192.168.0.1 and port 5001
4
5# nohup : 后台抓包,-C : 每隔500M生成一个文件,-W : 保留最近生成的5个文件
6nohup tcpdump -i eth0 host 192.168.0.1 -w /tmp/test.pcap -C 500 -W 5 &
7
8# linux上查看抓包文件
9tcpdump -r test.cap

端口使用

1netstat -tuln | grep :8849