1852_bash中的find应用扩展

Grey

全部学习内容汇总: https://github.com/GreyZhang/toolbox

1852_bash中的find应用扩展

find这个工具我用了好多年了,但是是不是真的会用呢?其实不然,否则也不会出现这种总结式的笔记。其实,注意部分小细节之后,find可以很好的实现我们对于文件存放位置的搜索需要。

主题由来介绍

一直以来,我用find直接搜索我磁盘上的文件去看是否有重复的文件可以清除。常用的一种方式为,首先切换到磁盘根目录,之后执行如下的命令:

find -iname *keyword*

我通过上面的搜索命令来匹配带有关键词的文件,-iname用以说明执行的方式是按照忽略大小写形式搜索文件名称。一直以来,在我的树莓派以及NAS上做这样的搜索到时没遇到啥问题。但是,偶然一次我在git bash中搜索 emacs lisp所有文件的时候失败了。我输入了如下的命令:

find -iname *.el

这是我搜索出来的结果,我知道我的这个目录中这样的文件很多,因此接着就发现了不正确。其实,我这一次的搜索命令格式与之前的确也有不同,这一次的表达式中少了一个星号。不过,还是看得出来我对这个命令掌握的不是很熟悉。

为了排除这个是工具的问题,同样的测试我在不同的平台上都做了尝试。同时,我还查看了软件的版本,首先确认全都是GNU的工具,最多版本略有差异。结果,在不同的平台上测试下来也是如此。为此,我觉得我应该探索并总结下find的用法了。

资料寻找与分析

这样的资料还是很多的,一如既往,我还是以英文搜索为主: Find Command in Linux (Find Files and Directories) | Linuxize

这一次找到的资料网页,广告有一些多,占据了几乎将近一半的版面。不过还好,知识内容还是值得的。

  • 我前面操作失败似乎一个特点就是没有进行目录级的操作,只是搜索了当前的目录。而find本身是具备这样的功能的,这毫无疑问,之前也已经用过很多了。
  • 除了简单的文件名称搜索之外,find其实还可以搜索很多其他的属性,比如说权限、类型、日期、拥有者、大小等。从这里的属性看,其实这个也是更多的在unix的平台上使用。
  • 这里给出来了这个命令的基本语法形式,从这里看,其实我平时的用法少了很多参数。可能正好有默认的行为满足了我的搜索需求。
  • 上面的三段参数分别是文件的属性信息、搜索的目录、搜索内容形式。

  • 首先需要说明的是上面的例子中,Copy是多余的。
  • 这个搜索的命令形式很好懂,不过为什么是符号链接我不是很清楚。不知道是否是快捷方式之类的?不过话又说回来,可能我用到的概率并不会很大。

  • 按照文件名称搜索,这个可能是我用到的最多的一种用法。
  • -iname中的i代表忽略大小写,这个也很容易记忆。

  • 这一个例子我觉得对我来说很有用。
  • 首先是学到了一个按照类型处理的方式。
  • 接下来,着色的部分很可能是我之前遇到问题的原因。稍后,我增加转义做一个测试看看效果。
  • 最后,还可以通过-not来搜索不满足的结果。
  • 这样综合看下来,搜索的功能以及有很大的灵活度了。而且,从扩展名的搜索这部分来看,其实使用的搜索方式还是正则表达式。

  • 通过上面的结果看,通过转义的操作的确是让之前“异常”的搜索出现了期待的结果。
  • 不过,结合上面的说明,后续最好还是规范化一些不要继续使用缺省的参数造成误解。

  • 针对前面看到的例子中type后面的参数f,这里也看到了解释的信息。

  • 这里给出来了一个按照大小来搜索文件的方式,里面可以选择不同的单位。
  • 实际的测试中,这个选项可以跟其他的选项组合使用。
  • 如果需要大于对应大小的文件,可以在参数之前写一个+,如果小于则是写-。

  • 上面是实际测试的一个效果。

其他

除了上面的信息之外,find还支持按照权限、所有者、用户组以及时间等信息进行搜索。目前看来,我现在的需要可能是比较纯粹的文件内容管理。因此上面的内容暂且可以不去尝试了。

小结

