当前位置: 首页 > Linux

Linux系统find命令用法

时间:2023-04-06 22:46:12 Linux

LinuxFind命令find是Linux系统中最重要也是最常用的命令之一,用于查找符合指定参数条件的文件和目录列表。find命令可以在各种条件下使用。我们可以按权限、用户、组、文件类型、修改日期、大小和其他条件查找文件。下面我将以示例的形式向大家讲解find命令的具体用法。find命令的格式很简单,一般分为三部分:1)find命令;2)搜索路径(可写多个目录);3)表达。对于find命令,最需要学习的就是表达式部分。表达式决定了我们要找什么样的文件,我们也可以指定一些“动作”,比如删除符合某些条件的文件。因此,find命令的核心是指定表达式的方法。这里,我们先用下表来解释find命令参数的含义:find命令参数的具体含义-name按文件名搜索-user按文件所有者搜索-group按文件所有者组搜索-类型搜索按文件类型-perm按文件权限搜索-exec对找到的文件执行指定动作-maxdepth/-mindepth指定目录的最大/最小搜索范围-cmin按文件修改时间搜索-size按文件大小搜索-o/-a/-not查找条件or/and/not我使用的是3A服务器,延迟很低实验步骤:find命令示例1)首先切换到一个空目录/zxy,创建实验材料:在/zxy中创建5个文件并更改parts文件的属主和属组,创建一个子目录,并在该目录下创建5个文件2)按名称搜索/zxy中的文件,如果要模糊搜索(即表达式中包含*),则需要添加""3)-mindepthx-maxdepthy指定搜索目录范围从x级子目录到y级子目录。这里分别在/zxy的一级子目录和二级子目录中按名称查找文件。4)-a表示条件和搜索,-o表示条件或搜索,-not表示条件不搜索,这里分别搜索/zxy中文件所有者为westos或lee的文件,文件所有者和文件所有者组均为westosfiles,fileowner文件属主是westos但文件属主组不是westos5)从/dev/zero截取10M,20M,30M空数据输入到/zxy下的指定文件,修改文件大小,搜索/zxy根据文件大小Files,20M表示查找大小为20M的文件,-20M表示查找大小小于20M的文件,20M表示查找大小超过20M的文件6)在/中搜索文件zxy按修改时间,1表示查找修改时间为1min的文件,-1表示修改时间在1分钟以内的文件,+1表示修改时间超过1分钟的文件7)更改文件权限,根据文件查找/zxy中的文件permissions,444表示查找文件权限为444的文件,-444表示搜索文件Permissionsu,g,o都包含4,即读权限为r的文件,/444表示搜索文件权限为u,g的文件,o(只要其中任意一个有读权限r8)-exec可以找出文件执行参数后面的操作。该参数常用格式为-execcommand;后面的分号用来标记find,find在解析命令时,需要区分给定的参数是传递给自己还是传递给command命令,所以find用分号作为所有要执行的参数的结束标志。下图的命令是查找/zxy下的文件权限为u,g,o(只要任意一个有写权限w),所有找到的文件都减去写权限,{}表示查找结果查找命令。注意:使用分号时,在其前面加一个分号翻译字符\,因为分号也是bash的特殊字符,所以bash会先解释它,在它前面加\可以让bash直接传递给find命令,以便分号由find而不是bash解释