目录
Toggle三剑客习题
1.过滤出/etc/passwd中包含root或nobody的行

2.过滤出/etc/passwd中以root开头的行

3.在/etc/ssh/sshd_config中过滤出包含permitrootlogin或usedns的行(忽略大小写)

4.取出/etc/passwd中以bash结尾的行

5.显示/etc/下面一层中以.conf结尾的文件(可以通过find或grep实现)
sed和awk和grep原理相同,\表示转义.

6.使用grep取出/etc/passwd 的第一列用户名数据


7.查看文件第一行到第三行

8.查看文件最后一行

9.找出/etc/下面所有以.conf结尾的文件,然后过滤出包含linux的行

10.取出/etc/passwd文件中每个字符(单词)

1.删除每行的第一个字符
sed ‘s#^.##g’ pass
2.删除每行的第二个字符
sed -r ‘s#^(.).#\1#g’ pass
3.删除文件每行的最后一个字符
sed -r ‘s#.$##g’ pass
4.删除文件每行的倒数第二个字符
sed -r ‘s#.(.)$#\1#g’ pass
5.删除文件每行的第二个单词
sed -r ‘s#^([a-zA-Z]+)([:_-])([a-zA-Z]+)#\1\2#g’ pass
第一个单词和第二个单词中间分隔符可以用[^]取反来写
sed -r ‘s#^([a-zA-Z]+)([^a-zA-Z]+)([a-zA-Z]+)#\1\2#g’ pass
6.删除倒数第二个单词
sed -r ‘s#[a-z]+(/[a-z]+)$#\1#g’ pass
#只适用于passwd
sed -r ‘s#([^a-zA-Z]+)([a-zA-Z]+)([^a-zA-Z]+)([a-zA-Z]+)$#\1\3\4#g’ pass
#通用
7.删除最后一个单词
sed -r ‘s#[a-z]+$##g’ pass
8.交换每行的第一个字符和第二个字符
sed -r ‘s#^(.)(.)#\2\1#g’ pass
sed -r ‘s#^([a-z])([a-z])#\2\1#g’ pass
9.交换每行的第一个字符和第二个单词
sed -r ‘s#(^.)(.*)(x)#\3\2\1#g’ pass #只适用passwd
sed -r ‘s#^(.)([a-zA-Z]+)([^a-zA_Z])([a-zA-Z]+)#\4\2\3\1#g’ pass
10.交换每行的第一个单词和最后一个单词
sed -r ‘s#^([a-zA-Z]+)(:.*/)([a-zA-Z]+)$#\3\2\1#g’ pass
#只针对 passwd
sed -r ‘s#^([a-zA-Z]+)(.*)([^a-zA-Z]+)([a-zA-Z]+)$#\4\2\3\1#g’ pass
11.删除一个文件中所有的数字
sed -r ‘s#[0-9]##g’ pass
这里不能用d,d是把包含数字的整行删除
12.删除每行开头的所有空格
sed -r ‘s#^ +##g’ filename
13.用制表符替换文件中出现的所有空格
sed -r ‘s# #\t#g’ filename
14.把所有大写字母用括号括起来
sed -r ‘s#([A-Z])#(\1)#g’ pass
15.打印每行3次
sed -n ‘p;p;p’ space
sed ‘p;p’ space
16.隔行删除
seq 10 | sed ‘1~2d’
2
4
6
8
10
seq 10 | sed ‘2~2d’
1
3
5
7
9
17.只显示每行的第一个单词
sed -r ‘s#^([a-zA-Z]+).*$#\1#g’ pass
grep -Po ‘^\w+’ passwd
egrep -o ‘^[a-Z]+’ passwd
18.打印每行的第一个单词和第三个单词
sed -r ‘s#^([a-zA-Z]+)[^a-zA-Z]+([a-zA-Z]+)[^a-zA-Z]+([a-zA-Z]+).*$#\1 \3#g’ pass
19.将格式为 mm/yy/dd 的日期换成mm;yy;dd
sed -r ‘s#/#;#g’ space
网络管理命令习题
如何检查某个端口是否存在?
①看自己服务器
ss -lntup
netstat -lntup
lsof -i :22
②看自己和别人的都可以
telnet 10.0.0.200 22
nc -v 10.0.0.200 22
nmap -p22 10.0.0.200
检查正在使用的端口
ss/netstat -lntup
查看指定端口:
lsof -i :22
检查TCP连接状态:
lsof -i TCP
lsof -i TCP:22
ss -ant/netstat -ant
取第一列 ss -ant | awk ‘NR>1{print $1}’ | sort | uniq -c
统计网站当前并发,如指定取443端口连接数
ss -ant | awk ‘NR>1 && $4~/:443$/ {print $1}’ | sort | uniq -c
如何查看DNS解析过程
dig 域名
dig linuxjk.cn
dig trace linuxjk.cn(更详细)
指定DNS地址解析域名:
dig @223.5.5.5(阿里云) linuxjk.cn
windows:
nslookup 域名
nslookup 域名 指定DNS服务器