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. 01.轮播图之三 : collectionView 轮播

    个人觉得 collection view 做轮播是最方便的,设置下flowlayout 其他不会有很大的变动,没有什么逻辑的代码 let's begin…… 创建自定义的view .h 声明文件 @i ...

  2. docker安装并持久化postgresql数据库

    安装docker步骤略过 1.拉取postgresql镜像 docker pull postgresql 2.创建本地卷,数据卷可以在容器之间共享和重用, 默认会一直存在,即使容器被删除(docker ...

  3. 《Fluid Engine Development》 学习笔记4-预测校正不可压缩SPH-PCISPH

    传统SPH方案的主要问题之一是时间步长限制.在原始的SPH中,我们首先从当前设置计算密度,使用EOS计算压强,应用压力梯度,然后运行时间积分.这个过程意味着只需要一定的压缩量就可以触发内核半径内的压力 ...

  4. 【ARM-Linux开发】Wi-Fi 应用工具wpa_supplicant

    wpa_supplicant是一个跨平台的无线安全管理软件,这里需要用它来对无线网络进行配置,wpa_supplicant相关工具已经移植好,包含在我们提供的文件系统中. 配置无线网络 wpa_sup ...

  5. 遇到引入的JS不起作用

    1.js的加载是有先后顺序的,并且不能重复引入,重复引入的只有最后一个起作用 2.在使用ligerUI的时候一定要先引用jQuery再引用ligerUI 3.在使用jQuery时遇到变量名未定义的主要 ...

  6. spring 中常用的两种事务配置方式

    引用:http://blog.csdn.net/qh_java/article/details/51811533 引用:http://www.cnblogs.com/rushoooooo/archiv ...

  7. python 字体染色

    字体染色 <font face="黑体">我是黑体字</font> <font face="微软雅黑">我是微软雅黑< ...

  8. Postman 下载和使用

    Postman 的官网下载地址是:https://www.getpostman.com/apps/

  9. C#基础知识学习 三

  10. java中实现在线人数统计

    //java 代码public class SessionCounter implements HttpSessionListener { private static int activeSessi ...