Linux使用find命令查找文件

find命令

  • 简介
    • 语法格式
      • 基本参数
  • 参考实例
    • 根目录下文件名称的例子
    • 指定路径下特定类型的例子
    • 指定路径、文件类型特定文件名称的例子
    • 指定路径、文件类型特定文件大小的例子
    • 指定路径、文件类型 查找近期修改时间的例子
    • 指定路径、文件类型 查找空文件或目录的例子
    • 指定路径、文件类型 查找特定权限文件的例子
    • 搜索指定用户的文件
    • 搜索指定组的目录
    • 组合多个选项

简介

https://zhuanlan.zhihu.com/p/550924132

  Linux系统中的find命令是一种功能丰富的工具,可以帮助我们快速查找文件或目录。本教程将向您展示如何使用Linux find命令来查找您需要的文件。
  在使用Linux find命令之前,您需要了解其基本语法。Linux find命令的基本语法如下:

find [path] [expression]

  其中,path表示要查找的目录路径,expression表示查找表达式,用于指定要查找的文件类型、名称、大小等条件。

  find命令的作用是在目录层次结构中搜索文件所在的位置,此命令可以使用的参数很多,同时支持正则表达式,结合管道符后能够实现更加复杂的功能,是必须掌握的命令之一。
  通常find是从根目录开始全盘搜索,不同于其他几个搜索文件的命令,find搜索时会消耗较多的系统资源,在服务器负载较高的时候,不建议从根目录开始搜索。

语法格式

语法格式:find 【路径】【参数】

SYNOPSIS
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

基本参数

此命令的常用参数有以下这些,以表格形式显示:

-name匹配文件的名称
-user匹配用户的文件(所有者)
-group匹配组的文件(所有组)
-mtime -n +n匹配修改内容的时间,-n表示n天之内,+n表示n天之前
-atime -n +n匹配访问文件的时间,-n表示n天之内,+n表示n天之前
-ctime -n +n匹配改动文件的时间,-n表示n天之内,+n表示n天之前
-perm匹配文件权限
-size匹配文件的大小,单位k M,+nk表示查找大于n的文件,-nk表示查找小于n的文件
-exec { } ;后面可跟用于进一步处理搜索结果的命令
-prune忽略某个目录
-nouser匹配不是这个用户的文件
-nogroup匹配不是这个组的文件
-type匹配文件类型(b d c p f l)

其中,-type参数的文件类型:

b:块设备文件
d:目录文件
c:字符设备文件
p:管道文件
f :文本文件
l :链接文件

参考实例

根目录下文件名称的例子

find / -name "000"

上述命令将在服务器的根目录中查找包含"000"的文件或目录。

在root/data目录下搜索*.txt的文件名

[root@localhost ~]# find /root/data -name "*.txt"
/root/data/1.txt
/root/data/2.txt
/root/data/3.txt
/root/data/4.txt
/root/data/5.txt

在/var/log目录搜索指定后缀的文件 , -iname表示不区分大小写的的文件名称

[root@localhost ~]# find /var/log -type f -iname "*.log"
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
......

在/var/log目录搜索指定后缀不是.log的文件

[root@localhost ~]# find /var/log -type f ! -name ".log" | wc -l
71

指定路径下特定类型的例子

除了查找特定关键词的文件或目录外,您还可以使用Linux find命令的其他选项来进一步细化您的搜索。
要查找特定类型的文件,您可以使用-type选项。

find /path/to/search -type f -name "*.txt"

  在上述命令中,/path/to/search是您要查找的目录路径,-type f表示要查找的是文件类型,-name "*.txt"表示要查找以.txt结尾的文件。

指定路径、文件类型特定文件名称的例子

find /path/to/search -type f -name "file.txt"

指定路径、文件类型特定文件大小的例子

要查找特定大小的文件,可以使用-size选项。例如,要查找大小为10MB的文件,可以使用以下命令:

find /path/to/search -type f -size 10M

在/etc目录下搜索大于5M,小于10M的文件

