1、查找/etc目录下大于1M且类型为普通文件的所有文件
find用法
常用用法:find path 查找条件 处理动作
查找条件(可组合使用):
(1)根据文件名查找
-name string:根据文件名精确查找,可用glob通配符。
-iname string:不区分大小写的-name。
-regex PATTERN:根据正则查找,匹配范围是整个路径,比如要查找./fubar3,应该用.*bar.或.*b.*3',而不是f.*r3。
(2)根据文件从属关系查找
-user USERNAME/UID:查找指定属主的文件。
-group GNAME/GID:查找指定属组的文件。
-uid UID:查找指定属主的文件
-gid GID:查找指定属组的文件。
-nouser:查找没有属主的文件。
-nogroup:查找没有属组的文件。
(3)根据文件类型查找
-type [fdcblps]:根据文件类型查找。
f: 普通文件
d: 目录文件
l: 符号链接文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
s: 套接字文件
例:find /tmp -type f 查找/tmp目录下的普通文件
(4)根据文件大小查找
-size [+-]n:根据文件大小查找,可用单位[bcwkMG];+表示大于,-表示小于,不加表示精确匹配(也没那么精确,10M表示9-10M都符合条件)
(5)根据时间戳查找
-mtime [+-]days:-表示days内修改过,+表示days前修改过,不加表示正好在days修改过。
-ctime [+-]days:改变时间,+-含义同-mtime。
-atime [+-]days:访问时间,+-含义同-mtime。
-mmin n:n分钟前修改过文件内容,
-cmin n:n分钟前文件改变过。
-amin n:n分钟前文件被访问过。
(6)根据文件权限查找
-perm [=-/] MODE:按权限查找,-表示文件权限是MODE超集,/和+表示权限中只要有一位能匹配就符合,不指定任何符号表示精确匹配。
查找条件组合:
-a:与条件
-o:或条件
-not:取反
处理动作
-print:默认动作,打印结果到标准输出。
-ls:以类似ls -l的格式打印每个文件的信息。
-delete:删除文件。
-fls file:类似`-ls,但将结果保存到指定文件中。
-ok COMMAND {};:交互模式执行指定命令,{};是固定写法,表示文件名占位符。
-exec COMMAND {};:非交互模式执行指定命令,{};是固定写法,表示文件名占位符。
2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。
3、利用sed 取出ifconfig命令中本机的IPv4地址
4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名