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. 查询 ip占用导致ip不通的 问题 查IP对应的mac地址

    IP冲突,  同一个IP配到了多余1台的机器上 ,导致IP 不通的情况,此时需要查询 都有哪台机器配置了这个IP,用 arping 命令, 具体命令 类似于 ping ,直接 arping + 目标地 ...

  2. C#实现动态发布IIS站点帮助类

    准备工作: 1.引用 System.DirectoryServices 系统程序集 2.引用 Microsoft.Web.Administration 程序集,类库位置在 C:\Windows\Sys ...

  3. 从零开始学游戏开发(一):下载与安装UE4游戏引擎

    如何下载和安装虚幻引擎 下载Epic Games Launcher 步骤 百度搜索"what is ue4" 点击第一个搜索结果,进入ue4官网 进入官网首页,点击右上角下载 创建 ...

  4. python线程定时器Timer(32)

    相对前面几篇python线程内容而言,本片内容相对比较简单,定时器 – 顾名思义,必然用于定时任务. 一.线程定时器Timer原理 原理比较简单,指定时间间隔后启动线程!适用场景:完成定时任务,例如: ...

  5. ROS学习(一)Ros 中使用kinect

    上的安装说明如下: 官网上明确写了如果安装windows kinect还需要安装一个驱动,但是有些ROS的书上并没有这么做,只提到了使用如下两步进行安装即可使用: sudo apt-get insta ...

  6. Ribbon【入门】

    公共依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin ...

  7. 【C++札记】引用

    介绍 引用是C++中特有的语法,在C语言中不存在. 本质上引用(reference)就是指针,在类型名后面加上一个&号就是引用类型. 1.指针与引用的定义进行比较 指针定义: 引用定义: in ...

  8. 新浪sae对storage的文档进行读写操作

    有的人喜欢将一些数据写在服务器的文件里面,并不喜欢存在mysql里,但新浪sae却不支持对本地文件进行操作. 不过sae拓展了一个storage的服务,可以将一些静态文件放在上面.本文不介绍文件的上传 ...

  9. linux下添加用户并将文件夹授权给某一个用户

    ### linux下添加用户并将文件夹授权给某一个用户 背景:在做一个项目时,需要外包的前端人员调试测试环境的页面,但是又不能给他服务器的账号信息,就在服务器上新添加一个子账户,再给这个账户项目文件的 ...

  10. python学习-16 列表list

    list 1.由[ ]括住,中括号内各元素由逗号隔开,各元素可以是数字,字符串,列表,布尔值等等. 例如: li = [521,"love",["john",& ...