前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实例讲解linux强大的find命令

实例讲解linux强大的find命令

作者头像
章鱼喵
发布2018-06-27 15:17:53
1.3K0
发布2018-06-27 15:17:53
举报
文章被收录于专栏:codingcoding

find命令思维导图

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

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

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

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

基本使用

-name 指定文件名

代码语言:javascript
复制
$ find /etc -name passwd
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd

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

-iname 忽略大小写

代码语言:javascript
复制
$ find . -iname test.txt
./TesT.txt
./Test.txt
./test.txt

-type d 查找目录

代码语言:javascript
复制
$ find . -type d -name dir1
./dir1

-type f 查找文件

代码语言:javascript
复制
$ find . -type f -name test.php
./test.php

查找某一类文件

代码语言:javascript
复制
$ find . -type f -name "*.php"
./test.php
./test1.php
./test2.php

* 表示通配符

根据权限查找

查找权限为777的文件

代码语言:javascript
复制
$ find . -type f -perm 777 -print

-print 将结果打印

查找权限不为777的文件

代码语言:javascript
复制
$ find . -type f ! -perm 777

! 反选

查找可执行文件

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

代码语言:javascript
复制
$ find . -type f -perm /a=x

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

代码语言:javascript
复制
$ 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

查找并删除单一文件

代码语言:javascript
复制
$ find . -type f -name "test" -exec rm -f {} \;

查找并删除多个文件

代码语言:javascript
复制
$ find . -type f -name "*.txt" -exec rm -f {} \;

查找所有空文件

代码语言:javascript
复制
$ find /tmp -type f -empty

查找所有空目录

代码语言:javascript
复制
$ find /tmp -type d -empty

查找所有隐藏文件

代码语言:javascript
复制
$ find . -type f -name ".*"

根据属主/属组查找文件

代码语言:javascript
复制
$ 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天前修改过的文件

代码语言:javascript
复制
$ find . -mtime 50

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

代码语言:javascript
复制
$ find . -mtime +50 -mtime -100

根据文件大小查找

查找大小为50M的文件

代码语言:javascript
复制
$ find / -size 50M

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

代码语言:javascript
复制
$ find / -size +50M -size -100M

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

代码语言:javascript
复制
$ find / -type f -name "*.log" -size +100M -exec rm {} \;

思维导图源文件下载

参考链接

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.09.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本使用
    • -name 指定文件名
      • -iname 忽略大小写
        • -type d 查找目录
          • -type f 查找文件
            • 查找某一类文件
            • 根据权限查找
              • 查找权限为777的文件
                • 查找权限不为777的文件
                  • 查找可执行文件
                    • 找到777权限的文件并将其改为644
                      • 查找并删除单一文件
                        • 查找并删除多个文件
                          • 查找所有空文件
                            • 查找所有空目录
                              • 查找所有隐藏文件
                              • 根据属主/属组查找文件
                              • 根据文件时间查找
                                • 50天前修改过的文件
                                  • 大于50天小于100天前修改过的文件
                                  • 根据文件大小查找
                                    • 查找大小为50M的文件
                                      • 查看大小为50M至100M的文件
                                        • 查找大于100M的log文件并删除
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档