linux的系统中的文件实在是太多了,怎么样才能快速而且精确的在linux系统找出你想要的文件呢?Linux 的find命令提供了很强大的功能,学好find命令的使用,可以给你节省大量花费在找文件的时间
“一切皆文件”是 Linux的哲学思想之一, 这条命令可以统计当前linux系统中有多少文件ls -R / |wc -l &建议放在后台执行,因为你的系统文件很多则会消耗很多时间,你可以看见这个结果是庞大的,linux的系统中的文件实在是太多了,怎么样才能快 速而且精确的在linux系统找出你想要的文件呢?Linux 的find命令提供了很强大的功能,学好find命令的使用,可以给你节省大量花费在找文件的时间。
find的基本语法格式:
find [查找位置] [查找标准] [处理动作]
查找位置:默认为当前目录,可以指定多个目录,多个之间用空格
查找标准:默认为查找指定目录下的所有文件
处理动作:显示到标准输出,默认为print
剖析find的查找标准可分为哪些:
1)文件名
-name "文件名称" : 根据文件名查找,支持glob
-iname "文件名称",根据文件名查找,不区分大小写
2)文件的属主、属组
-user "USERNAME" : 根据属主查找
-group "GROUP" : 根据属组查找
-uid "UID" : 根据UID查找
-gid "GID" : 根据GID查找
-nouser : 查找没有属主的文件
-nogroup : 查找没有属组的文件
复制代码
代码如下:
[root@Redhat6 /]# find / -nouser -nogroup #没有属主,也没有属组
/tmp/user1dir
[root@Redhat6 /]# ls -ld /tmp/user1dir/ #验证查找的文件是否符合要求,文件没有用户表示属主和属组,但会以ID号来表示
drwxrwxr-x 2 500 500 4096 Jul 23 10:36 /tmp/user1dir/
[root@Redhat6 /]# find / -user root -gid 500 #查找用户为root,gid为500
/tmp/user1dir
[root@Redhat6 /]# ls -ld /tmp/user1dir/
drwxrwxr-x 2 root 500 4096 Jul 23 10:36 /tmp/user1dir/
3)文件的类型
-type
f 文件
d 目录
b 块设备
c 字符设备
l 符合链接文件
p 命令管道文件
s 套接字文件
4)文件的大小
-size
#[k|M|G]:#表示数字,匹配的时候为模糊匹配
+#[k|M|G]:+#表示大于,匹配的结果大于#
-#[k|M|G] :-#表示小于,匹配的结果是小于#
5)文件修改时间