Linux[find命令]

您所在的位置:网站首页 linux查找指定文件位置 Linux[find命令]

Linux[find命令]

2024-07-10 07:37:10| 来源: 网络整理| 查看: 265

一、find命令简介

find命令:用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能。

基本语法格式:find pathname -options 搜索内容 [其他选项]

pathname:用来指定搜索路径。options:用来指定搜索内容。搜索内容:用来指定搜索内容,支持正则表达式。其他选项: -print选项:将find命令匹配的文件输出到标准输出。-exec选项:进一步处理搜索结果。

find命令通常进行的是从根目录(/)开始的全盘搜索,不建议过大路径的搜索范围,会消耗较大的系统资源,导致服务器压力过大。

常用 options参数:

在这里插入图片描述

二、常用 options参数搜索 [root@centos7 temp2]# tree /usr/local/temp2/ /usr/local/temp2/ ├── 2023-10-09 │ ├── 10 │ │ └── Test1.log │ └── test1.log ├── 2023-10-10 │ └── test1.log ├── test.log └── Test.log 3 directories, 5 files 1、按文件名搜索

options参数:

-name:按文件名搜索,区分文件名大小写-iname:按文件名搜索,不区分文件名大小写-inum: 按inode号搜索

(1)-name和-iname

Linux 中的文件名是区分大小写的。

[root@centos7 temp2]# find /usr/local/temp2/ -name test.log /usr/local/temp2/test.log [root@centos7 temp2]# find ./ -iname test.log ./test.log ./Test.log

(2)-inum

每个文件都有 inode 号,如果我们知道 inode 号,则也可以按照 inode 号来搜索文件。

# ls -i 显示文件的inode属性信息 [root@centos7 temp2]# ll -i ./ total 8 237180303 drwxr-xr-x 3 root root 33 Oct 10 14:21 2023-10-09 252355940 drwxr-xr-x 2 root root 23 Oct 10 14:19 2023-10-10 169322632 -rw-r--r-- 1 root root 32 Oct 10 14:19 test.log 169322631 -rw-r--r-- 1 root root 32 Oct 10 14:19 Test.log [root@centos7 temp2]# find ./ -inum 169322632 ./test.log [root@centos7 temp2]# find /usr/local/temp2/ -inum 169322632 /usr/local/temp2/test.log 2、按文件类型搜索

options参数:

-type d:查找目录-type f:查找普通文件-type l:查找软链接文件

示例如下:

[root@centos7 temp2]# find /usr/local/temp2/ -type f /usr/local/temp2/2023-10-09/test1.log /usr/local/temp2/2023-10-09/10/Test1.log /usr/local/temp2/2023-10-10/test1.log /usr/local/temp2/test.log /usr/local/temp2/Test.log [root@centos7 temp2]# find /usr/local/temp2/ -type d /usr/local/temp2/ /usr/local/temp2/2023-10-09 /usr/local/temp2/2023-10-09/10 /usr/local/temp2/2023-10-10 3、基于目录深度搜索

find 命令是递归遍历查找文件夹,列出当前目录及子目录下所有文件。

options参数:

-maxdepth LEVELS:按最大深度显示。-mindepth LEVELS:按最少深度显示。

示例如下:

# 搜索目录下面最多1个子目录深度的所有目录 [root@centos7 temp2]# find /usr/local/temp2/ -maxdepth 1 -type d /usr/local/temp2/ /usr/local/temp2/2023-10-09 /usr/local/temp2/2023-10-10 # 搜索目录下面最多1个子目录深度的所有文件 [root@centos7 temp2]# find /usr/local/temp2/ -maxdepth 1 -type f /usr/local/temp2/test.log /usr/local/temp2/Test.log # 搜索目录下面最少1个子目录深度的所有文件 [root@centos7 temp2]# find /usr/local/temp2/ -mindepth 1 -type f /usr/local/temp2/2023-10-09/test1.log /usr/local/temp2/2023-10-09/10/Test1.log /usr/local/temp2/2023-10-10/test1.log /usr/local/temp2/test.log /usr/local/temp2/Test.log # 搜索目录下面最少2个子目录深度的所有文件 [root@centos7 temp2]# find /usr/local/temp2/ -mindepth 2 -type f /usr/local/temp2/2023-10-09/test1.log /usr/local/temp2/2023-10-09/10/Test1.log /usr/local/temp2/2023-10-10/test1.log 4、按修改时间搜索

options参数:

