find:查找文件或目录

From: http://yhj1065.blog.163.com/blog/static/198002172007111810502948/

功能说明:

find指令可以在系统中查找你想要的任何文件或目录,你可以通过不同的参数来查找你想要的。该指令也是系统管理员最常用、最强大、最方便的查找文件和目录的指令。

基本语法:

find path

[-name][-perm][-prune][-user][-group][-mtime][-nogroup][-nouser][-newer][-type]

[-siizen][-depth][-fstype][-mount][-follow][-cpio]

参数说明

参数

功能

-name

按照文件名查找文件。

-perm

按照文件权限来查找文件。

-prune

使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user

按照文件属主来查找文件。

-group

按照文件所属的组来查找文件。

-mtime

+n按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。Find命令还有-atime-ctime选项,但它们都和-mtime选项。

-nogroup

查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在

-nouser

查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1|file2

查找更改时间比文件file1新但比文件file2旧的文件。

-type

b-块设备文件。

d-目录。

c-字符设备文件。

p-管道文件。

l-符号链接文件。

f-普通文件。

-sizen[c]

查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth

在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype

查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件,/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount

在查找文件时不跨越文件系统mount点。

-follow

如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio

对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

执行范例

 在当前目录下找查找以.c的文件和目录
find -name "*.c"

只在当前目录下找查找以.c的文件和目录,子目录不进行查找。
find -maxdepth 1 -name "*.c"


在/home目录查找文件类型为软连接的文件和管道文件,并使用ls指令列出它们的详细信息。
find /home -type p -o -type l |xargs ls -l    


查找/home/mail目录下有哪些子目录。
find /home/mail -type d -print


在/home/目录下查找1天前,后缀为.sh的文件。
find /home/ -ctime 1 -name "*.sh" -exec ls -l {} \;


在整个系统中查找,具有硬连接,且大于880KB的文件,并打印出来。
find / -type f ! -links 1 -size +880k -exec ls -lh {} \; 2>/dev/null


查找整个系统中具有setuid的可执行文件。
find / -perm 4755 -print 2>/dev/null|xargs ls -l


查找整个系统中具有setuid的可执行文件。忽略对/bin目录的搜索。
find / -path "/bin" -prune -o -perm 4755 -print 2>/dev/null|xargs ls -l


在/home/目录下查找更改时间在3日以内的文件
find /home/logs -type f -mtime -3 -exec ls -l {} \;


在整个系统中查找属性为755后缀为.sh或.php的文件,并避开/usr/bin、/bin、/usr/local/bin目录。
find / -type f -perm 755 -a -name "*.php" -o -name "*.sh" -a \( -path /bin -o -path /usr/bin -o -path /usr/local/bin \) -prune 


你可能感兴趣的:(find:查找文件或目录)