Linux - find命令查找文件或者文件夹

Linux常用命令之find命令详解 find 命令是一个功能强大且灵活的工具,可以满足多种文件和目录搜索需求。通过合理使用其各种选项和表达式,可以高效地完成复杂的文件管理任务。了解 find 命令的使用方法,可以在日常的系统管理和开发工作中提高效率,同时避免不必要的数据丢失。 阅读详情

首先是find的语法:

find [起始目录] 寻找条件 操作

还有种表述方式:find PATH OPTION [-exec COMMAND { } \;]

因为find命令会根据我们给的option,也就是寻找条件从我们给出的目录开始对其中文件及其下子目录中的文件进行递归搜索,所以我觉的这个地方说是“起始目录”是非常好的。

该命令中的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:

(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:

find –name ’tmp’ –xtype c -user ’inin’

% 该命令寻找三个给定条件都满足的所有文件

(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:

find –name ’tmp’ –o –name ’mina*’

% 该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:

find ! –name ’tmp’

% 该命令查询文件名不是’tmp’的所有文件。

需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。例:

find \(–name ’tmp’ –xtype c -user ’inin’ \)

我觉的现在我应该说下出了查询条件,在find中的option的内容了:

在option中,具体有参数:

-name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。

-lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。

-gid n 查找属于ID号为 n 的用户组的所有文件。

-uid n 查找属于ID号为 n 的用户的所有文件。

-group ’字串’ 查找属于用户组名为所给字串的所有的文件。

-user ’字串’ 查找属于用户名为所给字串的所有的文件。

-empty 查找大小为 0的目录或文件。

-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。

-size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。

-type x 查找类型为 x 的文件,x 为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

-xtype x 与 -type 基本相同,但只查找符号链接文件。

以时间为条件查找

-amin n 查找n分钟以前被访问过的所有文件。

-atime n 查找n天以前被访问过的所有文件。

-cmin n 查找n分钟以前文件状态被修改过的所有文件。

-ctime n 查找n天以前文件状态被修改过的所有文件。

-mmin n 查找n分钟以前文件内容被修改过的所有文件。

-mtime n 查找n天以前文件内容被修改过的所有文件。

-print:将搜索结果输出到标准输出。

例子:在root以及子目录查找不包括目录/root/bin的,greek用户的,文件类型为普通文件的,3天之前的名为test-find.c的文件,并将结构输出,find命令如下:

find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -print

当然在这其中,-print是一个默认选项,我们不必刻意去配置它。

我们再看一下exec选项:

-exec:对搜索的结构指令指定的shell命令。注意格式要正确:"-exec 命令 {} \;"

在}和\之间一定要有空格才行;

{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。

例子:对上述例子搜索出来的文件进行删除操作,命令如下:

find / -name "test-find.c" -type f -mtime +3 -user greek -prune /root/bin -exec rm {} \;

find命令指令实例:

find . - name ‘main*’ - exec more {} \;

% 查找当前目录中所有以main开头的文件,并显示这些文件的内容。

find . \(- name a.out - o - name ‘*.o’\)> - atime +7 - exec rm {} \;

% 删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。

% 命令中的“.”表示当前目录,此时 find 将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。

% “\(” 和 “\)” 表示括号(),其中的 “\” 称为转义符。之所以这样写是由于对 Shell 而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。

% “-name a.out” 是指要查找名为a.out的文件;

% “-name ‘*.o’” 是指要查找所有名字以 .o 结尾的文件。

这两个 -name 之间的 -o 表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件。

% find命令在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间 是否在7天以前(条件 -atime +7),若是,则对该文件执行命令 rm(-exec rm {} \;)。

其中 {} 代表当前查到的符合条件的文件名,\;则是语法所要求的。

% 上述命令中第一行的最后一个 \ 是续行符。当命令太长而在一行写不下时,可输入一个 \,之后系统将显示一个 >,指示用户继续输入命令。


使用经验总结:

1.

在某些版本的linux下,通过find查找当前目录下所有后缀名jpg的文件,命令为
       find ./ -iname *.jpg
       会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种
      (1)使用转义符把*转义,即 \*.jpg
      (2)用引号引起来 ,即 “*.jpg”

       注意:如果需要把find 的结果提交给while,例如:

       echo find ./ -iname "\*.jpg"` | while read f
        do
          #do something
        done


2. 删除/home/raven下,包括子目录里所有名为abc.txt的文件:

find /home/raven -name abc.txt | xargs rm -rf

如果不使用xargs,则为:

find /home/raven -name abc.txt -exec rm -rf{} \;

 

http://361324767.blog.163.com/blog/static/1149025252012370159618/

Linux运维总结:find命令高级用法详解 12. `-maxdepth`: 指定查找的最大深度,如:-maxdepth 1 表示只查找当前目录下的文件。6. `-mtime`: 按照文件修改时间进行查找,如:-mtime 7 表示查找7天以内修改过的文件。3. `-size`: 查找指定大小的文件,常用的单位有:k(KB),M(MB),G(GB)9. `-exec`: 对查找到的文件执行命令,常用的命令如:rm,mv,chmod等。2. `-type`: 指定查找的文件类型,如:f 表示普通文件,d 表示目录。 阅读详情

相关推荐

Linux下查找文件(find, grep)

Linux 中,一切皆文件,如何查找文件

u011536527的博客 1万+

【低空经济】多源异构数据融合的低空智能感知系统设计与实现

本文探讨了低空智能感知系统在多源异构数据融合中的设计与实现,重点解决无人机等低空飞行器的安全监测问题。通过雷达、光学和红外传感器的数据融合,系统识别准确率提升至92%,并实现120ms的低延迟处理。文章详细介绍了时空对齐、特征级融合和动态权重自适应等关键技术,为低空经济发展提供可靠技术支持。

weixin_29065659的博客 343

Linux ---- find命令详解与小练习

Linux ---- find命令小练习

2301_76596803的博客 1582

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4564

EBS开发_离散工单创建API

--以下代码于20171213在TONY环境中实现 DECLARE     l_iface_rec    wip.wip_job_schedule_interface%ROWTYPE; --工单任务接口表     l_group_id     NUMBER;     l_returnstatus VARCHAR2(40);     l_errormsg     VARCHAR2(2000

蜗牛先生快跑的博客 2596

Linux中find命令用法大全

以上就是30个linux下find命令大全,希望对大家有用,另外,欢迎大家指出错误及补充。

清瞳清的博客 2万+

[官方培训]22-UE资产优化 Epic 肖月 笔记

Nanite+Lumen目标:面向TA,美术,不影响视觉的前提下,优化运行和编辑效率引擎:UE5.1延迟管线平台:主流PC,Windows 10 with DX12。

Tcohneyn的博客 1576

Linux 命令之 find:查找文件

温馨提示:本教程的 GitHub 地址为「linux-tutorial」,欢迎感兴趣的童鞋Star、Fork,纠错。 在 Linux 命令中,find用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持按名称查找、按正则表达式查找、按文件大小查找、按文件权限查找等多种查询方式。如果在使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将

安正勋的博客 19万+

从2D到3D地图开发:手把手教你用Cesium+Three.js实现卫星轨迹可视化(含代码片段)

本文详细介绍了如何结合Cesium与Three.js实现从2D到3D的卫星轨迹可视化。通过对比传统Web GIS框架的局限,阐述了Cesium处理三维地理与轨道数据、Three.js负责高级图形渲染的分工优势,并提供了从环境搭建、坐标同步到动态粒子效果实现的完整代码实战指南。

nut55的博客 672

动量因子在A股市场的有效性分析:量化实证研究

验证动量因子在A股市场的有效性及时间周期性分析不同时间窗口(短期/中期/长期)对动量效应的影响量化交易成本、市场流动性对动量策略收益的侵蚀程度比较A股与成熟市场(如美股)动量效应的差异特征理论框架:行为金融学解释动量效应的产生机制技术实现:Python全流程代码实现动量因子计算与回测实证分析:统计检验、风险收益指标、敏感性分析应用拓展:结合市场微观结构的策略优化方案动量因子(Momentum Factor)

2501_92132293的博客 2484

Linux如何用find命令查找文件

用途 find命令用于在指定目录下查找文件。 全称 无 参数 -name :后跟需要匹配的文件名模式,需要使用引号引起来 下面是一些简单的示例查找:(~表示$HOME目录) 1.查找当前$HOME下’.log’结尾的文件 find ~ –name “*.log” –print 2.当前目录与子目录下查找所有’.log’结尾的文件 find . –name “*.log” –print 3.当前目录与子目录下查找文件名以一个大写字母开头的文件 find . –name “[A-Z]” –print 4.在/e

linux_tcpdump的博客 2万+

构建OneService:打造高效、安全、灵活的企业级数据服务平台

数据服务(OneService)作为统一的数据服务出口,实现了数据的统一市场化管理,有效地降低数据开放门槛的同时,保障了数据开放的安全。

数据与算法架构提升之路专栏 2112

linux find 命令查找文件和文件夹【精讲】

linux find 命令查找文件和文件夹 查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print 详解: find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查...

zzk00007的博客 8022

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

linux find 命令查找文件和文件夹

查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print 详解: find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 语法 find(选项)(参数) 选项 -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位..

wangbaosongmsn的博客 6044

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux find查找文件及文件夹命令

find的主要用来查找文件,查找文件的用法我们比较熟悉,也可用它来查找文件夹,用法跟查找文件类似,只要在最后面指明查找的文件类型 -type d,如果不指定type类型,会将包含查找内容的文件和文件夹一起输出。 例如:find / -name AnmyTest -type d(查找AnmyTest目录位置) find基本语法如下: find [PATH] [Option] [action] ...

m0_37568814的博客 23万+

linux的find命令查找文件

linux的find命令查找文件

Sunny Boy001的博客 3349

Linux的Find命令

格式find查找的范围类型查找数据。

YCyjs的博客 4万+

查找文件命令find和文件内容查找命令grep

find命令 在 Linux 命令中,find用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持按名称查找、按正则表达式查找、按文件大小查找、按文件权限查找等多种查询方式。如果在使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。 语法:find + 目标目录(路径) + <选项> + 参数 常用选项列表和含义: -perm <权限数值> 查找符合指定的权限数值的文件或目...

Hanscal 2万+

linux查找文件命令

  在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。   区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。   一.find命令 ...

pyzhizhuren的博客 3万+

Linux下find查找文件命令和grep查找文件内容命令详解

linux下的find文件查找命令与grep文件内容查找命令 linux下的find文件查找命令与grep文件内容查找命令   在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内...

大叶梧桐的博客 9061

linux查找文件命令find

  每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。  可是使用Linux的用户就没有那么幸运了,

发芽的石头 78万+

linux 查找文件夹命令_如何从命令行在Linux中查找文件,文件夹和目录?

linux 查找文件夹命令Linux provides different ways to find and locate files and folders. We can use GUI tools like GNOME and KDE file managers or other 3’rd party applications designed for finding files. In t...

cunjiu9486的博客 7457
上一篇: ioctl 函数
下一篇: Linux 用户下定时器的实现
tinyhare
博客等级 码龄15年 11粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值