Linux基础命令-find搜索文件位置

news2025/7/24 10:01:36

文章目录

find

命令介绍

语法格式

命令基本参数 

参考实例

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

2)搜索一天以内最后修改时间的文件;并将文件删除

3)搜索777权限的文件

4)搜索一天之前变动的文件复制到test目录下

5)搜索指定用户的文件

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

7)搜索指定组的目录

8)在/var/log目录搜索指定后缀的文件 

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

10)从根目录下搜索可执行的文件并复制到目录下

命令总结

find

命令介绍

        通过帮助文档了解含义

NAME
       find - search for files in a directory hierarchy

        find命令的作用是在目录层次结构中搜索文件所在的位置,此命令可以使用的参数很多,同时支持正则表达式,结合管道符后能够实现更加复杂的功能,是必须掌握的命令之一。

        通常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 :链接文件

参考实例

1)在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

2)搜索一天以内最后修改时间的文件;并将文件删除

使用-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

3)搜索777权限的文件

[root@localhost ~]# find / -type f -perm 777

4)搜索一天之前变动的文件复制到test目录下

[root@localhost ~]# find /etc -type f -ctime +1 -exec cp -a {} /root/test \;
[root@localhost ~]# ll /root/test | wc -l
1252

5)搜索指定用户的文件

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

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

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

7)搜索指定组的目录

[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

8)在/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
......

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

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

10)从根目录下搜索可执行的文件并复制到目录下

[root@localhost /]# find / -type f -perm /a=x -exec cp -a {} /root/sys_sh \;

命令总结

        find命令很多参数都可以结合起来一起使用的,关键还是要能记住每个参数可以实现的功能。若觉得以上内容还行,可以点赞支持一下!

                

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

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

相关文章

不懂什么是智慧工厂,看这篇文章就够了!

一、智慧工厂是什么? 一直以来,自动化在某种程度上始终是工厂的一部分,甚至高水平的自动化也非新生事物。然而,“自动化”一词通常表示单一且独立的任务或流程的执行。过去,机器自行“决策”的情况往往是以自动化为基…

【基础篇】9 # 排序:冒泡排序(Bubble Sort)、插入排序(Insertion Sort)、选择排序(Selection Sort)

说明 【数据结构与算法之美】专栏学习笔记 如何分析一个排序算法? 1、排序算法的执行效率 最好情况、最坏情况、平均情况时间复杂度时间复杂度的系数、常数 、低阶比较次数和交换(或移动)次数 2、排序算法的内存消耗 3、排序算法的稳定…

Fabric.js使用说明Part 2

目录一、Fabric.js使用说明Part 1Fabric.js简介 开始方法事件canvas常用属性对象属性图层层级操作复制和粘贴二、Fabric.js使用说明Part 2锁定拖拽和缩放画布分组动画图像滤镜渐变右键菜单删除三、Fabric.js使用说明Part 3自由绘画绘制背景图片绘制文本绘制线和路径一、锁定Fab…

传统豪华品牌引领?智能座舱进入「沉浸式娱乐体验」新周期

智能座舱正在进入硬件定型、软件(功能)升级以及多应用融合的新周期。 高工智能汽车研究院监测数据显示,2022年中国市场(不含进出口)乘用车搭载智能数字座舱(大屏语音车联网OTA)前装标配交付795…

【死磕数据库专栏启动】在CentOS7中安装 MySQL5.7版本实战

文章目录前言实验环境一. 安装MySQL1.1 配置yum源1.2 安装之前的环境检查1.3 下载MySQL的包1.4 开始使用yum安装1.5 启动并测试二. 设置新密码并重新启动2.1 设置新密码2.2 重新登录测试总结前言 学习MySQL是一件比较枯燥的事情,学习开始之前要先安装MySQL数据库&a…

【Linux修炼】14.磁盘结构/文件系统/软硬链接/动静态库

每一个不曾起舞的日子,都是对生命的辜负。 磁盘结构/文件系统/软硬链接/动静态库前言一.磁盘结构1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构二.理解文件系统2.1 对IO单位的优化2.2 磁盘分区与分组2.3 分组的管理方法2.4 文件操作三.软硬链接3.1理解硬…

测试4年裸辞失业,面试17k的测试岗被按在地上摩擦,结局让我崩溃大哭...

作为IT行业的大热岗位——软件测试,只要你付出了,就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的,但放眼望去,哪个工作不是这样的呢?会有哪家公司愿意养一些闲人呢?…

