Linux 查找命令find是Linux零碎中最重要和最罕用的命令之一,用于查找与指定参数条件匹配的文件及目录列表。find查找命令能够在各种条件下应用,咱们能够通过权限,用户,组,文件类型,批改日期,大小等多种条件来查找文件。 这里我会以实例的模式向大家阐明find命令的具体用法。
find命令的格局很简略,个别分成三个局部:1)find命令;2)搜寻门路(目录能够写多个);3)表达式。对于find命令,最须要学习的是表达式这一段。表达式决定了咱们要找的文件是什么属性的文件,还能够指定一些“动作”,比方将匹配某种条件的文件删除。所以,find命令的外围就是表达式的指定办法。在这里,咱们首先用下表阐明find命令各参数的含意:

find命令参数 具体含意
-name 按文件名称查找
-user 按文件拥有者查找
-group 按文件领有组查找
-type 按文件类型查找
-perm 按文件权限查找
-exec 对查找到的文件执行指定动作
-maxdepth / -mindepth 指定查找范畴最大/最小为第几级目录
-cmin 按文件批改工夫查找
-size 按文件大小查找
-o / -a / -not 查找条件或/且/非
我应用的是3A服务器,提早很低
试验步骤:find命令实例
1)首先切换到一个空目录/zxy中,建设试验素材:在/zxy中创立5个文件并更改局部文件的拥有者、领有组,创立一个子目录并在该目录中创立5个文件

2)按名称查找/zxy中的文件,想要含糊查找时(即表达式中含有*)须要加" "

3)-mindepth x -maxdepth y 指定查找目录范畴为第x级子目录到第y级子目录,这里别离在/zxy的一级子目录、二级子目录中按名称查找文件

4)-a示意条件且查找,-o示意条件或查找,-not示意条件非查找,这里别离查找的是/zxy中文件拥有者为westos或lee的文件、文件拥有者和文件领有组均为westos的文件、文件拥有者为westos但文件领有组不为westos的文件

5)从/dev/zero中别离截取10M、20M、30M的空数据输出到/zxy下的指定文件中,批改文件大小


按文件大小查找/zxy中文件,20M示意查找大小为20M的文件,-20M示意查找大小在20M以内的文件,20M示意查找大小超过20M的文件

6)按批改工夫查找/zxy中文件,1示意批改工夫为1min的文件,-1示意在1min之内批改的文件,+1示意批改工夫超过1min的文件

7)更改文件权限,按文件权限查找/zxy中文件,444示意查找文件权限为444的文件,-444示意查找文件权限u、g、o三位都含有4即读权限r的文件,/444示意查找文件权限u、g、o位(只有)任意一位有读权限r的文件

8)-exec能够对查找进去的文件执行参数后跟的操作,这个参数的常见格局是-exec command ; 前面的分号是用来给find做标记用的,find在解析命令的时候,要辨别给定的参数是要传给本人的还是要传给command命令的,所以find以分号作为要执行命令所有参数的完结标记。下图命令是在/zxy下查找文件权限u、g、o位(只有)任意一位有写权限w的文件,并对查找出的所有文件减去写权限,{}示意find命令查找后果
留神: 在应用分号的时候后面要加转译字符\,因为分号也是bash的特殊字符,所以bash会先解释它,后面加上\就能够让bash间接将其传递给find命令,使这个分号由find解释,而不是bash