admin 管理员组

文章数量: 887021


2023年12月17日发(作者:discuz政府网站模版)

linux系统find命令用法

find命令是linux中非常常用的一个命令。它可以用来查找文件或目录,并执行指定的操作。

一般用法:

find <位置> <控制选项> <查找文件选项>

位置:指定在哪个目录或文件中进行查找,可以是一个文件或一个目录树。

控制选项:用来控制查找方式的选项,如下:-maxdepth 和 -mindepth可以控制查找的深度;-name控制只搜索后者符合指定字符串的文件;-type控制指定搜索特定类型的文件;-exec使用用户指定的命令;-depth可以改变find命令的搜索顺序。

查找文件选项:用来控制搜索具体的文件的选项,如下:-name可以根据文件名搜索文件;-iname与-name类似但会忽略大小写;-size可以搜索符合和指定大小的文件;-atime、-ctime、-mtime可以用来搜索特定时间内创建、变更、访问的文件;-links可以搜索具有特定硬链接数的文件;-user和-group可以搜索特定用户或用户组创建的文件;-perm可以搜索满足特定安全模式的文件。

扩展用法:

1)find -exec

指令可以用来在搜索得出的文件列表上,执行某些动作。例如,对于满足 -iname

"*.txt"的文件,我们可以用下列指令将它们移动到一个特定的目录下:

# find /data -iname "*.txt" -exec mv {} target_dir/ ;

2)Or操作-o

使用” -o”可以通过find执行OR操作,比如我们要搜索扩展名为”.doc”或者”.xls”的文件,可以用下面的指令:

# find /data -iname "*.doc" -o -iname "*.xls"

4)多个参数指定搜索目录

可以同时使用不同的搜索目录来搜索所需文件,比如要从/data和/var/log下搜索出后缀名为”.doc”的文件,则可以运行下列指令:

# find /data /var/log -iname "*.doc"

5)搜索多个条件

当我们需要同一次搜索多个条件时,可以使用多个控制选项,来达到组合搜索的效果,例如,搜索创建时间在二月份之内并且有只读权限的文件,我们可以用下面的指令:

# find /data -mtime -30 -perm 644

6)使用括号

可以使用括号进行复合查找:

# find ( -name "*.txt" -o -name "*.doc" ) -perm 600

这个指令会搜索出扩展名为”.txt”或”.doc”,且具有只写权限的文件,-perm中的”600”表示只有拥有者有只写权限,无读取,无执行权限。

最后,find命令不仅能够搜索文件,还能够搜索文件夹,以及权限、时间等等信息,只要掌握了一些常用的参数,就可以做到非常有效率地完成文件搜索工作。


本文标签: 搜索 文件 控制 指定 权限