简单了解了一下,算是又增加了一些见识。不过,从了解的过程中看得出来,现在了解的功能还是比较皮毛的内容。比如说,如何更好地使用正则表达式来进行搜索等。这些,留待以后有需要的时候再去探索。

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

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

相关文章

爬虫练习-获取imooc课程目录

代码: from bs4 import BeautifulSoup import requests headers{ User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0, }id371 #课程id htmlrequests.get(https://coding.imooc.com/class/chapter/id.html#Anchor,head…

Netty网络基础的通俗理解(网络操作系统)

写在前面 说来惭愧,最近半年没怎么学习技术,时间基本都花在工作以及去熟悉了解金融领域的知识去了。从大一到现在,我一直有个持续学习技术的习惯,如果太久没学习技术,我心里就开始有点焦虑或者说不充实,所…

单元测试计划、用例、报告、评审编制模板

单元测试支撑文档编制模板,具体文档如下: 1. 单元测试计划 2. 单元测试用例 3. 单元测试报告 4. 编码及测试评审报告 软件项目相关资料全套获取:软件项目开发全套文档下载-CSDN博客 1、单元测试计划 2、单元测试用例 3、单元测试报告 4、编码…

【电路笔记】-电容器特性

电容器特性 文章目录 电容器特性1、概述2、标称电容 (C)3、工作电压(WV)4、公差(%)5、漏电流6、工作温度(T)7、温度系数(TC)8、极化9、等效串联电阻 (ESR) 电容器的特性决定了其温度…

[C++] 多态(上) -- 抽象类、虚函数、虚函数表

文章目录 1、多态的概念2、多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.4 虚函数重写的两个例外2.4.1 协变(基类与派生类虚函数返回值类型不同) 2.4.2 析构函数的重写(基类与派生类析在这里插入图片描述2.4.3 选择题测试 2.5 C11 final 和 override2.5.1 f…

xilinx原语介绍及仿真——ODELAYE2

7系列IO模块相关的结构如图1所示,前文对IOB、IDELAYE2、ILOGIC、OLOGIC进行了讲解,还剩下ISERDESE2、OSERDESE2、ODELAYE2原语,本文对ODELAYE2进行讲解,该原语只有HP bank才有,即7系列FPGA的A7系列没有ODELAYE2结构&am…

计算机网络:数据链路层(网桥)

带你速通计算机网络期末 目录 一、冲突域和广播域 二、网桥介绍 三、网桥分类—―透明网桥 四、网桥分类―—源路由网桥 五、多接口网桥―—以太网交换机 总结 一、冲突域和广播域 冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只…

华为云创新动能涌现,浒墅关开启先进制造新纪元

编辑:阿冒 设计:沐由 穿境而过的京杭大运河,孕育了苏州浒墅关深厚的历史文化底蕴。千年延续不断的繁华,滋养了一代又一代奋进的浒墅关人。今天,一座国家级经开区挺立在这里,散发出创新创业的蓬勃活力。 苏州…

Windows中安装Git软件和TortoiseGit软件

1、git软件下载地址 https://git-scm.com/download/win 2、TortoiseGit软件下载 >https://tortoisegit.org/download/ 3、软件安装 4、环境安装说明 上面介绍的是在Windows中使用git,如果你电脑已经装了Ubuntu系统,可以直接在Ubuntu中使用git命令提…

RK3568平台(网络篇)添加网络交换芯片RTL8306M

一.硬件原理图 分析: 该交换芯片支持I2C、SPI、mdio通信,但是看ast1520的uboot代码采用的是mdio去通信phy芯片的,所以暂时也先采用mdio的方式,需要配置相应的引脚才可以配置成mdio通信模式,具体的配置硬件工程师解决。…

Linux 基本语句_16_Udp网络聊天室

代码&#xff1a; 服务端代码&#xff1a; #include <stdio.h> #include <arpa/inet.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdlib.h> #include <unistd.h> #include <string…

探索 Coinbase 二层链 Base 的潜力与风险

作者&#xff1a;lesleyfootprint.network 在不断变化的加密货币领域&#xff0c;Coinbase 已经确立了自己领先中心化交易所&#xff08;CEX&#xff09;的地位。然而&#xff0c;Coinbase 坚信去中心化是创造一个开放、全球范围内对每个人都可访问的加密经济的关键&#xff0…