Linux中的Find(查找)命令是在Linux系统中最重要并且更有用的命令之一。Find命令主要用于指定匹配文件条件的参数查找或者定位文件和目录的列表。Find命令能够被使用基于各种各样的条件,例如permissions(权限),users(用户),groups(组),file type(文件类型),date(日期),size(大小)等等其它可能的条件。

在这篇文章我们主要分享常用的35个Find命令以及通过例子来讲解每一个的用法,这里的35个例子我们分为5大块来讲解。

  • 第一部分: 基本的Find命令查找通过名字
  • 第二部分: 查找文件通过权限
  • 第三部分: 查找文件通过拥有者以及组
  • 第四部分: 查找文件通过日期和时间
  • 第五部分: 查找文件通过文件的大小

第一部分:通过文件名来查找文件

1,查找文件在最近的工作目录通过文件名

查找最近工作目录下名为test.txt的所有文件。

# find . -name test.txt

./tmp/test.txt
./test.txt

2,通过文件名查找文件在home工作目录

查找home目录下名为test.txt的所有文件。

# find /home/ -name test.txt

/home/test.txt

3,通过忽略文件名的大小写来查找文件在home工作目录

查找home工作目录下名为test.txt并且不分大小写的所有文件。

# find /home -iname test.txt

/home/test.txt
/home/Test.txt

/home/tesT.txt

4,查找目录使用文件名

查找在根目录/下名为test的所有文件名。

# find / -type d -name test

/test

5,使用Php文件名后缀来查找对应格式文件

查找最近工作目录下名为test.php的所有文件。

# find . -type f -name tecmint.php

/test.php

6,在最近工作目录查找所有Php文件

查找最近工作目录下所有Php后缀的文件。

# find . -type f -name "*.php"

./test.php
./login.php
./index.php

第二部分:通过权限查找文件

7,查找拥有777权限的所有文件

查找最近工作目录下有777权限的所有文件。

# find . -type f -perm 0777 -print

./test.txt

8,查找没有777权限的所有文件

查找根目录下没有777权限的所有文件。

# find / -type f ! -perm 777

9,查找有644权限的SGID文件

查找根目录下有644权限的SGID字节文件。

# find / -perm 2644

10,查找权限为551粘值位字节文件

查找根目录下权限为551粘值位字节文件。

# find / -perm 1551

11,查找根目录下SUID集合文件

查找根目录下SUID集合文件。

# find / -perm /u=s

12,查找根目录下SGID集合文件

查找根目录下SGID集合文件。

# find / -perm /g=s

13,查找只读文件

查找根目录下所有只读文件。

# find / -perm /u=r

14,查找可执行文件

查找根目录下所有可执行文件。

# find / -perm /a=x

15,查找所有777权限的文件并设置权限为644

查找根目录下权限为777的所有文件并通过chmod 修改权限为644。

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

16,查找所有777权限的目录并设置权限为755

查找根目录下权限为777的所有目录并通过chmod 修改权限为755。

# find / -type d -perm 777 -print -exec chmod 755 {} \;

/test.php

17,查到并删除单个对应的文件

查找最近工作目录下名为test.php文件并删除。

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

18,查找对应格式的多个文件并删除

查找最近工作目录下后缀为.mp3或者.txt的所有文件并删除。

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

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

19,查找/tmp目录下的所有空文件

查找/tmp目录下的所有空文件。

# find /tmp -type f -empty

/test.php

20,查找/tmp目录下的所有空目录

查找/tmp目录下的所有空目录。

# find /tmp -type d -empty

21,查找/tmp目录下的所有隐藏文件

查找/tmp目录下的所有隐藏文件

# find /tmp -type f -name ".*"

第三部分:通过用户拥有着以及拥有组查找文件

22,通过拥有者查找单个文件

查找根目录下名为test.txt的文件并且拥有着为user。

# find / -user root -name test.txt

23,在home目录下查找对应拥有者的所有文件

在home目录下查找对应拥有者root的所有文件。

# find /home -user root

24,在home目录下查找对应组的所有文件

在home目录下查找对应组developer的所有文件。

# find /home -group developer

25,查找后缀为txt的并且拥有者用户属于root的所有文件

查找后缀为txt的并且拥有者用户属于root的所有文件。

# find /home -user root -iname "*.txt"

第四部分:通过文件修改的时间和日期来查找文件

26,查找根目录下最后50天修改的文件

查找根目录下最后50天修改的文件。

# find / -mtime 50

27,查找根目录下最后50天访问的文件

查找根目录下最后50天访问的文件

# # find / -atime 50

28,查找根目录下最后50天到100天修改的文件

查找根目录下最后50天到100天修改的文件。

# find / -mtime +50 –mtime -100

29,查找在过去一小时改变的文件

查找在过去一小时改变的文件。

# find / -cmin -60

30,查找在过去一小时修改的文件

查找在过去一小时修改的文件。

# find / -mmin -60

31,,查找在过去一小时访问的文件

查找在过去一小时访问的文件。

# find / -amin -60

第五部分:通过文件大小来查找文件

