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. 如何禁用maven下载进度指示?

    方法 mvn -B ..或者mvn --batch-mode ...

  2. 浅出讲解:php的socket通信

    原文地址:https://www.cnblogs.com/aipiaoborensheng/p/6708963.html 对TCP/IP.UDP.Socket编程这些词你不会很陌生吧?随着网络技术的发 ...

  3. Unity3D 原来Unity比较新的版本支持中文

    注意: Unity 2018.2 以上版本才可以

  4. Golang 异常/日志处理

    1.xerrors 异常 xerrors 包是一个非常棒的设计,不同于往常语言如java/php,因为go的errors只是一个string类型的映射,所以内存占用空间很少.这在golang的核心库和 ...

  5. STL源码剖析-学习笔记

    1.模板是一个公式或是蓝图,本身不是类或是函数,需进行实例化的过程.这个过程是在编译期完成的,编译器根据传递的实参,推断出形参的类型,从而实例化相应的函数 2. 后续补充-.

  6. 机器学习_第三季_Series

    这一节没讲啥技术知识, 我就简单的罗列一下, 与numpy相似 1. 导入csv文件 import pandas as pdfandango = pd.read_csv("fandango_ ...

  7. 关于iframe的一些使用

    在iframe页面,获取当前iframe的id var iframeId = window.frameElement.id.toString(); 获取父窗口中另一个iframe的iframe,注意返 ...

  8. nginx 为什么受欢迎?

    优势:1.高并发 2.可扩展性 3.高可靠性 4.热部署 5.BSD许可证 如何做到以上优势呢?高并发:异步io非阻塞,占用更少资源,支持更多连接可扩展:模块化设计,第三方模块多高可靠:核心框架代码的 ...

  9. 采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用

    题目:有一个字符串:cabcedeacacdeddaaaba,问题: (1)采用霍夫曼编码画出编码的过程,并写出各字符的编码 (2)根据求得的编码,求得各编码需要的总位数 (3)求出整个字符串总编码长 ...

  10. [CF1070A]Find a Number_bfs

    Find a Number 题目链接:http://codeforces.com/problemset/problem/1070/A 数据范围:略. 题解: 因为$d$和$s$比较小可以搜. 这就很$ ...