find命令的一些用途举例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find命令的一些用途举例相关的知识,希望对你有一定的参考价值。

1.常见命令实例:

find   -name april*                       #在当前目录下查找以april开始的文件
find   -name   april* fprint file         #在当前目录下查找以april开始的文件,并把结果输出到file中
find   -name ap* -o -name may*            #查找以ap或may开头的文件
find   /mnt  -name tom.txt   -ftype vfat  #在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find   /mnt   -name t.txt ! -ftype vfat    #在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件 
find   /tmp   -name wa* -type l            #在/tmp下查找名为wa开头且类型为符号链接的文件
find   /home   -mtime   -2                 #在/home下查最近两天内改动过的文件
find   /home   -atime  -1                  #查1天之内被存取过的文件
find   /home   -mmin   +60                 #在/home下查60分钟前改动过的文件
find   /home   -amin   +30                 #查最近30分钟前被存取过的文件
find   /home   -newer  tmp.txt             #在/home下查更新时间比tmp.txt近的文件或目录
find   /home   -anewer  tmp.txt            #在/home下查存取时间比tmp.txt近的文件或目录
find   /home   -used   -2                  #列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find   /home   -user cnscn                 #列出/home目录内属于用户cnscn的文件或目录
find   /home   -uid   +501                 #列出/home目录内用户的识别码大于501的文件或目录
find   /home   -group   cnscn              #列出/home内组为cnscn的文件或目录
find   /home   -gid 501                    #列出/home内组id为501的文件或目录
find   /home   -nouser                     #列出/home内不属于本地用户的文件或目录
find   /home   -nogroup                    #列出/home内不属于本地组的文件或目录
find   /home   -name tmp.txt   -maxdepth  4   #列出/home内的tmp.txt 查时深度最多为3层
find   /home   -name tmp.txt   -mindepth  3   #从第2层开始查
find   /home   -empty                      #查找大小为0的文件或空目录
find   /home   -size   +512k               #查大于512k的文件
find   /home   -size   -512k               #查小于512k的文件
find   /home   -links   +2                 #查硬连接数大于2的文件或目录
find   /home   -perm   0700                #查权限为700的文件或目录
find   /tmp   -name tmp.txt   -exec cat {} \;   #查找/tmp目录下名称为tmp.txt的文件或目录显示在屏幕上
find   /tmp   -name   tmp.txt   -ok   rm {} \;  #查找/tmp目录下名称为tmp.txt的文件货目录并删除(删除前询问)

find    /   -amin    -10       # 查找在系统中最后10分钟访问的文件
find    /   -atime   -2        # 查找在系统中最后48小时访问的文件
find    /   -empty             # 查找在系统中为空的文件或者文件夹
find    /   -group   cat       # 查找在系统中属于cat组的文件
find    /   -mmin   -5         # 查找在系统中最后5分钟里修改过的文件
find    /   -mtime   -1        # 查找在系统中最后24小时里修改过的文件
find    /   -user    fred      # 查找在系统中属于FRED这个用户的文件

find . -type f -exec ls -l {} \;                    #查当前目录下的所有普通文件 

find logs -type f -mtime +5 -exec   -ok   rm {} \;  #在/ l o g s目录中查找更改时间在5日以前的文件并删除它们

find   ./   -mtime   -1   -type f   -exec   ls -l   {} \;  #查询当天修改过的文件

find   ./   -mtime   -1   -type f   -ok   ls -l   {} \;    #查询文件 并询问是否要显示

2.atime、ctime、mtime的区别:

atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。

ctime即change time,文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

mtime即modify time,指文件内容被修改的时间。

3.-exec、-ok的区别:

-exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘ command‘ {} \;,注意{ }和\;之间的空格。
-ok:  和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。


本文出自 “11849650” 博客,请务必保留此出处http://11859650.blog.51cto.com/11849650/1918121

以上是关于find命令的一些用途举例的主要内容,如果未能解决你的问题,请参考以下文章

Linux find命令

linux命令 find找一个文件 只在当前目录找么? 想整个电脑的找 怎么办?

Mac下find命令常用语法总结

find命令处理之exec与xargs区别

从 find(shell) 命令中删除一些输出行

Linux命令(22)find的使用