-atime[±]时间:按文件访问时间搜索,记录文件最后一次被访问的时间。-mtime[±]时间:按文件数据修改时间搜索,当对这个文件内容进行修改后,modify显示的时间就会更新一次。-ctime[±]时间:按文件状态修改时间搜索,当文件内容、更改文件权限,链接属性时随文件inode更改而改变的时间。

以-mtime来举例 “[±]” 时间的含义:

+5:代表 6天前修改的文件。5:代表前 5-6天的那一天修改的文件。-5:代表最近 5天内修改的文件。

示例如下:

# 查找 6天前修改的内容 [root@centos7 temp2]# find /usr/local/temp2 -mtime +5 # 查找 5~6 天那一天修改的内容 [root@centos7 temp2]# find /usr/local/temp2 -mtime 5 # 查找 5天内修改的文件,最大深度为1 [root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 /usr/local/temp2/test.log /usr/local/temp2/Test.log # 查找最近 5天内修改的目录,最大深度为1 [root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type d -mtime -5 /usr/local/temp2 /usr/local/temp2/2023-10-09 /usr/local/temp2/2023-10-10 5、按文件大小搜索

options参数:

-size[±]大小:按照指定大小搜索文件。

其中:

+:表示搜索比指定大小还要大的文件。-:表示搜索比指定大小还要小的文件。

find 默认的单位是512Byte,如果单位为b或不写单位,则按照 512Byte搜索,其他大小搜索单位如下:

'c' for bytes #搜索单位是c,按照字节搜索 'w' for two-byte words #搜索单位是w,按照双字节(中文)搜索 'k'for Kilobytes (units of 1024 bytes) #按照KB单位搜索,必须是小写的k 'M' for Megabytes (units of 1048576 bytes) #按照MB单位搜索,必须是大写的M 'G' for Gigabytes (units of 1073741824 bytes) #按照GB单位搜索,必须是大写的G

示例如下:

# 查找最近 5天内修改的文件,最大深度为1,size小于2M [root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -size -2M /usr/local/temp2/test.log /usr/local/temp2/Test.log 三、其他选项 1、-print选项

基本语法格式:find pathname -options 搜索内容 -print

-print选项:将find命令匹配的文件输出到标准输出到屏幕。

[root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -print /usr/local/temp2/test.log /usr/local/temp2/Test.log [root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type d -mtime -5 -print /usr/local/temp2 /usr/local/temp2/2023-10-09 /usr/local/temp2/2023-10-10 2、-exec选项

基本语法格式:find pathname -options 搜索内容 -exec 命令2 {} ;

-exec选项:作用其实是把 find 命令的结果交给由"-exec"调用的 命令2 来处理。

“{}”:代表 find 命令的査找结果,“;”:\ 做转义,;是结束符。

注意:这里的“{}”和“;”是标准格式,只要执行”-exec"选项,这两个符号必须完整书写,并且{} 与 \之间有空格。

示例1:找到文件并打印 inode 号

[root@centos7 temp2]# find /usr/local/temp2 -type f -mtime -5 -exec ls -i {} \; 237180309 /usr/local/temp2/2023-10-09/test1.log 69506504 /usr/local/temp2/2023-10-09/10/Test1.log 252355944 /usr/local/temp2/2023-10-10/test1.log 169322632 /usr/local/temp2/test.log 169322631 /usr/local/temp2/Test.log

示例1:找到文件并删除

[root@centos7 temp2]# find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -exec rm -rf {} \; [root@centos7 temp2]# ls 2023-10-09 2023-10-10 3、-ok选项

基本语法格式:find pathname -options 搜索内容 -ok 命令2 {} ;

-ok选项与"-exec"选项的作用基本一致,区别在于:

“-exec”的命令2会直接处理,而不询问;“-ok”的命令2 在处理前会先询问用户是否这样处理,在得到确认命令后,用户输入y才会执行。

示例:找到目录并询问用户是否删除。

[root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type f -mtime -5 -print /usr/local/temp2/2023-10-09/test1.log /usr/local/temp2/2023-10-09/10/Test1.log /usr/local/temp2/2023-10-10/test1.log [root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -print /usr/local/temp2/2023-10-09/10 # 找到目录并询问用户是否删除。# 需要用户输入y,才会执行 [root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -ok rm -rf {} \; ? y [root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -print [root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type f -mtime -5 -print /usr/local/temp2/2023-10-09/test1.log /usr/local/temp2/2023-10-10/test1.log

参考文章:

find命令 – 根据路径和条件搜索指定文件:https://www.linuxcool.com/find

– 求知若饥,虚心若愚。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