Linux中find命令的使用示例

来源:互联网 发布:java 获取每个月 编辑:程序博客网 时间:2024/05/13 16:05
语法:find  [指定查找目录]  [查找规则]  [查找完后执行的action]当前测试文件:./a.txt./A.txt./backup/a.txt./backup/A.txt./backup/subbackup/a.txt./backup/subbackup/A.txtfind a.txt省略路径直接查找文件(只在当前目录下查找不会进入其子目录查找)a.txtfind a.txt -exec ls -l {} \;显示查找结果的详细信息find a.txt -ok ls -l {} \;效果同上但在显示详细信息前需确认(y or n)find backup省略路径直接查找目录(显示找到的目录及目录下的所有文件和子目录(子目录下有文件也会显示))backupbackup/a.txtbackup/A.txtbackup/subbackupbackup/subbackup/a.txtbackup/subbackup/A.txtfind -name a.txt在当前目录及其子目录下根据名字进行查找./a.txt./backup/a.txt./backup/subbackup/a.txtfind -name subbackup只显示所查找目录所在的路径./backup/subbackupfind -iname a.txt忽略大小写./a.txt./backup/a.txt./backup/subbackup/a.txt./backup/subbackup/A.txt./backup/A.txt./A.txtfind -maxdepth 2 -name a.txt 限定搜索指定目录的深度(2:当前目录及下一级子目录(不包括第三级子目录))./a.txt./backup/a.txtfind -mindepth 2 -name a.txt(2:从其子目录开始查找)./backup/a.txt./backup/subbackup/a.txtfind -mindepth 2 -maxdepth 2 -name a.txt可限定一个区间,当前测试只能在第二层查找./backup/a.txtfind -name "*up"*:表示通配任意的字符(任意个数的任何字符)./backup./backup/subbackupfind -name "sub?ackup"?:?表示通配任意的单个字符./backup/subbackupfind -name "[abcd]ackup"[]:表示通配括号里面的任意一个字符./backupfind [path] -user 具体的用户名find [path] -group 具体的组名find [path] -uid具体的用户idfind [path] -gid具体的组idfind [path] -size 10M查找指定目录下等于10M的文件find [path] -size +10M查找指定目录下大于10M的文件find [path] -size -10M查找指定目录下小于10M的文件find [path] -perm 755 查找指定目录下权限是755的文件(完全匹配)find [path] -perm +755将755转换成二进制(111 101 101),在1位上有一个与之匹配(0不匹配没关系)的则符合(如111 100 001)find [path] -perm -755将755转换成二进制(111 101 101),在所有1位上都与之匹配(0不匹配没关系)的则符合(如111 111 111 或 111 101 101)find -name "a.txt" -a -user username-a:同时满足两个条件find -name "a.txt" -o -user username-o:满足其中一个条件即可find -not -name a.txt-not:相反匹配find -empty查找空文件(0字节文件)find -type d -name "*back*"查找目录名含有back的目录./backup./backup/subbackup-type  f     // 普通文件  d     //目录文件  l     //链接文件  b     //块设备文件  c     //字符设备文件  p     //管道文件  s     //socket文件  使用inode编号查找文件touch "test.txt"touch "test.txt "此文件名多了个空格用ll查看两者的文件名没有区别用ls -il查看其inode号find -inum 34083474 -exec rm {} \;根据inode号查找并删除查找5个最大的文件find . -type f -exec ls -s {} \; | sort -n -r | head -5查找5个最小的文件find . -type f -exec ls -s {} \; | sort -n  | head -5根据文件的相关时间信息来查找stat filename查看文件的时间等详细信息除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:ls -lc filename 列出文件的 ctime (最后更改时间) changels -lu filename 列出文件的 atime(最后存取时间)accessls -l filename 列出文件的 mtime (最后修改时间)modify在windows下,一个文件有:创建时间、修改时间、访问时间。而在Linux下,一个文件也有三种时间,分别是:访问时间(cat等命令查看内容)、修改时间(修改内容)、状态时间(手动更改文件的时间信息(touch -t)、权限等)find -atime -22:2*24小时即2天,2天内有被访问的文件find -amin -2       2:2分钟,2分钟内有被访问的文件

0 0
原创粉丝点击