[root@localhost ~]# find /etc -type f -size +5M -and -size -10M 

指定路径、文件类型 查找近期修改时间的例子

如果您想查找近期修改的文件,可以使用-mtime选项。例如,要查找近期7天内修改过的文件,可以使用以下命令:

find /path/to/search -type f -mtime -7

搜索一天以内最后修改时间的文件;并将文件删除
使用-exec参数将前面的文件进行处理,也可使用find配合xargs将文件进行删除。

[root@localhost ~]# find /root/data -mtime -1 
/root/data
/root/data/1.txt
/root/data/2.txt
/root/data/3.txt
/root/data/4.txt
/root/data/5.txt
[root@localhost ~]# find /root/data -mtime -1 -exec rm -f {} \; [root@localhost ~]# find /root/data -mtime -1 |xargs -i rm -f {}[root@localhost ~]# ll /root/data/
总用量 0

指定路径、文件类型 查找空文件或目录的例子

要查找空文件或目录,可以使用-empty选项。例如,要查找空目录,可以使用以下命令:

find /path/to/search -type d -empty

指定路径、文件类型 查找特定权限文件的例子

要查找特定权限的文件,可以使用-perm选项。例如,要查找所有小伙伴可读、可写和可执行的文件,可以使用以下命令:

find /path/to/search -type f -perm 777

搜索指定用户的文件

[root@localhost ~]# find / -type f -user host 

搜索指定组的目录

[root@localhost ~]# find / -type d -group host
/var/tmp/yum-host-u08wM2
/var/tmp/yum-host-u08wM2/x86_64
/var/tmp/yum-host-u08wM2/x86_64/7
[root@localhost ~]# find / -type d -group host | wc -l
18

组合多个选项

您还可以将多个选项组合在一起来查找更精确的结果。例如,要查找所有的图片文件(.jpg或.png)和大小不超过1MB的文件,可以使用以下命令:

find /path/to/search -type f \( -name "*.jpg" -o -name "*.png" \) -size -1M

通过组合不同的选项,您可以根据自己的需求来定制查找条件,从而更加准确地找到所需的文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx安装详细步骤和使用说明

下载地址: https://download.csdn.net/download/jinhuding/88463932 详细说明和使用参考: 地址:http://www.gxcode.top/code 一 nginx安装步骤: 1.nginx安装与运行 官网 http://nginx.org/1.1安装gcc环境 # yum install gcc-c…

RustDay06------Exercise[71-80]

71.box的使用 说实话这题没太看懂.敲了个模板跟着提示就过了 // box1.rs // // At compile time, Rust needs to know how much space a type takes up. This // becomes problematic for recursive types, where a value can have as part of // itself another value of th…

2022最新版-李宏毅机器学习深度学习课程-P26 Recurrent Neural Network

RNN 应用场景:填满信息 把每个单词表示成一个向量的方法:独热向量 还有其他方法,比如:Word hashing 单词哈希 输入:单词输出:该单词属于哪一类的概率分布 由于输入是文字序列,这就产生了一个问…

如何能够获取到本行业的能力架构图去了解自己的能力缺陷与短板,从而能清晰的去弥补差距?

如何能够获取到本行业的能力架构图去了解自己的能力缺陷与短板,从而能清晰的去弥补差距? 获取并利用能力架构图(Competency Model)来了解自己在特定行业或职位中的能力缺陷和短板,并据此弥补差距,是一个非常…

【PyTorch实战演练】自调整学习率实例应用(附代码)

目录 0. 前言 1. 自调整学习率的常用方法 1.1 ExponentialLR 指数衰减方法 1.2 CosineAnnealingLR 余弦退火方法 1.3 ChainedScheduler 链式方法 2. 实例说明 3. 结果说明 3.1 余弦退火法训练过程 3.2 指数衰减法训练过程 3.3 恒定学习率训练过程 3.4 结果解读 4. …

软件工程第七周

