最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux find命令查找文件参数说明
时间:2013-10-22 编辑:简简单单 来源:一聚教程网
1、find命令的一般形式为;
find pathname -options [-print -exec -ok ...]
1. find
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
find的使用格式如下:
$ find <指定目录> <指定条件> <指定动作>
- <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
- <指定条件>: 所要搜索的文件的特征。
- <指定动作>: 对搜索结果进行特定的处理。
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
find的使用实例:
$ find . -name 'my*'
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
$ find . -name 'my*' -ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
$ find . -type f -mmin -10
搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。
find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括
mtime 文件内容上次修改时间
atime 文件被读取或访问的时间
ctime 文件状态变化时间
mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
N * 24
+1 表示 1 * 24 +24小时以外..
+0 表示 0 * 24 +24小时以外
1 表示 1 * 24 + 24 到 24 之间..
0 表示 0 * 24 + 24 到 0 之间..
-1 表示 0 * 24 +24 内,甚至为未来时间...
1.当前时间24小时—当前时间(昨天-今天)
#find . -mtime 0
2.当前时间48小时前–当前时间24小时前(前天-昨天)
#find . -mtime 1
3.当前时间48小时前(2天前)
#find . -mtime +1
4.当前时间24小时–当前时间(昨天-今天)
#find . -mtime -1
参数及说明
- -name filename #查找名为filename的文件
- -perm #按执行权限来查找
- -user username #按文件属主来查找
- -group groupname #按组来查找
- -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
- -atime -n +n #按文件访问时间来查GIN: 0px">
- -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
- -nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
- -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
- -newer f1 !f2 找文件,-n指n天以内,+n指n天以前
- -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
- -nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
- -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
- -newer f1 !f2 #查更改时间比f1新但比f2旧的文件
- -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
- -size n[c] #查长度为n块[或n字节]的文件
- -depth #使查找在进入子目录前先行查找完本目录
- -fstype #查更改时间比f1新但比f2旧的文件
- -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
- -size n[c] #查长度为n块[或n字节]的文件
- -depth #使查找在进入子目录前先行查找完本目录
- -fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
- -mount #查文件时不跨越文件系统mount点
- -follow #如果遇到符号链接文件,就跟踪链接所指的文件
- -cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
- -mount #查文件时不跨越文件系统mount点
- -follow #如果遇到符号链接文件,就跟踪链接所指的文件
- -cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
- -prune #忽略某个目录
示例:
- 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 {} ;
- find /tmp -name tmp.txt -ok rm {} ;
- find / -amin -10 # 查找在系统中最后10分钟访问的文件
- find / -atime -2 # 查找在系统中最后48小时访问的文件
- find / -empty # 查找在系统中为空的文件或者文件夹
- find / -group cat # 查找在系统中属于 groupcat的文件
- find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
- find / -mtime -1 #查找在系统中最后24小时里修改过的文件
- find / -nouser #查找在系统中属于作废用户的文件
- find / -user fred #查找在系统中属于FRED这个用户的文件
相关文章
- win11内核隔离和内存完整性介绍 10-31
- win10全屏缩放设置教程 10-31
- win10系统备份出错解决教程 10-31
- win10打开软件每次都要询问解决教程 10-31
- win10更新驱动后设备出现异常解决教程 10-31
- win10一直提示找到可能不需要的应用解决教程 10-31