第三篇博客作业

查找/var目录下属主为root,且属组为mail的所有文件

find /var \( -user root -a -group mail \) -ls

查找/var目录下不属于root、lp、gdm的所有文件

find /var -not -user root -not -user lp -not -user adm  -ls
find /var -not \( -user root -o -user lp -o -user adm \) -ls

查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件

find /var -mtime -7 -not -user root -not -user postfix -ls
find /var -mtime -7 -not \( -user root -o -user postfix \) -ls

查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件

find / -nouser -nogroup -atime -7 -ls

查找/etc目录下大于1M且类型为普通文件的所有文件

find /etc -size +1M -type f -ls

查找/etc目录下所有用户都没有写权限的文件

find /etc -not -perm /222

查找/etc目录下至少有一类用户没有执行权限的文件

find /etc -not -perm /111 -ls

查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件

find /etc/init.d/ -perm -113

删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符

sed -r 's/^[[:blank:]]+//' grub2.cfg

删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

sed -r 's/^#\s+//' fstab

在centos6系统/root/install.log每一行行首增加#号

sed 's/^/#/' install.log

在/etc/fstab文件中不以#开头的行的行首增加#号

sed 's/^[^#]/#&/' fstab

处理/etc/fstab路径,使用sed命令取出其目录名和基名

echo "/etc/fstab"|sed -r 's/(.*)\/([^/]+)\/?$/\1/'

利用sed取出ifconfig命令中本机的IPv4地址

ifconfig ens33|sed -r '/inet\>/!d;s/.*inet\s(addr:)?//;s/\s.*//'

统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个字段的重复次数

ls *.rpm|sed -r 's/.*\.(.*)\.rpm$/\1/'|sort|uniq -c
ls *.rpm|rev|cut -d'.' -f2|rev|sort|uniq -c

统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)

grep -Eo '[a-z]+' functions|sort|uniq -c|sort -n
sed -r 's/[^[:alpha:]]+/\n/g' functions |sort|uniq -c|sort -n

将文本文件的n和n+1行合并为一行,n为奇数行

sed -n 'N;s/\n/ /p' file

你可能感兴趣的:(第三篇博客作业)