热门文章
“一切皆文件”是 Linux的哲学思想之一, 这条命令可以统计当前linux系统中有多少文件ls -R / |wc -l &建议放在后台执行,因为你的系统文件很多则会消耗很多时间,你可以看见这个结果是庞大的,linux的系统中的文件实在是太多了,怎么样才能快速而且精确的在linux系统找出你想要的文件呢?Linux 的find命令提供了很强大的功能,学好find命令的使用,可以给你节省大量花费在找文件的时间。
find的基本语法格式:
find [查找位置] [查找标准] [处理动作]
查找位置:默认为当前目录,可以指定多个目录,多个之间用空格
查找标准:默认为查找指定目录下的所有文件
处理动作:显示到标准输出,默认为print
剖析find的查找标准可分为哪些:
1)文件名
-name "文件名称" : 根据文件名查找,支持glob
2)文件的属主、属组
-user"USERNAME" : 根据属主查找 -group "GROUP" : 根据属组查找 -uid "UID" : 根据UID查找 -gid"GID": 根据GID查找 -nouser: 查找没有属主的文件 -nogroup : 查找没有属组的文件3)文件的类型
-type f 文件 d 目录 b 块设备 c 字符设备 l 符合链接文件 p 命令管道文件 s 套接字文件4)文件的大小
-size #[k|M|G]:#表示数字,匹配的时候为模糊匹配 +#[k|M|G]:+#表示大于,匹配的结果大于#5)文件修改时间
-atime [+|-]# :访问时间,默认为天,#表示#天的这个时间点,+#表示至少有#天没访问 , -#表示#天之内没访问 -mtime [+|-]# : 修改时间,#表示#天的这个时间点没有被修改,+#表示至少有#天没有修改 , -#表示#天之内没有修改 -ctime [+|-]# : 改变时间,#表示#天的这个时间点没有被改变,+#表示至少有#天没有被改变 , -#表示#天之内没有被改变 -amin [+|-]# : 时间为分钟,#表示#分钟的这个时间点没有被访问,+#表示至少有#分钟没有被访问 , -#表示#分钟之内没访问 -mmin [+|-]# :时间为分钟,#表示#分钟的这个时间点没有被修改,+#表示至少有#分钟没有被修改 , -#表示#分钟之内没有被修改 -cmin [+|-]# :时间为分钟,#表示#分钟的这个时间点没有被改变,+#表示至少有#分钟没有被改变 , -#表示#分钟之内没有被改变6)文件权限
-perm [+|-] MODE 不带[+|-]表示精确权限匹配, +表示任何一类用户的任何一位权限匹配 - 表示每类用户的每位权限都匹配-a (and) 与默认是与
-o (or)或
-not,!非
find的处理动作可以是:
-print 默认为输出-ls 显示查找到的文件的详细信息-ok COMMAND \; 要确认-exec COMMAND \;其中COMMAND中有对查找到的文件进行操作时,用{}来替代查找到的文件,\;表示使用-exec的结束符,是固定格式; 使用-exec来出来查找的文件时,还可以通过管道送给xargs命令来解决,xargs在执行命令时,如果有对文件进行操作则用-i选项,{}也表示要操作的文件。本文出自 “技术之路---桀” 博客