find 命令全集

Find命令全集

简介

find命令是 Linux 系统中的一款基于目录文件查找的命令。它可以查找指定目录下符合指定条件的文件或目录,并对这些文件或目录进行相应的操作。

find命令非常强大,提供了很多可选参数,支持使用通配符进行模糊匹配,还可以使用用户自定义的过滤条件。find命令可以查找文件、目录,甚至可以查找符号链接、设备文件等。

命令格式

find命令的基本格式如下:

find [寻找路径] [选项和参数] [匹配条件]
  • [寻找路径]:指定查找的起始目录,可以是相对路径和绝对路径。如果不指定,则默认从当前目录开始查找。
  • [选项和参数]:用于指定一些操作和过滤条件,比如:-type-mtime-mtime +7-name等选项。
  • [匹配条件]:具体的过滤规则,用于匹配文件名、文件类型、文件大小、修改时间等信息。

常用选项和参数

以下是find命令中常用的选项和参数:

  • -name pattern:根据文件名进行模糊匹配。

    例如,查找/etc目录下所有以.conf结尾的文件:

    find /etc -name "*.conf"

  • -type [bcdpfls]:根据文件类型进行匹配。该选项后面紧跟的字符表示文件类型,取值范围如下:

    • b:块设备文件(如硬盘、光驱等)。
    • c:字符设备文件(如键盘、鼠标等)。
    • d:目录文件。
    • p:命名管道。
    • f:普通文件。
    • l:符号链接。
    • s:套接字文件。

    例如,查找/目录下所有普通文件:

    find / -type f

  • -mtime n:根据文件修改时间进行匹配。该选项后面紧跟一个数字n,表示距今n天内修改过的文件。

    例如,查找/目录下距今7天内修改过的文件:

    find / -mtime -7

  • -size [+|-]n[b|c|w|k|M|G]:根据文件大小进行匹配。+表示文件大小大于等于指定值,-表示文件大小小于等于指定值,b表示以字节为单位,c表示以字节为块,w表示以 2 字节为块,k表示以 1024 字节(1KB)为块,M表示以 MB 为单位,G表示以 GB 为单位。

    例如,查找/目录下大小超过1GB的文件:

    find / -type f -size +1G

  • -empty:查找空文件或空目录。

    例如,查找/var目录下所有空目录:

    find /var -type d -empty

  • -user user_name:根据所有者进行匹配。

    例如,查找/home目录下所有属于 user1 所有的文件:

    find /home -user user1

  • -group group_name:根据所属组进行匹配。

    例如,查找/home目录下所有属于 group1 所有的文件:

    find /home -group group1

  • -perm mode:根据文件权限进行匹配。例如:

    • -perm 777:查找文件权限为 777 的文件。
    • -perm -777:查找文件权限包含 777 的文件。
    • -perm /777:查找文件权限包含 777 的文件,但不包括权限恰好为 777 的文件。
  • -maxdepth n:指定最大搜索深度,避免递归搜索过多的子目录。

    例如,查找/etc目录下最大深度为 1 的所有文件和文件夹:

    find /etc -maxdepth 1

示例

示例一

查找/home目录下修改时间距今 30 天以内,属于user1用户的所有.txt.log文件。

find /home -type f \( -name "*.txt" -o -name "*.log" \) -mtime -30 -user user1

该命令说明:

  • -type f:查找文件。
  • \( -name "*.txt" -o -name "*.log" \):使用圆括号括起来的两个-name条件表示查找文件名满足以.txt结尾或者以.log结尾的文件。
  • -mtime -30:查找文件修改时间距现在不超过30天的文件。
  • -user user1:查找文件所有者是user1的文件。

示例二

查找/var目录下大小超过 1GB,修改时间在 3 天以内,属于www用户的所有日志文件,同时将找到的文件使用tar打包。

find /var -type f -size +1G -mtime -3 -user www -name "*.log" -exec tar -czf logs.tar.gz {} +

该命令说明:

  • -size +1G:查找文件大小超过 1GB 的文件。
  • -mtime -3:查找文件修改时间距现在不超过 3 天的文件。
  • -user www:查找文件所有者是www用户的文件。
  • -name "*.log":查找符合文件名为以.log结尾的文件。
  • -exec tar -czf logs.tar.gz {} +:对找到的文件进行打包操作,其中{}表示查找到的文件名,+表示一次性将查找到的所有文件打包起来,避免每个文件都打包一次。
