当前位置: 首页 > Linux

Linux的find命令

时间:2023-04-07 01:02:04 Linux

find命令用于查找指定目录下的文件。参数前面的任何字符串都将被视为要搜索的目录的名称。如果在不设置任何参数的情况下使用该命令,find命令将在当前目录中搜索子目录和文件。并且将显示所有找到的子目录和文件。当运行一个非常耗费资源的查找命令时,很多人倾向于在后台运行它,因为遍历一个大文件系统会花费很长时间。命令格式>findpathname-options[-print-exec-ok...]命令功能用于在文件树中查找文件,并做相应的处理命令参数-amin:查找已经被删除的文件在指定时间访问的文件或目录,单位以分钟计算;-aewer:查找访问时间比指定文件或目录的访问时间更接近当前文件或目录的文件或目录;-atime<24小时>:查找在指定时间被??访问过的文件或目录,单位以24小时计算;-cmin:查找在指定时间被??更改的文件或目录;-cnewer查找其变化时间比指定文件或目录的变化时间更接近当前文件或目录;-ctime<24小时>:查找指定时间被??更改的文件或目录,单位以24小时计算;-daystart:从今天开始计算时间;-depth:从指定目录下最深的子目录开始搜索;-empty:搜索文件大小为0Byte的文件,或目录下没有任何子目录或文件的空目录;-exec<执行命令>:如果find命令的返回值为True,则执行该命令;-false:设置find命令的返回值为False;-fls<列表文件>:该参数的作用类似于指定“-ls”参数,但结果会保存为指定的列表文件;-follow:排除符号链接;-fprint:该参数的作用类似于指定“-print”参数,但结果将保存为指定的列表文件;-fprint0:该参数的作用类似于指定“-print0”参数,但结果将保存为指定的列表文件;-fprintf<列表文件><输出格式>:该参数的作用与指定“-printf”参数类似,但结果会保存为指定的列表文件;-fstype<文件系统类型>:只搜索该文件系统类型下的文件或目录;-gid<组ID>:搜索指定组标识码的文件或目录;-group<组名>:查找与指定组名匹配的文件或目录;-help或--help:在线帮助;-ilname:该参数的作用和说明与“-lname”参数类似,但忽略忽略字符大小写的差异;-iname:该参数的作用与指定“-name”参数类似,但忽略字符大小写的区别;-inum:查找匹配指定inode号或目录的文件;-ipath:该参数的作用与指定“-path”参数类似,但忽略字符大小写的区别;-iregex:该参数的作用与指定“-regexe”参数类似,但忽略字符大小写的区别;-links:查找匹配指定硬链接数的文件或目录;-iname:指定一个字符串作为查找符号链接的模板样式;-ls:假设find命令的返回值为True,则将文件或目录名列到标准输出;-maxdepth<目录级别>:设置最大目录级别;-mindepth<目录级别>:设置最低目录级别;-mmin:查找在指定时间被??更改的文件或目录,单位以分钟计算;-mount:该参数的作用与指定“-xdev”相同;-mtime<24小时>:查找在指定时间被??更改过的文件或目录,单位以24小时计算;-name:指定一个字符串作为查找文件或目录的模板样式;-newer:查找更改时间早于指定文件或目录的更改时间更接近当前文件或目录;-nogroup:查找不属于本地主机组ID的文件或目录;-noleaf:不考虑目录必须至少有两个硬链接;本地主机用户ID的文件或目录;-ok:该参数的作用类似于指定“-exec”,但在执行命令之前会询问用户。如果答案是“y”或“Y”,则放弃执行该命令;-path<模板样式>:指定一个字符串作为搜索目录的模板样式;-perm<权限值>:查找符合指定权限值的文件或目录;-print:假设find命令的返回值为True,文件或目录名称以标准输出格式列为一列一个名称,每个名称前面有一个“./”字符串;-print0:假设find命令的返回值为True,文件或目录名被列到标准输出。格式是所有名字都在同一行;-printf<输出格式>:假设find命令的返回值为True,文件或目录名被列到标准输出。格式可以自己指定;-prune:不寻找字符串作为寻找文件或目录的模板样式;-regex:指定字符串作为查找文件或目录的模板样式;-size<文件大小>:搜索指定模式-true:设置find命令的返回值为True;-type<文件类型>:只搜索符合指定文件类型的文件;-uid<用户ID>:搜索符合指定用户标识码的文件或目录;-used<天数>:查找文件或目录更改后指定时间被??访问过的文件或目录,单位以天计算;-user<所有者名称>:搜索字符和指定所有者名称的文件或目录;-version或--version:显示版本信息;-xdev:限制范围为前面的文件系统;-xtype<文件类型>:该参数的作用与指定“-type”参数类似,区别在于它检查符号链接。容易混淆的几个参数-aminn查找系统最近n分钟访问的文件(eg:cat)-atimen查找系统最近n*24小时访问的文件(eg:cat)-cminn查找系统中最近n分钟文件状态发生变化的文件(如修改文件权限)-ctimen查找系统中文件状态最近n*24小时发生变化的文件(如:修改文件权限)-mminn查找系统中最后n个文件分钟内文件数据被改变的文件(如:修改文件内容)-mtimen查找文件数据被改变的文件系统最近n*24小时(如:修改文件内容)n有正反之分,n表示文件变化时间距离为n天(分钟),-n表示文件变化时间distance在n天(分钟)内,+n表示文件更改时间distance在n天(分钟)前。以mtime为例——mtime0表示文件修改时间距当前文件0天,即文件距当前时间小于1天(24小时)。-mtime1表示文件修改时间距当前文件1天,即文件距当前时间1天(24小时-48小时)。-mtime+1表示文件修改时间大于1天,即文件距当前时间2天(48小时)-mtime-1表示文件修改时间小于1天,即即距离当前时间1天(24小时),为什么-mtime+1表示文件修改时间大于1天,即文件距离当前时间48小时,而不是24小时离开?因为n的值只能是整数,即距离大于1最近的整数为2,所以all-mtime+1不大于当前时间1天(24小时),而是大于2天(48小时)比当前时间。查找系统中24小时内被访问过的文件>find/-atime-1查找系统中24小时内修改过的文件>find/-mtime-1查找系统中48小时前修改过的文件>find/-mtime+1查找系统中所有以.log结尾的文件>find/-name*.log查找系统中大于100M的文件>find/-size+100Mb——block(512bytes)c——Bytew-word(2bytes)k-千字节M-兆字节G-千兆字节查找系统中大于100M小于500M的文件>find/-typef-size+100M-size-500M查找大于500M的文件在系统中,删除>find/-typef-size+500M-delete或>find/-typef-size+500M-execrm-rf{}\;或>查找/-typef-size+500M|xargsrm在系统中查找权限为777的文件>find/-perm777在系统中查找空文件>find/-empty-typef原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门站