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

小结

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

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

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

相关文章

电子学会C/C++编程等级考试2021年09月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:双端队列 定义一个双端队列,进队操作与普通队列一样,从队尾进入。出队操作既可以从队头,也可以从队尾。编程实现这个数据结构。 时间限制:1000 内存限制:65535输入 第一行输入一个整数t,代表测试数据的组数。 每组数据的…

国内最好的开源MES/免费MES/低代码MES

一、系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES、功能最全的开源MES、好看的数字大屏、开源自动排班系统、开源质检系统。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管…

re:Invent2023大会隆重推出自研芯片Graviton4和Trainium2

目录 一、前言 二、体验Graviton系列产品 (一)创建普通的EC2实例 (二)创建Graviton处理器的EC2实例 (三)远程到服务器 方式1:创建成功时连接 方式2:SSH客户端 方式3:正确…

01--二分查找

一. 初识算法 1.1 什么是算法? 在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算 不正式的说,算法就是任何定义优良的计算过程:接收一些值作为输入,在有限的时间…

【LeetCode:746. 使用最小花费爬楼梯 | 递归 -> 记忆化搜索 -> DP】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Python基础08-文件操作详解

零、文章目录 Python基础08-文件操作详解 1、文件操作概述 (1)文件是什么 内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了**“文件”**的概念。 …

【普中】基于51单片机简易计算器显示设计( proteus仿真+程序+设计报告+实物演示+讲解视频)

目录标题 📟1. 主要功能:📟2. 讲解视频:📟3. 设计说明书(报告)📟4. 仿真📟5. 实物烧录和现象📟6. 程序代码📟7. 设计资料内容清单 【普中开发板】基于51单片机简易计算器…

nodejs+vue+微信小程序+python+PHP校园二手交易系统的设计与实现-计算机毕业设计推荐

(2)管理员 进行维护,以及平台的后台管理工作都依靠管理员,其可以对信息进行管理。需具备功能有;首页、个人中心、学生管理、物品分类管理、物品信息管理、心愿贴、系统管理、订单管理等功能。系统分成管理员控制模块和学生模块。 本系统有良好…

Source Insight使用

之前一直使用VS code阅读kernel源码,有时候函数跳转有些问题。最近换成了Source Insight软件,发现真不错。就是需要一些学习成本,简单记录一下如何使用吧。 1、下载安装: 首先肯定是要下载安装,这个就不写了&#xf…

Restrict Content Pro WordPress – 限制会员内容 付费内容网站(包含所有扩展)

Restrict Content Pro WordPress限制会员内容专业插件 强大的内容限制工具和强大的 WordPress 会员网站,都在一个易于管理的插件中。 购买Restrict Content Pro 最新版本并加入超过23000 名快乐客户的俱乐部。 使用 Restrict Content Pro 插件将您的独家内容锁定…

oracle怎么导入dmp文件??????

目录 oracle怎么导入dmp文件?????? 先看: 方法一:【推荐】 winR输入 输入: 检验: 导入成功! 方法二: 直接在 PLSQL Developer…

Python计算圆的面积,几何学技法大解析!

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 Python计算圆的面积,几何学技法大解析,全文3800字,阅读大约15分钟。 在本文中,将深入探讨如何使用 Python 计算圆的面积&…

如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器

如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器 摘要:在本教程中,您将学习如何使用MySQL Workbench将MySQL样本数据库加载到MySQL数据库服务器。之后,您将有classicmodels示例数据库以方便练习和学习MySQL。 步骤1. 下载class…

vue-cli创建一个vue3项目

通过命令创建VUE脚手架: npm install -g vue/cli 创建VUE项目: vue create npg***b 剩下的就是一路回车 npm install element-plus --save 入口文件main.ts import { createApp } from vue import App from ./App.vue import router from ./router…

Go环境安装

目录 下载地址 安装 macos环境 window及其他环境 GOPROXY 非常重要 Go开发编辑器 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 选择要下载的系统版本: 安装 注意…

“华为杯” 第二十届中国研究生数学建模竞赛 数模之星、华为之夜与颁奖大会

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 不以物喜,不以己悲。见众生,见自己。 作为荣获一等奖的学生代表,我有幸参加了 “华为杯” 第二十届中国研究生数学…

排序-归并排序与计数排序

文章目录 一、归并排序1、概念2、过程3、代码实现4、复杂度5、稳定性 二、 计数排序1、思路2、代码实现3、复杂度:4、稳定性 一、归并排序 1、概念 是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已…

Shell三剑客:正则表达式(元字符)

一、定义:元字符字符是这样一类字符,它们表达的是不同字面本身的含义 二、分类: 1、基本正则表达式元字符 # ^ 行首定位 [rootlocalhost ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/…

分布式块存储 ZBS 的自主研发之旅|元数据管理

重点内容 元数据管理十分重要,犹如整个存储系统的“大黄页”,如果元数据操作出现性能瓶颈,将严重影响存储系统的整体性能。如何提升元数据处理速度与高可用是元数据管理的挑战之一。SmartX 分布式存储 ZBS 采用 Log Replication 的机制&…

The Grid – Responsive WordPress Grid响应式网格插件

点击阅读The Grid – Responsive WordPress Grid响应式网格插件原文 The Grid – Responsive WordPress Grid响应式网格插件是一个高级 wordpress 网格插件,它允许您在完全可定制且响应迅速的网格系统中展示任何自定义帖子类型。 Grid WordPress 非常适合展示您的博…