find:查找文件或目录
2007-12-18 10:50:02| 分类: shell |举报 |字号 订阅
功能说明:
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
2007-12-18 10:50:02| 分类: shell |举报 |字号 订阅
功能说明:
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