阅读剩余 65%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:find 命令全集 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • vue注册组件的几种方式总结

    下面详细讲解关于Vue注册组件的几种方式总结: 1. 全局注册 全局注册的方式是指在Vue实例之前,使用Vue.component()的方法将组件注册为全局组件,从而在整个应用内都可以使用这个组件。 // 引入Vue.js import Vue from ‘vue’ // 注册全局组件 Vue.component(‘my-component’, { //..…

    other 2023年6月27日
    00
  • C++深入探究不同的继承体系

    C++深入探究不同的继承体系 在C++中,继承是面向对象编程中的一项重要特性。通过继承,我们可以创建具有新属性或方法的类。C++中有多种不同的继承体系,每种继承体系都有其独特的特点和用途。 C++中的继承体系 C++中的继承体系主要有以下几种: 公有继承(public inheritance):派生类继承了父类的所有公共属性和方法,并可以访问这些属性和方法。…

    other 2023年6月26日
    00
  • 魔兽世界7.3狂暴战圣物搭配 wow7.3kbz最佳圣物特质选择优先级介绍

    魔兽世界7.3狂暴战圣物搭配攻略 简介 狂战士是魔兽世界中最强大的职业之一,在7.3版本中更是得到了进一步的加强。正确的圣物搭配可以让你的角色输出更高,承受更多的伤害。本文将为大家详细讲解7.3版本的狂战士圣物搭配攻略。 最佳圣物特质选择 狂战士主要依靠伤害加成和生命值回复来提高输出和生存能力。因此,我们选择的圣物特质应当能够有效地提高这些能力。 伤害加成选…

    other 2023年6月27日
    00
  • adobeacrobatreaderdc离线安装包

    当然,我很乐意为您提供Adobe Acrobat Reader DC离线安装包的攻略。以下是详细的步骤和示例: 步骤1:了解Adobe Acrobat Reader DC离线安装包 Adobe Acrobat Reader DC离线安装包是一种可以在没有网络连接的情况下安装Adobe Acrobat Reader DC的安装程序。它包含了所有必要的文件和组件…

    other 2023年5月6日
    00
  • 如何创建 JavaScript 自定义事件

    下面是如何创建 JavaScript 自定义事件的完整攻略: 什么是 JavaScript 自定义事件 JavaScript 自定义事件是一种由开发者自行定义并触发的事件类型,可以在任何时候和地点触发,用于实现更加灵活的交互功能。 创建 JavaScript 自定义事件的步骤 1. 定义事件类型 首先我们需要定义一个事件类型,可以通过 new Event()…

    other 2023年6月25日
    00
  • Win11/10热跳闸错误怎么修复? 电脑CPU高温重启的解决办法

    Win11/10热跳闸错误怎么修复? 什么是热跳闸错误? 热跳闸(thermal trip)是一种CPU过热保护机制,当CPU温度超过指定上限时,系统会自动关闭以防止硬件损坏。如果您不断遇到热跳闸错误,可能需要采取措施修复您的计算机。 修复热跳闸错误的步骤: 步骤1:清洁内部装置 首先,您需要确认您的计算机内部没有积尘和污垢。如果风扇和其他散热装置被堵塞,将…

    other 2023年6月27日
    00
  • 关于ubuntu系统忘记密码的解决方法合集

    关于Ubuntu系统忘记密码的解决方法合集 Ubuntu是一款流行的Linux操作系统。然而,有时候用户可能会忘记Ubuntu系统的密码,这将导致您无法登录到系统。但是,不要担心,我们为您提供了以下解决方法,以帮助您重置Ubuntu系统密码。 方法一:使用GRUB菜单 在启动系统时,按住SHIFT键来打开GRUB菜单。 选择Ubuntu操作系统,并按下E键来…

    其他 2023年3月29日
    00
  • python中子类继承父类的__init__方法实例

    下面我将详细讲解“Python中子类继承父类的__init__方法实例”的完整攻略。 在Python中,子类可以继承父类的__init__方法,以便在实例化子类的时候执行父类的初始化工作,同时可以增加子类自己的属性和方法。下面是详细的步骤: 定义一个父类,在__init__方法中进行初始化: python class Parent: def __init__…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部