习题

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服务器

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部