Linux命令:find命令

Linux命令find命令

find命令(1)

》find命令:Linux系统查找文件的命令,find命令能帮助用户在使用、管理Linux的日常事务中方便的查找出用户所需要的文件。

》find命令格式:find [路径] [选项] [操作]

  》路径是find命令所有查找的目录路径,例如用 . 来表示当前目录, 用 / 来表示系统根目录.

  》选项用于指定查找条件,例如:可以指定按照文件属主、更改时间、文件类型等条件查找。

  》操作用于指定结果的输出方式

操作名称

意义

print

将匹配的文件输出到标准输出

exec

对匹配的文件执行该参数所给出的Shell命令。相应命令的形式为’command’{} \;,注意{ } \; 之间的空格

ok

和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的Shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。(涉及到更改权限、删除文件的时候最好是采用 ok 操作,而不是用exec操作)

 

选项

意义

name

根据文件名查找文件

perm

根据文件权限查找文件

prune

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

user

根据文件属主查找文件

group

根据文件所属的用户组查找文件

mtime -n +n

根据文件的更改时间查找文件, -n表示文件更爱时间距今在n天之内+n表示文件更改时间距今在n天

nogroup

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

nouser

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

-newer filel ! file2

查找更改时间比文件file1文件file2的文件

type

查找某一类型的文件,type后跟的子选项及其意义如下:

b:块设备文件

d:目录

c:字符设备文件

p:管道文件

l:符号链接文件

f:普通文件

size n:[c]

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

depth

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

 

find命令(2

》find命令选项很多,可以灵活地指定各种搜索条件

》find命令操作却只有三种

  》print简单打印搜索结果

  》ok操作和exec的左右相同,都可以对搜索结果执行命令,但是,ok操作在操作之前会给出提示,让用户确定之后才执行。

下面例子是查找当前目录下, 文件名含 a 字符,权限(ugo)为可读可写不可执行(4+2=6)、可读不可写不可执行(4)与可读不可写不可执行(4)

#直接打印搜索的结果

root@ubuntu:~# find . -name '*a*' -perm 644 -print

./.cache/motd.legal-displayed

./hahaha

./.bashrc

./Bryan_Adams-Here_I_Am.mp3

./argv.awk

#使用exec输出操作,打印文件详细信息

root@ubuntu:~# find . -name '*a*' -perm 644 -exec ls -l {} \;

-rw-r--r-- 1 root root 0 Feb  6 22:42 ./.cache/motd.legal-displayed

total 0

-rw-r--r-- 1 root root 3106 Apr 19  2012 ./.bashrc

-rw-r--r-- 1 root root 10796012 Feb  6 12:44 ./Bryan_Adams-Here_I_Am.mp3

-rw-r--r-- 1 root root 74 Feb  6 23:02 ./argv.awk

#使用ok输出操作,每次打印详细信息的时候都会询问,是否打印.Y:则打印,N:则不打印

root@ubuntu:~# find . -name '*a*' -perm 644 -ok ls -l {} \;

< ls ... ./.cache/motd.legal-displayed > ? y

-rw-r--r-- 1 root root 0 Feb  6 22:42 ./.cache/motd.legal-displayed

< ls ... ./hahaha > ? Y

total 0

< ls ... ./.bashrc > ? y

-rw-r--r-- 1 root root 3106 Apr 19  2012 ./.bashrc

< ls ... ./Bryan_Adams-Here_I_Am.mp3 > ? y

-rw-r--r-- 1 root root 10796012 Feb  6 12:44 ./Bryan_Adams-Here_I_Am.mp3

< ls ... ./argv.awk > ? y

-rw-r--r-- 1 root root 74 Feb  6 23:02 ./argv.awk

#使用ok输出操作,每次打印详细信息的时候都会询问,是否打印.Y:则打印,N:则不打印

root@ubuntu:~# find . -name '*a*' -perm 644 -ok ls -l {} \;

< ls ... ./.cache/motd.legal-displayed > ? y

-rw-r--r-- 1 root root 0 Feb  6 22:42 ./.cache/motd.legal-displayed

< ls ... ./hahaha > ? n

< ls ... ./.bashrc > ? y

-rw-r--r-- 1 root root 3106 Apr 19  2012 ./.bashrc

< ls ... ./Bryan_Adams-Here_I_Am.mp3 > ? y

-rw-r--r-- 1 root root 10796012 Feb  6 12:44 ./Bryan_Adams-Here_I_Am.mp3

< ls ... ./argv.awk > ? n

 

posted @ 2015-02-08 02:54  Ajunboys  阅读(489)  评论(0编辑  收藏  举报