「smardaten」上架钉钉应用中心!让进步再一次发生

使用钉钉的团队小伙伴们,smardaten给您送来福利啦~为了给更多团队提供更优质的应用开发体验,方便用户在线、快速使用无代码,数睿数据近期在【钉钉应用中心】发布smardaten在线版本。继与华为云、亚马逊云建立战略合作之后,smardat…

微信小程序实现分享到朋友圈的功能

分享朋友圈官方API:分享到朋友圈 1、分享到朋友圈接口设置事项 2、onShareTimeline()注意事项 3、分享朋友圈后,测试发现,没有数据请求。 用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程…

浏览器缓存策略

先走强缓存,再走协商缓存 强缓存 不发送请求,直接使用缓存的内容 状态码200 当前会话没有关闭的话就是走memory cache,否则就是disk cache 由响应头的 Pragma(逐渐废弃,优先级最高),catch-…

LeetCode 817. 链表组件

LeetCode 817. 链表组件 难度:middle\color{orange}{middle}middle 题目描述 给定链表头结点 headheadhead,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 numsnumsnums,该列表是上述链表中整型值的一个子集。 返回列表 numsnu…

自动驾驶仿真:ECU TEST 、VTD、VERISTAND连接配置

文章目录一、ECU TEST 连接配置简介二、TBC配置 test bench configuration三、TCF配置 test configuration提示:以下是本篇文章正文内容,下面案例可供参考 一、ECU TEST 连接配置简介 1、ECU TEST(简称ET),用于HIL仿…

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同 发现 tinyint(1),int(32) 和 varchar(255) 这里面的数字的含义是不同的。 先说数字类型 tinyint 和 int 等 他们能存储的字节大小是与类型绑定的,即定义了 tinyint 或者 int 就确定了能存储…

【C++的OpenCV】第六课-OpenCV图像常用操作(三):OpenCV的图像的侵蚀和扩张

让我们继续一、图像的侵蚀和扩张1.1 侵蚀1.1.1 函数原型1.1.2 侵蚀的效果1.1.3 关于侵蚀的解释1.2 扩张1.2.1 函数原型1.2.2 扩张的效果二、实例一、图像的侵蚀和扩张 本章节中我们将会学习到: cv::erode() 函数详情cv::dilate() 函数详情 两个函数的基本使用方法…

java 接口 详解

目录 一、概述 1.介绍 : 2.定义 : 二、特点 1.接口成员变量的特点 : 2.接口成员方法的特点 : 3.接口构造方法的特点 : 4.接口创建对象的特点 : 5.接口继承关系的特点 : 三、应用 : 1.情景 : 2.多态 : ①多态的传递性 : ②关于接口的多态参数和多态…

Android ION 相关信息查看方法

目录 查看DMA buffer 信息 查看ion buffer 的总体分配情况 分配的ION buffer 都会设置为DMA buffer,以fd的形式交给使用方, 如app, camera等。 查看ion 的使用情况,可以查看ion 的各个heap分配情况, 也可以从DMA buffer 入手查…

勒索软件BlackByte出现新变种,系Go语言编写

BlackByte 是一个提供勒索软件即服务(RaaS)的攻击组织,自从 2021 年 7 月以来一直保持活跃。最初,BlackByte 使用 C# 开发,最近攻击者使用 Go 重写了恶意软件。FBI 也已经发布公告披露 BlackByte 已经攻击了许多公司&a…

文献阅读 An implementation of the seismic resolution enhancing network based on GAN

题目 An implementation of the seismic resolution enhancing network based on GAN 基于GAN的地震分辨率增强网络的实现 摘要 对于地震数据,本文利用深度学习来学习不同层次的特征并将它们合并以恢复缺失的分辨率。 将GAN网络引入到地震数据处理;对…

劳保防护用品穿戴检测 python

劳保防护用品穿戴检测算法通过pythonOpencv深度学习技术,劳保防护用品穿戴检测算法对现场人员防护穿戴用品进行全天候检测,当检测到未按照要求进行穿戴,立即对现场违规人员进行抓拍。Python是一种由Guido van Rossum开发的通用编程语言&#…

在做自动化测试前需要知道的

什么是自动化测试? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多。一直想动笔写一篇文章分享自动化测试实践中的一些经验。终于决定花点时间来做这件事儿。 首先理清自动化测试的概念,广义上来讲&a…