linux之find命令

概览

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统(NFS,Network File System),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

基础命令

命令格式

find pathname -options [-print -exec -ok ...]

命令功能

用于在文件树种查找文件,并作出相应的处理。

命令参数

pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

  • -print: find命令将匹配的文件输出到标准输出。
  • -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
  • -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

命令选项

  • -name 按照文件名查找文件。

  • -perm 按照文件权限来查找文件。

  • -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

  • -user 按照文件属主来查找文件。

  • -group 按照文件所属的组来查找文件。

  • -mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

  • -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

  • -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

  • -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。

  • -type 查找某一类型的文件,诸如:
    |类型 | 解释 |
    |–|–|
    | b | 块设备文件 |
    | d | 目录 |
    | c | 字符设备文件 |
    | p | 管道文件 |
    | l | 符号链接文件 |
    | f | 普通文件 |

  • -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

  • -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

  • -mount:在查找文件时不跨越文件系统mount点。

  • -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

  • -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
    另外,下面几个的区别是:

  • -amin n 查找系统中最后N分钟访问的文件

  • -atime n 查找系统中最后n*24小时访问的文件

  • -cmin n 查找系统中最后N分钟被改变文件状态的文件

  • -ctime n 查找系统中最后n*24小时被改变文件状态的文件

  • -mmin n 查找系统中最后N分钟被改变文件数据的文件

  • -mtime n 查找系统中最后n*24小时被改变文件数据的文件

使用实例

实例1:查找系统中最后1分钟被修改文件状态的文件

. 表示在当前目录下搜索,命令find . -cmin 1
在这里插入图片描述

实例2:根据关键字查找

命令find . -name "*.log"是用来找后缀为log的文件,
下面搜索find . -name "application.log"的文件示例,
在这里插入图片描述

实例3:按照目录或文件的权限来查找文件

命令find /opt/cisco/vpn/ -perm 777,比如搜索
在这里插入图片描述

实例4:按类型查找

命令find . -type f -name "*.log",其中f表示普通文件,
比如查到字符设备文件,
在这里插入图片描述

实例5:查找当前所有目录并排序

命令find . -type d | sort,其中d表示目录

[root@localhost test]# find . -type d | sort
.
./scf
./scf/bin
./scf/doc
./scf/lib
./scf/service
./scf/service/deploy
./scf/service/deploy/info
./scf/service/deploy/product
./test3
./test4
./test5
./test5/test3

实例6:按大小查找文件

命令find . -size +1000c -print,表明查找当前目录大于1K的文件

[root@localhost test]#  find . -size +1000c -print
.
./test4
./scf
./scf/lib
./scf/service
./scf/service/deploy

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ffplay数据结构分析(一)

本文为相关课程的学习记录,相关分析均来源于课程的讲解,主要学习音视频相关的操作,对字幕的处理不做分析 下面我们对ffplay的相关数据结构进行分析,本章主要是对PacketQueue的讲解 struct MyAVPacketList和PacketQueue队列 ffp…

常量池-JVM(十九)

上篇文章说gc日志以及arthas。 Arthas & GC日志-JVM(十八) 一、常量池 常量池主要放两大类:字面量和符号引用。 字面量就是由字母、数字等构成的字符串或者数值常量。 符号引用主要包含三类常量。 类和接口的全限定名。字段的名称和…

【毕业项目】自主设计HTTP

博客介绍:运用之前学过的各种知识 自己独立做出一个HTTP服务器 自主设计WEB服务器 背景目标描述技术特点项目定位开发环境WWW介绍 网络协议栈介绍网络协议栈整体网络协议栈细节与http相关的重要协议 HTTP背景知识补充特点uri & url & urn网址url HTTP请求和…

python的virtualenv虚拟环境无法激活activate

目录 问题描述: 解决办法: 解决结果: 问题描述: PS D:\pythonProject\pythonProject\DisplayToolLibs\venv\Scripts> .\activate .\activate : 无法加载文件 D:\pythonProject\pythonProject\DisplayToolLibs\venv\Scripts\…

form-create-designer整合element-plus使用方法

最近在使用form-create-designer生成表单的时候遇到了很多问题和各种报错,按照官方文档的方法一步步来做,发现行不通,后来经过不断尝试,终于找到了使用方法,这里做一下总结。 1、安装所需的依赖包 npm install eleme…

Redhat Linux 安装MySQL安装手册

