2024年6月13日发(作者:)
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命令不仅能够搜索文件,还能够搜索文件夹,以及权限、时间等等信息,
只要掌握了一些常用的参数,就可以做到非常有效率地完成文件搜索工作。
发布评论