1.查找/etc目录下大于1M且类型为普通文件的所有文件
[13:38:57 root@CentOS7 ~]#find /etc -size +1M -type f -ls
67180200 7892 -r--r--r-- 1 root root 8080746 May 16 08:46 /etc/udev/hwdb.bin
202800259 3808 -rw------- 1 root root 3896194 Nov 3 2018 /etc/selinux/targeted/active/policy.kern
1272321 1380 -rw-r--r-- 1 root root 1412826 Nov 3 2018 /etc/selinux/targeted/contexts/files/file_contexts.bin
202800279 3808 -rw-r--r-- 1 root root 3896194 Nov 3 2018 /etc/selinux/targeted/policy/policy.31
134844795 1336 -rw-r--r-- 1 root root 1367395 Apr 11 2018 /etc/brltty/zh-tw.ctb
2.打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
[14:01:38 root@CentOS7 ~]#tar -zcvf /usr/local/src/`date +%F`.tar.gz /etc/*.conf
3.利用sed 取出ifconfig命令中本机的IPv4地址
IP显示如下图所示
以下是几种取出ip地址的方法:
[23:33:50 root@CentOS7 /etc]#ifconfig ens33|sed -n '2p'|tr -s " " :|cut -d: -f3
192.168.47.66
[23:41:13 root@CentOS7 /etc]#ifconfig ens33|sed -n '2p'|sed 's/^.*inet //;s@ netmask.*$@@'
192.168.47.66
[00:00:07 root@CentOS7 /etc]#ifconfig ens33|sed -n '2p'|sed -e 's/^.*inet //' -e 's@ netmask.*$@@'
192.168.47.66
[23:55:13 root@CentOS7 /etc]#ifconfig ens33|sed -n '2p'|sed -r 's/(^.*inet )([0-9.]+)( .*$)/\2/'
192.168.47.66
[23:56:04 root@CentOS7 /etc]#ifconfig ens33|sed -n '2p'|sed -r 's/(^[^0-9]+)([0-9.]+)( .*$)/\2/'
192.168.47.66
[23:41:25 root@CentOS7 /etc]#ifconfig ens33|sed -n '2s/^.*inet //;s@ netmask.*$@@p'
192.168.47.66
[23:56:43 root@CentOS7 /etc]#ifconfig ens33|sed -nr '2s/(^[^0-9]+)([0-9.]+)( .*$)/\2/p'
192.168.47.66
4.删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
[21:43:30 root@CentOS7 ~]#sed 's@^#[[:space:]]\+@@' /etc/fstab
显示结果如下图所示:
5.处理/etc/fstab路径,使用sed命令取出其目录名和基名
[21:16:54 root@CentOS7 /etc]#echo /etc/fstab |sed -r 's@(^/.*/)([^/]+)/?$@\1@'
/etc/
[21:17:01 root@CentOS7 /etc]#echo /etc/fstab |sed -r 's@(^/.*/)([^/]+)/?$@\2@'
fstab