Linux下的find命令2

:续linux下的find命令

Linux/Unix下非常有用的find命令的用法

功能简述:find(查找)主要沿着文件层次(目录)结构依次向下遍历,匹配符合条件的文件,可以附带执行相应的操作选项,默认的操作结果是打印出符合条件的文件与目录(也可通过使用-print来指定,强调命令的结果是打印出来,不加此选项也可以)。

 

⑦:基于文件权限和所有权的匹配,-perm选项指定了find指匹配指定权限的文件,参数为文件对应的权限码。

 我们仍然可参考⑥中的所有文件信息的第一列,此处需要掌握一定关于文件权限的知识。如下我们查找权限为644的普通文件,即用户可读写,组用户可读,其他可读。

  

 也可以用选项-user,匹配指定用户所拥有的文件,参数为用户名或者UID

 

⑧利用find执行相应操作,比如删除文件,使用-delete选项;删除测试目录下所有的.txt普通文件

  

 

还可以利用-exec选项结合其他命令对文件进行更高效的操作,更改文件的所属权,复制文件等,find命令使用一对花括号{}代表文件名,对于每一个匹配到的文件,find命令会将{}替换成相应的文件名; 如果-exec的命令有多个参数时,需要注意结尾使用 " ; " 或者 "+",前者表示进行转义,不然系统会以为是find命令的结尾。

我们将测试目录下的所有的.txt文件由用户lihongbo转换到用户litao999,我们必须以root用户进行此操作,chown用于更改权限:

  

  

⑨:指定find跳过特定的目录:使用-prune选项可以跳过我们在搜寻的的一些明显我们不需要的目录

  

 跳过了./test1目录

 

需要指出的是:选项出现的先后次序我们也应该考虑到内,因为它会影响到整条命令的执行效率。

提示:本文需要掌握关于ls(list), chown(changeowner)等命令,以及关于Linux/Unix文件系统文件类型和文件权限等知识。

原文地址:https://www.cnblogs.com/hongbo-tao/p/11710117.html