Linux下find命令的使用 原创 丁小水 2017-07-12 22:20:25 博主文章分类:Linux系统基础 ©著作权 文章标签 Linux find 文章分类 运维 ©著作权归作者所有:来自51CTO博客作者丁小水的原创作品,请联系作者获取转载授权,否则将追究法律责任 为什么要使用find命令? Linux系统中有着成千上万的文件,如果你想要找到自己想要的文件,一款查找软件是必不可少的,而locate是根据其生成的数据库进行查找,虽然速度会略快,但非实时查找,有些新的文件或目录是匹配不到的,而且locate是模糊匹配,而find命令为实时查找,且为精确匹配,如果你对目录的权限够大,想查什么就查什么!find命令的语法格式: find [查找路径] [查找条件] [处理动作] [root@localhost test]# find -type f -ls // 如果不指定查找路径,则在当前路径查找 461307 4 -rwxrwxrwx 1 root root 25 Aug 15 21:41 ./f3 461333 0 -rwxr--r-- 1 root root 0 Aug 15 16:46 ./f1 1700 4 -rw---x--x 1 root root 6 Aug 15 17:50 ./f2 461335 4 -rw-r--r-- 1 root root 23 Aug 15 17:49 ./f1.gz 1)根据文件名和inode查找: -name "文件名称":支持使用glob *, ?, [], [^][root@localhost test]# find /root -name f3 //查找/root目录下 文件名为f3 /root/f3 /root/test/f3 [root@localhost test]# find /root -name f? //查找时候最后使用“”将文件名引起,不然可能会出问题 find: paths must precede expression: f2 Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] [root@localhost test]# find /root -name "f?" //加上引号后可以查找出来,?代表任意单个字符 /root/f3 /root/test/f3 /root/test/f1 /root/test/f2 /root/f1 /root/vmware-tools-distrib/etc/messages/fr /root/Desktop/f1 /root/Desktop/f2 /root/etc2016-08-11/vmware-tools/messages/fr /root/etc2016-08-11/etc/vmware-tools/messages/fr 2)根据属主和属组查找 -user USERNAME:查找属主为指定用户(UID)的文件 -group GRPNAME: 查找属组为指定组(GID)的文件 -uidUserID:查找属主为指定的UID号的文件 -gidGroupID:查找属组为指定的GID号的文件 -nouser:查找没有属主的文件 -nogroup:查找没有属组的文件[root@localhost test]# find /var/ -user xiaoshui //查找/var/目录下属主为xiaoshui的文件或目录 /var/spool/mail/xiaoshui [root@localhost test]# find /tmp -group xiaoshui [root@localhost test]# find /var -nouser -ls //查找/var/目录下没有属主的文件的或目录 67109563 0 -rw-rw---- 1 1002 mail 0 Jul 27 15:46 /var/spool/mail/shui 67109834 0 -rw-rw---- 1 1005 mail 0 Jul 30 15:54 /var/spool/mail/user1 67109549 0 -rw-rw---- 1 1006 mail 0 Aug 1 15:46 /var/spool/mail/gentoo 67401595 4 -rw-rw---- 1 4330 mail 646 Aug 16 09:19 /var/spool/mail/12 3)根据文件类型查找 -type TYPE: f: 普通文件 d: 目录文件 l: 符号链接文件 s:套接字文件 b: 块设备文件 c: 字符设备文件 p: 管道文件 [root@localhost test]# find -type f//查找当前目录下的普通文件 ./f3 ./f1 ./f2 ./f1.gz 4)根据文件大小来查找: -size [+|-]#UNIT 常用单位:k, M, G #UNIT: (#-1, #],如:6k -#UNIT:[0,#-1], 如:-6k +#UNIT:(#,∞), 如:+6k[root@localhost test]# find -size -2k //查找当前目录下文件大小小与2k的文件 . ./f3 ./f1 ./f2 ./f1.gz 5)根据时间戳: -atime[+|-]#, #: [#,#+1) +#: [#+1,∞] -#: [0,#) -mtime //以“天”为单位; -ctime//以“天”为单位; -amin//以“分钟”为单位: -mmin以“分钟”为单位: -cmin以“分钟”为单位:[root@localhost test]# find -atime -7 //表示查找当前目录下七天内访问过的文件 . ./f3 ./f1 ./f2 ./f1.gz 6)根据权限查找 -perm [/|-]MODE MODE: 精确权限匹配 /MODE:任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从centos7开始淘汰 -MODE:每一类对象都必须同时拥有指定权限,与关系 0 表示不关注[root@localhost test]# find -perm -002//表示当其他人有w权限时匹配 ./f3 [root@localhost test]# ll total 12 -rwxr--r-- 1 root root 0 Aug 15 16:46 f1 -rw-r--r-- 1 root root 23 Aug 15 17:49 f1.gz -rw---x--x 1 root root 6 Aug 15 17:50 f2 -rwxrwxrwx 1 root root 25 Aug 15 21:41 f3 [root@localhost test]# find -perm 644 //表示精确查找当前目录下权限为644的文件或目录 . ./f1.gz组合条件 与:-a 或:-o 非:-not, !默认为-a 德·摩根定律: 非(P 且Q) = (非P) 或(非Q) 非(P 或Q) = (非P) 且(非Q) 具体表现为 !A -a !B = !(A -o B) !A -o !B = !(A -a B)[root@localhost ~]# find /var -not -user root -not -user lp -not -user gdm|wc -l 124 //表示查找属主不是root,lp,gdm的文件或目录 [root@localhost ~]# find /var -not -user root -not -user lp -not -user gdm|wc -l 124//使用摩根定律即对属主不是root或lp,或gdm的去反。处理动作 -print:默认的处理动作,显示至屏幕; -ls:类似于对查找到的文件执行“ls -l”命令 -delete:删除查找到的文件; -flsfile:查找到的所有文件的长格式信息保存至指定文件中 -ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令; 对于每个文件执行命令之前,都会交互式要求用户确认 -exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令 {}: 用于引用查找到的文件名称自身[root@localhost ~]# find -perm 640 -ls //对查找到的内容执行ls -l 67444969 4 -rw-r----- 1 root ssh_keys 1679 Jul 25 12:43 ./etc2016-08-11/ssh/ssh_host_rsa_key 67444971 4 -rw-r----- 1 root ssh_keys 227 Jul 25 12:43 ./etc2016-08-11/ssh/ssh_host_ecdsa_key 67444973 4 -rw-r----- 1 root ssh_keys 387 Jul 25 12:43 ./etc2016-08-11/ssh/ssh_host_ed25519_key 134369098 4 -rw-r----- 1 root lp 3091 Jul 25 20:19 ./et [root@localhost test]# ll total 12 -rwxr--r-- 1 root root 0 Aug 15 16:46 f1 -rw-r--r-- 1 root root 23 Aug 15 17:49 f1.gz -rw---x--x 1 root root 6 Aug 15 17:50 f2 -rwxrwxrwx 1 root root 25 Aug 15 21:41 f3 [root@localhost test]# find -perm 644 -delete /对查找到的内容执行删除操作 [root@localhost test]# ls //使用ls查看,确实删除了 f1 f2 f3课后练习1、查找/var目录下属主为root,且属组为mail的所有文件2、查找/var目录下不属于root、lp、gdm的所有文件3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件5、查找/etc目录下大于1M且类型为普通文件的所有文件6、查找/etc目录下所有用户都没有写权限的文件7、查找/etc目录下至少有一类用户没有执行权限的文件8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件 赞 收藏 评论 分享 举报 上一篇:统计一定时间段nginx日志发送的报文数 下一篇:设置centos7yum源为阿里源 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 Linux 下 LVM 的基础使用 Linux LVM 基础使用方法 逻辑卷 元数据 自动备份 Linux命令 grep的使用技巧 grep (global regular expression print) 是 Linux 或其他类 Unix 操作系统中的一个功能强大的命令行搜索工具。它可以从文件或标准输入中搜索文本或字符串,并显示匹配的行或统计信息。grep 命令有大量的选项和用法,本文将介绍一些常见的示例。在文件中搜索字符串或正则表达式如果我们想在一个或多个文件中搜索一个字符串或正则表达式,我们可以使用 grep 搜索 bash 字符串 linux下Redis常用命令 1、redis重启,缓存数据还在,redis清缓存数据: redis-cli -h IP -p port ##登录redis flushall #运行flushall,清缓存数据注:redis重启后,数据还在,因为redis有持久化策略。redis默认开启rdb持久化策略,会产一个rdb.dump文件,重启时会从该文件导入数据。如果是配置了AOF持久化策略,也会产一个相应 redis Linux下Find命令的使用 linux下文件查找的工具有locate和find,locate依赖于数据库,速度快,非实时性的查找,结果也不是特别精确,只是做模糊匹配查找;所以我们平常在生产环境中要使用find来查找我们想要找到的文件。find的使用格式如下: find [ option ] [查找路径] [查找条件] [处理动作] 查找路径:默认为当前目录; linux文本查找工具之find Linux下find命令的使用详解 1,什么是find? 从英文字面意思上就是:查找,查询的意思,不错,这就是Linux系统功能强大的文件查找命令find2,find命令的具体使用方法 命令格式:find [options] [查找路径] 按文件名称查找 -name 可以使用文件通配符,如,*,?,[],[^] &n Linux find Linux中find命令的使用详解(下) 通过前两篇文章,如果我们都掌握了的话,在平常的系统运维、管理中基本可以达到得心应手的程度了。接下来,我们通过这篇文章,我们将更加深入了。在上面 Linux CentOS find redhat 查找 Linux下的find命令 Linux下find命令在目录结构中搜索文件,并执行指定的操作。并且提供了相当多的查找条件,功能很强大。1.命令格式: find pathname -options [-print -exec -ok ...]2.命令功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘) 3.命令参数:pathname: find命令所查找的目录路径。例如用 Linux Linux linux下 find+exec 命令使用 find <path> -iname <file_name> -exec <action> {} [argument] \;例:1、当前目录查找txt文件复制到/tmp下# find ./ -iname \*.txt -exec cp {} /tmp/ \;2、删除当前目录下4天前的txt文件# find ./ -iname \*.txt -mtime +4 - find exec Linux下find命令 Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了 查找文件 find命令 子目录 linux 下find的使用 find命令用于查找文件和目录,任何位于参数之前的字符串都将被视为欲查找的目录。find 可以指定查找条件如名称,类型,时间,文件大小,权限和所有者查找,针对多个条件进行与或非的逻辑运算。我们可以控制find的查找的行为,还可以和其他命令组合使用。find find .find . -print三者等效, 查找当前目录下所有的文件和目录(递归子目录),以 linux find 使用方法 linux下的find命令详解 find命令详解一、Linux中find常见用法示例·find path -option [ -print ] [ -exec -ok comman 命令 Linux 系统 休闲 find linux下find命令的用法 linux下find命令的用法 通过文件名查找法:这 个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那 么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某 系统 的 lunix下find命令使用 列出当前目录及子目录下所有文件和文件夹 find . 在/home目录下查找以.txt结尾的文件名 find /home -name "*.txt" 同上,但忽略大小写 find /home -iname "*.txt" 当前目录及子目录下查找所有以.txt和.pdf结尾的文件 find . \( lunix LINUX下的Find命令的探索 在linux图形化界面下,我们可以很方便的查看一个文件或者目录查看最近修改的时间和访问时间。但不幸的是,在linux或者unix这类操作系统,并没有为我们保存文件的创建日期。但是究其根本,图形化的操作都会转换为相应的命令来执行。在linux终端下,我们是如何通过Shell命令,查看一个文件或者目录的信息呢。在这里我们借助find命令,下面是find命令的用法和简述:用法: find . 命令 LINUX Find linux中Find命令的使用 今天一个很偶然的机会看到了linux中的find命令,然后我在网上搜索了一下这方面的内容,为了方便大家学习参考,我就总结一下,一上午的劳动成果,呵呵!首先是find的语法:find [起始目录] 寻找条件 操作还有种表述方式:find PATH OPTION [-exec COMMAND { } \;]因为find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子 linux find命令 linux 下find命令详解 http://wenku.baidu.com/link?url=rGR3KRF9jHC5My52hM3ItLK7SVDla9dejKHD7D4R-tnCQftrdeB13x1E4tySCEx-5uwWOtcIwX1FqhR-bsnkckiS35HRlyzpjdOOqdN_0ga linux 下find命令详解 LINUX下find命令小记 find 命令find 路徑 查找條件 查找動作(1)根據文件名或正則表達式匹配搜索eg. find /home -name "*.txt" -printiname表示忽略大小寫a.匹配2個條件find /home \( -name "*.txt" -a -name "user.*" \) -print b.匹配2個條件中的一個find /home \( -name "*.txt" -o -nam find Linux下find命令详情 find指令的内容很多,学习加上实践效果更佳。。。 linux 根目录 linux下find命令大全 一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。可是使用Linux的用户就没有那么幸运了,在Linux上 命令 linux 大全 休闲 find Linux下find命令实例 Linux下find命令实例$find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示$find . -name "*.txt" -print$find . -name "[A-Z]*" -pri26nbsp; #对匹配的文件使用cpio命令 Linux 实例 休闲 find find命令