实例讲解linux强大的find命令

作者: 闲睡猫 | 来源:发表于2017-09-17 22:44 被阅读162次
find命令思维导图

Find命令是linux中最常用且重要的命令之一,用于检索文件所在的位置,可以根据多种参数组合进行检索:文件名称,文件权限,文件属组,文件类型,文件大小等。

虽然man find手册有关于find的详细说明,可缺乏实例的说明文档显得干巴巴,对初学者很不友好。导致初学者对于find产生这样的印象:“我知道find很强大,但不知道用在什么场景,该怎么用”。

再强大的工具,只有会用,用得好,才能体现出其价值。

基于此,本文将用实例讲解find命令常用场景:

基本使用

-name 指定文件名

$ find /etc -name passwd
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd

find会对指定路径进行递归查找

-iname 忽略大小写

$ find . -iname test.txt
./TesT.txt
./Test.txt
./test.txt

-type d 查找目录

$ find . -type d -name dir1
./dir1

-type f 查找文件

$ find . -type f -name test.php
./test.php

查找某一类文件

$ find . -type f -name "*.php"
./test.php
./test1.php
./test2.php

* 表示通配符

根据权限查找

查找权限为777的文件

$ find . -type f -perm 777 -print

-print 将结果打印

查找权限不为777的文件

$ find . -type f ! -perm 777

! 反选

查找可执行文件

即查找所有用户都拥有x权限的文件

$ find . -type f -perm /a=x

找到777权限的文件并将其改为644

$ ll
-rwxrwxrwx 1 root root 0 9月  17 22:01 test

$ find -type f -perm 777 -print -exec chmod 644 {} \;
./test

$ ll                                                 
-rw-r--r-- 1 root root 0 9月  17 22:01 test

查找并删除单一文件

$ find . -type f -name "test" -exec rm -f {} \;

查找并删除多个文件

$ find . -type f -name "*.txt" -exec rm -f {} \;

查找所有空文件

$ find /tmp -type f -empty

查找所有空目录

$ find /tmp -type d -empty

查找所有隐藏文件

$ find . -type f -name ".*"

根据属主/属组查找文件

$ find /etc -user senlong -name passwd

$ find /etc -user root -name passwd   
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd

$ find /etc -group root -name passwd
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd

根据文件时间查找

50天前修改过的文件

$ find . -mtime 50

大于50天小于100天前修改过的文件

$ find . -mtime +50 -mtime -100

根据文件大小查找

查找大小为50M的文件

$ find / -size 50M

查看大小为50M至100M的文件

$ find / -size +50M -size -100M

查找大于100M的log文件并删除

$ find / -type f -name "*.log" -size +100M -exec rm {} \;

思维导图源文件下载

参考链接

相关文章

  • 实例讲解linux强大的find命令

    Find命令是linux中最常用且重要的命令之一,用于检索文件所在的位置,可以根据多种参数组合进行检索:文件名称,...

  • Linux - find与grep

    find Linux find命令用来在指定目录下查找文件。 实例 找出dev下以 std 开头的文件 find指...

  • linux命令—find查找文件

    find 命令功能非常的强大,支持的参数很多,这里简单讲解一些平时常用的命令查找命令的基本格式为: ** find...

  • linux最强大的文件搜索命令--find命令

    首先照旧宣传一波linux学习地址:慕课课程-Linux达人养成计划 find命令基本语法 Linux通配符 实例...

  • find:文件查找命令

    Linux find命令用来在指定目录下查找文件。find命令功能强大,选项比较多,能够记住的选项就那么几个,正好...

  • linux终端查找文件

    linux下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如...

  • Linux常用文件搜索命令

    最强大的搜索命令:find 首先进行一点说明,find命令是我们在Linux系统中用来进行文件搜索用的最多的命令,...

  • Linux的五个查找命令

    本文为转载:Linux的五个查找命令 find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件...

  • GnuWin32的安装与使用

    使用过Linux的伙计估计都会喜欢上linux各种各样强大的命令如:find、vim、cp、mv、wget、cur...

  • Linux常用命令之文件搜索命令

    1、最强大的搜索命令:find 首先进行一点说明,find命令是我们在Linux系统中用来进行文件搜索用的最多的命...

网友评论

本文标题:实例讲解linux强大的find命令

本文链接:https://www.haomeiwen.com/subject/waytsxtx.html