Redhat安装MySQL安装手册 1 下载2 上传服务器、解压并安装3 安装安装过程1:MySQL-shared-5.6.51-1.el7.x86_64.rpm安装过程2:MySQL-shared-compat-5.6.51-1.el7.x86_64.rpm安装过程3:MySQL-server-5.6.51-1.el7.x86_64.rpm安装过程4&#xff…

AWS-自定义ami的S3存取使用

需要提前配置好aws-cli哈 对应的区域 要统一 示例:即AWS-CLI 和 EC2、AMI、S3以上资源均要使用同已区域,以下拿新加坡举例 1.新建自定义AMI 2.查看ami状态 确认是可用状态,才能开始操作 3.aws-cli 开始存入s3 只能使用桶的根目录 开始上…

【golang】工作区与GOPATH

在学习go语言时,我们会从官网下载go语言的二进制包,然后解压并安装到某个目录,最后会配置环境变量,通过输入命令go version来验证是否安装成功。 配置了path环境后,我们还需要再配置3个环境变量,GOROOT、G…

XML(eXtensible Markup Language)

目录 为什么需要XML? 一 XML语法 1.文档声明 2.元素 语法: 3.属性 4.注释 5.CDATA节 二 树结构 三 转义字符 四 DOM4J 1.XML解析技术 2.dom4j介绍 3.dom4j基本使用 XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传…

【新】通达OA前台反序列化漏洞分析

0x01 前言 注:本文仅以安全研究为目的,分享对该漏洞的挖掘过程,文中涉及的所有漏洞均已报送给国家单位,请勿用做非法用途。 通达OA作为历史上出现漏洞较多的OA,在经过多轮的迭代之后已经很少前台的RCE漏洞了。一般来说…

Redis实战案例27-UV统计

1. Redis的HyperLogLog的统计功能 示例: 表明HyperLogLog不管加入重复元素多少次都不会让count,不会计数重复元素,所以适合做UV计数 2. 简单实现UV测试 通过单元测试,向 HyperLogLog 中添加 100 万条数据,看看内存占…

RocketMQ使用

说明:本文介绍RocketMQ的消费模式&消息类型,RocketMQ的安装参考及简单使用,参考:http://t.csdn.cn/BKFPj 消费模式 RocketMQ与RabbitMQ最大的区别在于,RocketMQ是根据消息的Topic锁定消费者的,Topic属…

黑马机器学习day1

1.sklearn数据集 sklearn.datasets datasets.load_*() 获取小规模的数据集 datasets.fetch_*(data_homeNone) 获取大规模数据集 函数的第一个参数是data_home,标识数据集下载目录,默认/scikit_learn_data/ 1.1sklearn小数据集 sklearn.da…

【JAVA】类和对象

作者主页:paper jie的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精…

使用eXosip+ffmpeg、ffplay命令行实现sip客户端

文章目录 前言一、关键实现1、主要流程2、解决端口冲突(1)、出现原因(2)、解决方法 3、解析sdp(1)、定义实体(2)、解析视频(3)、解析音频 4、命令行推拉流&am…

Python中搭建IP代理池的妙招

在Python的爬虫世界里,你是否也想搭建一个功能强大的IP代理池,让你的爬虫无忧无虑地畅游各大网站?今天,我就来教你使用Scrapy框架搭建IP代理池,让你的爬虫更加智能、高效!跟着我一步一步来,轻松…

(力扣)用两个队列实现栈---C语言

分享一首歌曲吧,希望在枯燥的刷题生活中带给你希望和勇气,加油! 题目: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty&#…

【单片机】51单片机,TLC2543,驱动程序,读取adc

TLC2543 是一款 12 位精密模数转换器 (ADC)。 1~9、11、12——AIN0~AIN10为模拟输入端; 15——CS 为片选端; 17——DIN 为串行数据输入端;(控制字输入端,用于选择转换及输出数据格式) 16——…

大数据课程G2——Hbase的基本架构

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Hbase的基本架构; ⚪ 掌握Hbase的读写流程; ⚪ 掌握Hbase的设计与优化; 一、基本架构 1. HRegion 1. 在HBase中,会将一个表从行键方向上进行切分,切分成1个或者多个HRegion。 …

C++入门(小白篇1—编译器安装-代码注释等)

前言: 最近想学一下一下C看了一些博客内容写的倒是很充实,但是,细节不到位,我是有Python基础的,所以学习来蛮快的,但是对于小白的话,有好多小细节大多数博客还是不够详细,由此我想写…