内聚 耦合 (Coupling): 描述的是两个模块之间的相互依赖程度。控制耦合是耦合度的一种,表示一个模块控制另一个模块的流程。高度的耦合会导致软件维护困难,因为改变一个模块可能会对其他模块产生意外的影响。 内聚 (Cohesion): 描述的是模块内部各个元素…

虚拟机weblogic服务搭建及访问(物理机 )

第一、安装环境: weblogic10.3.6.jar, jdk1.6.bin(开始安装jdk1.8后,安装域的时候报错 ,版本很重要) centos7虚拟机(VMware9) 本机系统windows7 以上安装包如果需要可以私信我,上传资源提示…

yolov8x-p2 实现 tensorrt 推理

简述 在最开始的yolov8提供的不同size的版本,包括n、s、m、l、x(模型规模依次增大,通过depth, width, max_channels控制大小),这些都是通过P3、P4和P5提取图片特征; 正常的yolov8对象检测模型输出层是P3、…

【WCA-KELM预测】基于水循环算法优化核极限学习机回归预测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

springboot实现消息通知需求

springboot实现消息通知需求 参考: Springboot整合Websocket(推送消息通知) SpringBoot使用SSE进行实时通知前端 vuespringbootwebsocket实现消息通知,含应用场景

CNN记录】pytorch中flatten函数

pytorch原型 torch.flatten(input, start_dim0, end_dim- 1) 作用:将连续的维度范围展平维张量,一般写再某个nn后用于对输出处理, 参数: start_dim:开始的维度 end_dim:终止的维度,-1为最后…

Python实现一个简单的http服务,Url传参输出html页面

摘要 要实现一个可以接收参数的HTTP服务器,您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器,可以用于开发和测试Web应用程序。 下面是一个示例代码,它实现了一个可以接收参数的HTTP服务器: 代码…

关于单机流程编排技术——docker compose安装使用的问题

最近在学习docker相关的东西,当我在docker上部署了一个nest应用,其中该应用中依赖了一个基于mysql镜像的容器,一个基于redis镜像的容器。那我,当我进行部署上线时,在启动nest容器时,必须保证redis容器和mys…

华为OD 完全二叉树非叶子部分后序遍历(200分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应往年部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为OD…

跨境商城源码可以定制开发吗?

跨境电商已经成为了一个全球性的趋势,而跨境商城源码定制开发是否可行,一直是广大电商从业者心中的疑问。跨境商城源码定制开发是指在已有的商城源码的基础上,进行个性化需求的修改和开发,以满足商家在跨境电商中的特定需求。下面…

mybatis plus中json格式实战

1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0…

一、XSS加解密编码解码工具

一、XSS加解密编码解码工具 解释&#xff1a;使用大佬开发的工具&#xff0c;地址&#xff1a;https://github.com/Leon406/ToolsFx/blob/dev/README-zh.md 在线下载地址&#xff1a; https://leon.lanzoui.com/b0d9av2kb(提取码&#xff1a;52pj)&#xff08;建议下载jdk8-w…

kubesphere 一键部署K8Sv1.21.5版本

1. 在centos上的安装流程 1.1 安装需要的环境 yum install -y socat conntrack ebtables ipset curl1.2 下载KubeKey #电脑必须可以访问github&#xff0c;很重要。不然安装过程会出问题 curl -sfL https://get-kk.kubesphere.io | VERSIONv1.2.1 sh - chmod x kk1.3 开始安…

mysql 优化 聚簇索引=主键索引吗

在 InnoDB 引擎中&#xff0c;每张表都会有一个特殊的索引“聚簇索引”&#xff0c;也被称之为聚集索引&#xff0c;它是用来存储行数据的。一般情况下&#xff0c;聚簇索引等同于主键索引&#xff0c;但这里有一个前提条件&#xff0c;那就是这张表需要有主键&#xff0c;只有…

javaEE -6(10000详解文件操作)

一&#xff1a;认识文件 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进行数据保存时&#xff0c;往往不是保存成一个整体&#xff0c;而是独立成一个个的单位进行保存&#xff0c;这个独立的单位就被抽象成文件的概念&#xff0c…