32,查找根目录下大小为50M的文件

查找根目录下大小为50M的文件。

# find / -size 50M

33,查找根目录下大小为50M到100M之间的文件

查找根目录下大小为50M到100M之间的文件。

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

34,查找根目录下大小超过100M的文件删除

查找根目录下大小为100M的文件删除。

# find / -size +100M -exec rm -rf {} \;

35,查找根目录下格式为MP3并且大小超过10M的文件并删除

查找根目录下格式为MP3并且大小超过10M的文件并删除。

# find / -type f -name *.mp3 -size +10M -exec rm {} \;

Linux教程 Find命令的使用的更多相关文章

  1. Linux教程--基础命令

    本教程适用于已经有Linux基础的同学们来一起学习哦!(环境:实验楼(https://www.shiyanlou.com/)) 有趣的Linux命令:Banner 一.安装 sudo apt-get ...

  2. Linux教程 Yum命令的使用

    在这篇文章中,我们将学习如何安装,更新,删除,查找安装包,管理安装包以及安装包的仓库在Linux系统使用RedHat开发的YUM(Yellowdog Updater Modified)工具.以下这些命 ...

  3. Linux教程 网络管理命令Netstat的使用

    Netstat(network statistics) 网络统计命令是一个命令行工具,用于监视网络出入的连接,路由表以接口统计等.Netstat 在所有的Unix或者Linux系统,Windows系统 ...

  4. Mac OSX系统、Linux、Windows命令行教程

    目录 Mac OSX系统.Linux.Windows命令行教程 一.各系统终端的使用方法 二.各系统命令的功能 Mac OSX系统.Linux.Windows命令行教程 用你的终端做一些事情 (com ...

  5. linux教程及常用命令手册

    Linux 教程 Linux 教程.Linux 简介.Linux 安装.Linux 系统启动过程.Linux 系统目录结构.Linux 忘记密码解决方法.Linux 远程登录.Linux 文件基本属性 ...

  6. 键盘侠Linux教程(四)| 常用命令

    前言 Linux命令并不可怕,只要熟悉日常的操作命令即可,其他不熟悉的命令,需要用到的时候可以查阅资料,熟能生巧. Linux常用操作命令 命令的基本格式 命令的提示符 [root@localhost ...

  7. Linux 命令详解(七)Systemd 入门教程:命令篇

    Systemd 入门教程:命令篇http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

  8. Linux 基础教程 29-tcpdump命令-1

    什么是tcpdump     在Linux中输入命令man tcpdump给出的定义如下所示: tcpdump - 转储网络上的数据流 是不是感觉很懵?我们用通俗.形象.学术的表达方式来全方位描述tc ...

  9. Linux培训教程 linux中nl命令使用介绍

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

随机推荐

  1. 解决访问github等网站慢或下载失败的问题

    最近老大push项目,正常的git clone每次都是下载一部分就断掉了.下面介绍网上找到的两种方法: 方法一: 1.打开网站https://www.ipaddress.com/: 2.分别在上面打开 ...

  2. Laravel增加CORS中间件完成跨域请求

    原文地址: 跨域的请求 出于安全性的原因,浏览器会限制 Script 中的跨域请求.由于 XMLHttpRequest 遵循同源策略,所有使用 XMLHttpRequest 构造 HTTP 请求的应用 ...

  3. boost::bind四种应用场景的例子

        普通函数 int f( int a, int b ){return a + b;}boost::bind( f, _1, 9 )( 1 ) 成员函数 struct demo{int f( in ...

  4. Zookeeper开源客户端Curator之事件监听详解

    Curator对Zookeeper典型场景之事件监听进行封装,提供了使用参考.这篇博文笔者带领大家了解一下Curator的实现方式. 引入依赖 对于Curator封装Zookeeper的典型场景使用都 ...

  5. airflow安装rest api插件发现airflow webserver服务不能启动的解决办法

    安装插件airflow-rest-api 1)获取 wget https://github.com/teamclairvoyant/airflow-rest-api-plugin/archive/ma ...

  6. Linux下载安装mysql5.7教程

    首先下载mysql 的安装包,可以去官网下载,网址:https://dev.mysql.com/downloads/mysql/ 然后下滑,在这个地方选择你想要安装的版本: 这里我选择的5.7.点击进 ...

  7. Python笔记008函数(2)

    1.        昨日内容回顾: def 函数(): 函数体 return 值 如果不写return,默认返回None.可以单独返回一个值,也能够以元组的形式返回多个值.(不要把print和retu ...

  8. Yii2 基于header 实现接口版本控制

    Yii2 官方给出的方案是基于url的版本控制,但是我们的versoin放在header里面,需要通过header来进行版本控制,实现如下: 首先在基类中实现actions,actions是针对con ...

  9. Angularjs 省市区级联

    Json 地区文件:http://blog.csdn.net/youshi520000/article/details/70808580 angularjs angular.module('app') ...

  10. .netcore 上传

    BS 上传文件,就是 <input type="file" name="file" />  这个选择文件之后,浏览器保存了文件路径,上传的时候,把这 ...