find命令可以在任何目录,任何条件下都可以执行的指令,它的功能很强大,所以选项也很多,其中大部分选项都值得花时间来了解。
它的命令格式是:
find pathname -options[-print -exec -ok······]
它的命令功能:
由于是在文件树中查找文件,并作出相应的处理
命令参数:
-print:find命令将匹配的文件输出到标准输出。
exec:find命令对匹配的文件执行该参数所给的shell命令。命令形式为:command {} \,注意{}与\之间的空格。
[likaixuan666@localhost ~]$ find -print
.
./.gconf
./.gconf/desktop
./.gconf/desktop/%gconf.xml
./.gconf/desktop/gnome
./.gconf/desktop/gnome/%gconf.xml
./.gconf/desktop/gnome/accessibility
./.gconf/desktop/gnome/accessibility/%gconf.xml
./.gconf/desktop/gnome/accessibility/keyboard
命令选项:
-name:按照文件名查找文件
-perm:按照文件权限来查找文件
[likaixuan666@localhost ~]$ ls
code const.c Desktop dir Documents Downloads Music myfile Pictures Public Templates Videos
[likaixuan666@localhost ~]$ find -name code
./code
[likaixuan666@localhost ~]$ find -perm 664
./.gtk-bookmarks
./.local/share/applications/preferred-mail-reader.desktop
./.local/share/applications/preferred-web-browser.desktop
./.local/share/.converted-launchers
./myfile
./.fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le32d4.cache-3
./.gnote/1f7fa75b-b728-4f94-a102-25d37fe6815b.note
./.gnote/c270ac5b-be32-4cdd-8610-2cea197bf5ef.note
[likaixuan666@localhost ~]$
-prune使用这一选项可以使find命令不在当前制定的目录中查找,如果同时使用了-prune将被find命令忽视。
-user:按照文件属主来查找文件。
-group:按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距选在n天以内,+n表示文件更改时间的距离在n天以前。find命令还有-atime和-ctime选项,他们的功能和-mtime 相同。
[likaixuan666@localhost ~]$ find -mtime -1000
.
./.gconf
./.gconf/desktop
./.gconf/desktop/%gconf.xml
./.gconf/desktop/gnome
./.gconf/desktop/gnome/%gconf.xml
./.gconf/desktop/gnome/accessibility
./.gconf/desktop/gnome/accessibility/%gconf.xml
./.gconf/desktop/gnome/accessibility/keyboard
./.gconf/desktop/gnome/accessibility/keyboard/%gconf.xml
[likaixuan666@localhost ~]$ find -mtime +1000
./.bash_profile
./.mozilla/extensions
./.mozilla/plugins
./.bashrc
./.bash_logout
-nogroup:查找无有效所属组的文件,即该文件所属组在etc/groups中不存在。
-nouser:查找无有效属主的文件,即该文件所属组在etc/groups中不存在。
[likaixuan666@localhost ~]$ find -nogroup likaixuan666
find: paths must precede expression: likaixuan666
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[likaixuan666@localhost ~]$ find -nouser likaixuan666
find: paths must precede expression: likaixuan666
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...]
-type:查找某一类型的文件,比如:
b-块设备文件。
d-目录。
c-字符设备文件。
p-管道文件。
l-符号链接文件。
f-普通文件。
[likaixuan666@localhost ~]$ find -type b
[likaixuan666@localhost ~]$ find -type d
.
./.gconf
./.gconf/desktop
./.gconf/desktop/gnome
./.gconf/desktop/gnome/accessibility
./.gconf/desktop/gnome/accessibility/keyboard
-size n:[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计。
[likaixuan666@localhost ~]$ find -size +10000
./myfile
[likaixuan666@localhost ~]$ find -size -10000
.
./.gconf
./.gconf/desktop
./.gconf/desktop/%gconf.xml
./.gconf/desktop/gnome
./.gconf/desktop/gnome/%gconf.xml
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
[likaixuan666@localhost ~]$ find -mount
.
./.gconf
./.gconf/desktop
./.gconf/desktop/%gconf.xml
./.gconf/desktop/gnome
./.gconf/desktop/gnome/%gconf.xml
./.gconf/desktop/gnome/accessibility
./.gconf/desktop/gnome/accessibility/%gconf.xml
./.gconf/desktop/gnome/accessibility/keyboard
./.gconf/desktop/gnome/accessibility/keyboard/%gconf.xml
./.gconf/apps