find命令是linux系统中用于实时查找精确匹配文件的命令。
1.find命令用法格式
find [查找位置] [查找标准] [处理动作] 查找位置:默认为当前目录
查找标准:默认为查找指定目录下的所有文件
处理动作:默认为显示到标准输出
2.查找标准 -name “文件名”:表示根据文件名查找,支持通配符如 *、[]、?
-inam “文件名称”:表示根据文件名查找并忽略文件名称大小写
例如:
1.find 不跟任何参数表示超找当前目录下的所有文件:
[root@192_168_100_12 tmp]# find
.
./b
./A
./cc
./xyz
./XYZ
./a
./bc
./ac
./aaa
./aa
2.find 查找指定目录下的所有文件
[root@192_168_100_12 ~]# find /root/tmp
/root/tmp
/root/tmp/b
/root/tmp/A
/root/tmp/cc
/root/tmp/xyz
/root/tmp/XYZ
/root/tmp/a
/root/tmp/bc
/root/tmp/ac
/root/tmp/aaa
/root/tmp/aa 3.find 查找指定名称的文件
4.不区分大小写查找指定的文件
-user username:根据文件属主查找指定属主的文件
-group groupname:根据文件属组查找指定的文件 例如:
1.查找指定属主的文件
2.查找指定属组的文件,-ls 用于详细显示文件信息
-uid UID :表示根据文件属主的UID来查找文件
-gid GID:表示根据文件属组的GID来查找问价 例如:查找/home目录下属主uid为514的用户所拥有的文件
查找/home目录下属组GID为516的文件
find命令支持组合查找条件,-a:表示与关系,-o:表示或关系,-not/!:表示非关系.-a可以省略 例如:超找/tmp目录下没有属主,并且文件名是一个字符并且以.test结尾的文件
find /tmp -nouser –a –name ?.test --> find /tmp –nouser –name ?.test
-type 可以根据文件的类型查找文件: f:表示普通文件
d:目录文件
b:块设备文件
c:字符设备问价
l:符号链接文件
p:命名管道
s:套接字文件
例如:
1.查找/tmp目录下的普通文件
2.查找/dev目录下的块设备问价
-size [+|-]#{k|M|G} :表示查找指定大小的文件 10k:表示大小为10kB的文件 ;注:它是一个范围表示 9-10k范围内的文件即 9k
-10k:表示小于指定大小的文件 例如:
find /etc –size 10k :表示查找/etc目录下问价大小为10k的文件
find /etc –size +10k
find /etc –size –10k