Q1:查找/etc目录下大于1M且类型为普通文件的所有文件
[root@CentOS7 ~]# find /etc/ -size +1M -a -type f
/etc/udev/hwdb.bin
/etc/selinux/targeted/active/policy.kern
/etc/selinux/targeted/contexts/files/file_contexts.bin
/etc/selinux/targeted/policy/policy.30
/etc/brltty/zh-tw.ctb
-a代表了并且的关系
Q2:打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
[root@CentOS7 ~]# tar -czPf `date +%F-%H%M%S`.tar.gz /etc/*.conf
[root@CentOS7 ~]# ls
2019-11-27-085418.tar.gz Desktop Downloads Music passwd.bak Public uniq ziQdNubz
anaconda-ks.cfg Documents initial-setup-ks.cfg passwd Pictures Templates Videos
[root@CentOS7 ~]# cp -av 2019-11-27-085418.tar.gz /usr/local/src/
‘2019-11-27-085418.tar.gz’ -> ‘/usr/local/src/2019-11-27-085418.tar.gz’
[root@CentOS7 ~]# ls /usr/local/src/
20191126111137 2019-11-27-085418.tar.gz date +%Y%m%d%H%m%S.gz
[root@CentOS7 ~]# ls
2019-11-27-085418.tar.gz Desktop Downloads Music passwd.bak Public uniq ziQdNubz
anaconda-ks.cfg Documents initial-setup-ks.cfg passwd Pictures Templates Videos
Q3:利用sed 取出ifconfig命令中本机的IPv4地址
[root@CentOS7 src]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.17.122 netmask 255.255.255.0 broadcast 192.168.17.255
inet6 fe80::20c:29ff:fec3:8ace prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c3:8a:ce txqueuelen 1000 (Ethernet)
RX packets 3359 bytes 1555614 (1.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1802 bytes 440724 (430.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@CentOS7 ~]# ifconfig ens33 | sed -nr '2s/(^[^0-9]+)([0-9.]+) ( .*$)/\2/p'
192.168.17.122
[root@CentOS7 ~]# ifconfig ens33 | sed -nr '2s/(^[^0-9]+)([0-9.]+) ( .*$)/\1/p'
inet
[root@CentOS7 ~]# ifconfig ens33 | sed -nr '2s/(^[^0-9]+)([0-9.]+) ( .*$)/\3/p'
netmask 255.255.255.0 broadcast 192.168.17.255
可以看到 -n关闭标准打印 r代表了支持扩展表达式
也就是将显示出来的第二行进行了分割三组
然后进行显示
Q4:删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[root@CentOS7 src]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Oct 10 10:14:46 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=be45fdd1-e7ba-4449-a52c-fcaf90a437ef / xfs defaults 0 0
UUID=4e7c4de8-0478-421d-aeb4-49d1c339ac5f /boot xfs defaults 0 0
UUID=831d1f4a-7db4-4d89-b847-56039206e095 /data xfs defaults 0 0
UUID=a20c290f-7db9-4a25-b8e3-6fa4a956903b swap swap defaults 0 0
[root@CentOS7 data]# sed -r '/^#[[:space:]].*$/d;/^$/d' /etc/fstab
#
#
#
UUID=be45fdd1-e7ba-4449-a52c-fcaf90a437ef / xfs defaults 0 0
UUID=4e7c4de8-0478-421d-aeb4-49d1c339ac5f /boot xfs defaults 0 0
UUID=831d1f4a-7db4-4d89-b847-56039206e095 /data xfs defaults 0 0
UUID=a20c290f-7db9-4a25-b8e3-6fa4a956903b swap swap defaults 0 0
Q5:处理/etc/fstab路径,使用sed命令取出其目录名和基名
[root@CentOS7 ~]# echo "/etc/fstab" | sed -nr 's#(.*/)(.*$)#\1#p'
/etc/
[root@CentOS7 ~]# echo "/etc/fstab" | sed -nr 's#(.*/)(.*$)#\2#p'
fstab