Welcome 微信登录

首页 / 操作系统 / Linux / find的基本使用命令

一、了解find的基本含义及格式find在我们所学英语中作动词时,有“发现、查找、找到等”含义,如今,在linux中“find”是文件查找命令,有实时、精确、支持众多查找标准的特点。在查找文件时,因为find是遍历指定目录中的所有文件依次查找完成,查找速度相当慢,主要取决你查找的文件大小。格式:find 查找路径 查找标准 查找到以后的处理动作查找路径可以省略,默认为当前目录,如果是在其它目录下可以在find后面直接写你所在的目录查找标准:默认为指定路径下的所有文件查找到以后的处理动作:默认为显示到屏幕上二、匹配查找标准1、根据文件名查找:-name ‘FILENAME’:对文件名作精确匹配也支持文件名通配:*:表示匹配任意长度的任意字符?:表示匹配任意单个字符[ ]:表示匹配范围内的任意单个字符[[:space:]]:所有空格字符[[:punct:]]:标点符号[[:lower:]]:小写字母[[:upper:]]:大写字母[[:digit:]]:数字[[:alnum:]]:数字和大小写字母[^]:托字符;匹配指定范围之外的任意单个字符-iname "FILENAME":文件名匹配时不区分大小写-regex PATTERN:基于正则表达式进行文件名匹配,如果后面没有跟类型,默认为基本正则表达式-user USERNAME:根据属主查找,如果把某个用户的属主删除,以这个属主命名的文件的属主就会变成用户之前属主的ID号例如:#userdel -r Hadoop#ls –l /tmp 再查看以hadoop为属主的用户就没有了-group GROUPNAME:根据属组查找与-user USERNAME含义一样-uid UID:根据UID查找例如:find /tmp –uid 2003 (表示查找/tmp下用户的uid为2003的文件)-gid GID:根据GID查找例如:find /tmp –gid 2003 (表示查找/tmp下用户的gid为2003的文件)-nouser:查找没有属主的文件例如:find /tmp –nouser (表示查找/tmp下没有属主的用户)-nogroup:查找没有属组的文件例如:find /tmp –nogroup (表示查找/tmp下没有属组的用户)2、根据文件类型查找:-type 文件类型文件类型:f:普通文件d: 目录文件b:块设备文件中可供存储的接口设备(block)c: 字符设备文件,如:键盘、鼠标 (character)l:符号链接文件(symbolic link file)p: 命令管道文件(pipe)s:套接字文件(socket)3、根据文件的大小查找:-size [+|-] 如果不带单位默认为字节,想要显示查找到的文件大小可以使用ls#k:可以自己设定查找文件大小为多少k,可以与[+|-]一起使用+#k:表示文件大小在设定多少k以上的文件例如:find /var –size +10k (表示/var目录上文件大小在10k以上)-#k:表示文件大小在设定多少k以下的文件例如:find /var –size -10k (表示/var目录上文件大小在10k以下)#M:可以自己设定查找文件大小为多少M,可以与[+|-]一起使用+#M:表示文件大小在设定多少M以上的文件例如:find /var –size +10M (表示/var目录上文件大小在10M以上)-#M:表示文件大小在设定多少M以下的文件例如:find /var –size -10M (表示/var目录上文件大小在10M以下)#G:可以自己设定查找文件大小为多少G,可以与[+|-]一起使用+#G:表示文件大小在设定多少G以上的文件例如:find /var –size +10G (表示/var目录上文件大小在10G以上)-#G:表示文件大小在设定多少G以下的文件例如:find /var –size -10G (表示/var目录上文件大小在10G以下)4、查找可以与组合条件一起使用:-a:与关系,如果没有说明组合条件默认为与关系例如:find /tmp -type d –a –type s (表示查找文件类型既属于目录又是套接字文件)-o:或关系例如:find /tmp -type d –o –type s (表示查找文件类型属于目录或是套接字文件)-not:非关系例如:find /tmp -not -type d (表示查找文件类型不是目录)5、根据修改时间戳查找:-mtime n:(单位为天),查找系统中n天被修改的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –mtime +5 (表示查找/tmp中至少5天被修改过的文件)find /tmp –mtime -5 (表示查找/tmp中5天内被修改过的文件)-ctime n:(单位为天),查找系统中n天被改变的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –ctime +5 (表示查找/tmp中至少5天被改变过的文件)find /tmp –ctime -5 (表示查找/tmp中5天内被改变过的文件)-atime n:(单位为天),查找系统中n天被访问的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –atime +5 (表示查找/tmp中至少5天被访问过的文件)find /tmp –atime -5 (表示查找/tmp中5天内被访问过的文件)-mmin n:(单位为分钟),查找系统中n分钟被修改过的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –mmin +5 (表示查找/tmp中至少5分钟被修改过的文件)find /tmp –mmin -5 (表示查找/tmp中5分钟内被修改过的文件)-cmin n:(单位为分钟),查找系统中n分钟被改变过的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –cmin +5 (表示查找/tmp中至少5分钟被改变过的文件)find /tmp –cmin -5 (表示查找/tmp中5分钟内被改变过的文件)-amin n:(单位为分钟),查找系统中n分钟被访问过的文件,可以与[+|-]#(数字)一起使用例如:find /tmp –amin +5 (表示查找/tmp中至少5分钟被访问过的文件)find /tmp –amin -5 (表示查找/tmp中5分钟内被访问过的文件)6、通过文件权限查找:-perm MODE 精确匹配/MODE 文件权限符合任一位即可 (任意一位匹配即满足条件)例如:find ./ -perm /022 表示在家目录下组有写权限或者其它用户有写权限才能符合条件-MODE 文件权限能完全包括此MODE才符合条件,有包含关系 (对应的位必须完全匹配)例如:find ./ -perm -001 表示在家目录下只有其它用户有执行权限思考:find ./ -perm -644 如果是权限为755、750的文件能匹配到吗?分析:      644:rw-r--r--755:rwxr-xr-x750:rwxr-x---只要权限为644的位,权限755都满足而权限为750不包含其它用户的位,所以权限为755的文件能匹配到而权限为750的文件不能匹配在-perm前加-not,就代表后面的-001表示相反的意思(任意一位匹配即满足条件)
  • 1
  • 2
  • 下一页
Linux基础篇之部分知识要点逻辑卷、物理卷、卷组相关资讯      Find  find命令 
  • Linux基础知识:find命令的使用  (今 19:56)
  • Linux下的文件查找命令——find  (05月28日)
  • Linux命令之find命令详解  (12/22/2015 13:20:46)
  • find命令基本使用一览  (07月18日)
  • Linux的find命令实例详解和mtime   (05月21日)
  • Linux find命令的用法实践  (08/16/2015 11:10:03)
本文评论 查看全部评论 (0)
表情: 姓名: 字数