Linux三剑客测试

1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写

grep -i '^s' /proc/meminfo 
grep '^e|^E' /proc/meminfo
sed -n '/^[sS]/p' /proc/meminfo
awk -F: '/^[sS]/{print $0}' /proc/meminfo 

2、显示当前系统上的root,centos或者user的信息

grep -rE '^(root|centos|user)' /etc/

3、找出/etc/init.d/function文件下包含小括号的行

grep -E '\(.*?\)' /etc/init.d/functions

4、输出指定目录的基名

基名指的是当前所在地方的上一层文件夹
pwd | awk -F/ '{print $NF}'

5、找出网卡信息中包含的数字

egrep - '[0-9]+' /etc/sysconfig/network-scripts/ifcfg-eth[01]

6、找出/etc/passwd下每种解析器的用户个数

awk -F: '{arr[$NF]++} END{for(i in arr){printf "%-15s:%d\n",i,arr[i]}}' /etc/passwd
awk -F: '{!arr[$NF]++} END{for(i in arr){printf "%-15s:%d\n",i,arr[i]}}' /etc/passwd

7、过滤网卡中的ip,用三种方式实现

[root@localhost text]# ip a | egrep -o "([0-9]{1,3}\.){1,3}[0-9]{1,3}" 
127.0.0.1
192.168.15.101
192.168.15.255
172.16.1.101
172.16.15.255
[root@localhost text]# ip a | sed -n -r "/([0-9]{1,3}\.){1,3}[0-9]{1,3}/p"
    inet 127.0.0.1/8 scope host lo
    inet 192.168.15.101/24 brd 192.168.15.255 scope global eth0
    inet 172.16.1.101/20 brd 172.16.15.255 scope global eth1
        
[root@localhost text]# ip a | awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/'
    inet 127.0.0.1/8 scope host lo
    inet 192.168.15.101/24 brd 192.168.15.255 scope global eth0
    inet 172.16.1.101/20 brd 172.16.15.255 scope global eth1

8、搜索/etc目录下,所有的.html或.php文件中main函数出现的次数

find /etc/ -name '*.html' -o -name '*.php' | egrep -o 'main' | wc -l

9、过滤php.ini中注释的行和空行

 egrep -v '^\ *#|^$' php.in 

10、找出文件中至少有一个空格的行

egrep '\ ' 1.txt

11、过滤文件中以#开头的行,后面至少有一个空格

grep -vE '^#\ +' 

12、查询出/etc目录中包含多少个root

 find /etc | grep -o 'root' | wc -l

13、查询出所有的qq邮箱

egrep  "[0-9A-Za-z_-]+@(qq\.com)"

14、查询系统日志中所有的error

egrep -i 'error' /var/log/messages

15、删除某文件中以s开头的行的最后一个词

grep '^s' 1.txt | sed -r 's/[0-9a-zA-Z]+$//g'

16、删除一个文件中的所有数字

 sed -r 's/[0-9]+//g' 1.txt

17、显示奇数行

awk -F: 'NR % 2 == 1{print $0}' 1.txt

18、删除passwd文件中以bin开头的行到nobody开头的行

sed -r '/^bin/,/^nobody/d' /etc/passwd

19、每隔两行显示一次

 awk -F: 'NR % 2 == 0{print $0}'

20、每隔5行打印一个空格

awk -F: '{if(NR%5==0){print""}{print $0}}' /etc/passwd

21、不显示指定字符的行

grep -v

22、将文件中1到5行中aaa替换成AAA

sed -r '1,5s/aaa/AAA/g' 1.txt

23、显示用户id为奇数的行

awk -F: '{if($3%2){print$0}}' /etc/passwd

24、显示系统普通用户,并打印系统用户名和id

awk -F: '{if($3>1000){print $1,$3}}' /etc/passwd

25、统计nginx日志中访问量(ip唯独计算)

grep -E -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log
grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log | wc -l

26、实时打印nginx的访问ip

tail -f /var/log/nginx/access.log | grep -e '([0-9]{1,3}\.){3}[0-9]{1,3}'

27、 统计php.ini中每个词的个数

grep -oE '[0-9a-zA-Z]+' /etc/php.ini | awk '{arr[$1]++}END{for(i in arr){printf "%-15s | %-5d\n", i, arr[i]}}'

28、统计访问nginx前10的ip

egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/nginx/access.log | sort|uniq -c | sort -rn|head
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go&Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值