Linux文件查找和打包压缩

2023-11-08

八 文件查找和打包压缩

1 文件查找

在文件系统上查找符合条件的文件
文件查找:locate, find

  • 非实时查找(数据库查找):locate
  • 实时查找:find
1.1 locate

locate 查询系统上预建的文件索引数据库
/var/lib/mlocate/mlocate.db

索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库

索引构建过程需要遍历整个根文件系统,很消耗资源

工作特点:

  • 查找速度快
  • 模糊查找
  • 非实时查找
  • 搜索的是文件的全路径,不仅仅是文件名
  • 可能只搜索用户具备读取和执行权限的目录

格式:

locate [OPTION]... [PATTERN]...

常用选项

-i  不区分大小写的搜索 
-n  N 只列举前N个匹配项目 
-r  使用基本正则表达式

范例:

#搜索名称或路径中包含“conf”的文件 
locate  conf  
#使用Regex来搜索以“.conf”结尾的文件 
locate -r '\.conf$'

范例:

[root@centos7 ~]#locate -n 5 -ir '\.conf$'
/etc/asound.conf
/etc/dracut.conf
/etc/e2fsck.conf
/etc/fuse.conf
/etc/host.conf
1.2 find

find 是实时查找工具,通过遍历指定路径完成文件查找
工作特点:

  • 查找速度略慢
  • 精确查找
  • 实时查找
  • 查找条件丰富
  • 可能只搜索用户具备读取和执行权限的目录

格式:

find [OPTION]... [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录

查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所 有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕

1.2.1 指定搜索目录层级

-maxdepth level 最大搜索目录深度,指定目录下的文件为第1级
-mindepth level 最小搜索目录深度

范例:

#指定二级
find /etc  -maxdepth 2 -mindepth 2

1.2.2 对每个目录先处理目录内的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux文件查找和打包压缩 的相关文章

  • 出现错误 /usr/bin/env: 节点:权限被拒绝

    我已经在我的服务器 Centos 上完成了 ODOO v9 安装 一切都已安装成功 登录页面也可以正常工作 但登录后我收到一个包含以下错误的页面 usr bin env node Permission Denied 我尝试更改权限 但我的问
  • 无法在 Linux 中阻止从命名管道 (FIFO) 读取

    很奇怪 我似乎无法完成这项工作 这是我的架构 我有一个命名管道 它将在永远运行 root读取器进程和多个应用程序编写器进程 读者进程必须是blocking当作家们在nonblocking 因此 这就是我在阅读器进程中所做的 该进程将运行ro
  • EC2 增加大小后无法调整卷大小

    我已按照调整 EC2 卷大小的步骤进行操作 停止实例 拍摄当前卷的快照 在同一区域中从上一个快照创建了一个更大大小的新卷 从实例中分离旧卷 将新卷附加到同一安装点的实例 旧卷是 5GB 我创建的卷是 100GB 现在 当我重新启动实例并运行
  • 如果从 Java 启动,子进程将忽略 SIGQUIT

    举这个简单的例子 public class Main public static void main String args throws Exception Runtime getRuntime exec sleep 1000 This
  • 如何在 linux bash shell 中对字符串数组进行排序? [复制]

    这个问题在这里已经有答案了 例如 数组是 link2 pathname link1 pathname link3 pathname 我怎样才能得到像下面这样的数组 link1 pathname link2 pathname link3 pa
  • Ansible 权限问题

    我正在尝试将当前用户添加到系统中的某个组 然后执行需要该组权限的命令 我的剧本是这样的 name Add this user to RVM group sudo true user state present name vagrant ap
  • 减少内存分配GCC命令

    今天 在我的计算机科学课上 我被告知我可以调整程序在编译期间可以分配的内存量 使用 GCC Linux 该数量默认设置为最佳模式 这意味着尽可能多 在调试应用程序期间 我可以从这个编译器功能中受益匪浅 因为我需要正确处理分配错误 这在我的
  • Ubuntu 18.04:laravel/framework v6.9.0 需要 ext-mbstring * -> 您的系统中缺少请求的 PHP 扩展 mbstring

    在有人将其记下来进行复制之前 我检查了其他页面 但它们没有帮助 我正在尝试在 PHP 7 2 上安装 Laravel 6 的软件包 我也尝试过 PHP 7 4 不幸的是 我收到以下错误 laravel framework v6 9 0 re
  • 在 Kali (Debian) 中安装 mono-devel 时,软件包具有未满足的依赖关系

    我尝试安装 mono devel 并输入sudo apt get mono devel在终端中 但失败了 得到以下结果 apt get install mono devel Reading package lists Done Buildi
  • Linux 上的最大子进程数

    下面的代码将产生尽可能多的子级 自己不会进一步fork 一旦父进程退出就会变成僵尸 父进程将产生多少个子进程 int main int argc char arg while fork gt 0 子进程的数量可以通过以下方式限制设置限制 2
  • 使用端口 80 (Ubuntu / Linode) 运行 Node.js 的最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在设置我的第一个Node js服务器上的cloud Linux node我对以下细节还很陌生Linux admin 顺便说一句 我并没有尝试
  • Linux 上的 Chrome - 查询浏览器以查看打开了哪些选项卡?

    我在 Ubuntu Linux 上运行 Chromium 开源 chrome 版本 我可以编写一个程序来查看我打开了哪些选项卡吗 我想编写一个程序来监控我在事情上花费了多少时间 是否有命令行程序 某种调用 chromium browser
  • 在我的 Linux 机器上安装 lisp

    我使用 Vim 作为我的编辑器 Practical common Lisp 建议安装 Lispbox 我不知道如何使用 emacs 不知道如何用那个 T T 运行 lisp 代码 之后我找到了一个名为 limp vim 的 vim lisp
  • 窗口放置:适用于 Linux (KDE) 的类似 WinSplit Revolution 的应用程序? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 适用于 Linux KDE 的类似 WinSplit Revolution 的应用程序是什么 或者也许 KDE 中有一个我缺少的功能 平铺通常是窗口管
  • 获取后台进程的退出代码

    我有一个从我的主 bourne shell 脚本中调用的命令 CMD 该命令需要很长时间 我想修改脚本如下 作为后台进程并行运行命令 CMD CMD 在主脚本中 有一个循环每隔几秒监视生成的命令 该循环还向标准输出回显一些消息 指示脚本的进
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • c 中的分叉和管道过程

    所以我有一个项目要做 但我完全被难住了 我花了十个小时却一无所获 我并不是特别想要答案的代码 但是一些伪代码和正确方向的良好提示将有帮助 它分叉多个进程 k 命令行参数 通过管道连接 每个进程都连接到下一个进程 最后一个进程连接到第一个进程
  • 您可以bind()和connect() UDP连接的两端吗

    我正在编写一个点对点消息队列系统 它必须能够通过 UDP 运行 我可以任意选择一侧或另一侧作为 服务器 但这似乎不太正确 因为两端都从另一端发送和接收相同类型的数据 是否可以绑定 和连接 两端 以便它们只能彼此发送 接收 这似乎是一种非常对
  • “排序文件名 | uniq”不适用于大文件

    我可以从小文本文件中删除重复条目 但不能从大文本文件中删除重复条目 我有一个 4MB 的文件 文件的开头如下所示 aa aah aahed aahed aahing aahing aahs aahs aal aalii aalii aali
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进

随机推荐

  • html5input输入框设置无边框_HTML 中的 box-border 盒子边框详解

    border 盒子边框 复合属性 设置对象边框的特性 盒子边框三要素 边框粗细 边框样式 边框颜色 语法 border border width border style border color 边框四边的粗细 样式 颜色 以及上下左右每
  • Mac更新之后使用终端提示:The default interactive shell is now zsh.

    1 美图 2 概述 升级完系统之后还遇到了另一个问题 就是在终端下查看的时候会在打开输入内容时有提示 默认的交互shell现在是zsh 要更新您的帐户以使用zsh 请运行 chsh s bin zsh 详情请访问https support
  • QT之滑动切换UI框架

    简介 使用QT制作一个UI图片切换框架 思路 主要通过移动像素坐标差值来判断方向 左上角坐标为 0 0 右加左减 松开减去按压时的横坐标大于0则右移 否则左移 代码展示 define X Threshold Direction 4 X方向移
  • 惠普m132nw清零方法_惠普HP打印机墨盒清零方法

    hp816 hp817是惠普多款打印机产品的标配墨盒 由于适应机型多 这两款墨盒是目前非常畅销的 对于很多用户来说 使用原装墨盒未必是最佳能选择 对使用完毕的墨盒进行加墨是很通常的选择 但注墨之后墨盒计数器的清零非常关键 在此 就为各位传授
  • GO语言实现二叉树基本功能

    用GO语言和用C语言写的思路没有区别 都是利用递归来解决遍历难的问题 这里值得注意的是 在GO中用switch case是完全可以代替if else的 个人觉得在做多项判断时用switch case来写不仅效率更高 思路也更清晰 也使得代码
  • 【目录】从0到1玩转分布式锁底层原理

    一 课程目录 分布式锁是什么 为什么需要分布式锁 如何用MySQL实现一把分布式锁 Redis实现分布式锁的核心原理以及利弊 分布式锁核心类库Redisson初识 Redisson加锁的核心底层源码 Redisson锁是如何做到可重入和互斥
  • 离散行业和流程行业的区别

    所谓离散型生产企业主要是指一大类机械加工企业 它们的基本生产特征是机器 机床 对工件外形的加工 再将不同的工件组装成具有某种功能的产品 由于机器和工件都是分立的 故称之为离散型生产方式 离散行业是指制造企业中的一类企业 他们的最主要特征为
  • 八、C语言进阶:内存

    8 内存 8 1 内存四区 8 1 1 栈区 stack 由编译器自动分配和释放 主要是存放函数参数的值 局部变量的值 8 1 2 堆区 heap 由程序员自己申请分配和释放 需要malloc calloc realloc 函数来申请 用f
  • 【pygame】Rect对象

    Rect对象 class pygame Rect Rect 是用于存储矩形坐标的 Pygame 对象 Rect left top width height gt Rect Rect left top width height gt Rect
  • linux查看服务器内存占用情况

    查看某个进程的占用内存情况 以 device maintenance 为例 1 查找进程号 ps ef grep device maintenance 或 ps aux grep device maintenance 2 查看服务器整体内存
  • opencv设置摄像头分辨率不生效

    opencv vs2019 videoCapture set分辨率1600 1200 设置为1600 1200 读取时变成了1280 960 在linux上是正常的 到了win10不知怎得就设置不了了 解决方法 cv VideoCaptur
  • Qt的CMake添加外部dll

    设置外部库路径 set OPENCV LIB DIR D Windows Kits opencv build x64 vc16 lib set OPENCV DLL DIR D Windows Kits opencv build x64 v
  • 主机宝服务器默认页修改,您访问的是主机宝服务器默认页

    您访问的是主机宝服务器默认页 内容精选 换一换 私网NAT网关创建后 通过添加DNAT规则 则可以通过映射方式将您VPC内的云主机实例对外部私网 IDC或其他VPC 提供服务 云主机的每个端口分别对应一条DNAT规则 一个云主机的多个端口或
  • Golf Range Finder 高尔夫激光测距仪和GPS测距仪

    打球时 如果知道准确的距离 就可以根据自己的情况选择合适的球杆 这对成绩的好坏很重要 职业高尔夫的球童除了背包 最重要的一项职能就是判断距离 帮助球员选择球杆 业余选手没有那么奢华 有专业的球童 这样就成就了测距仪市场 目前市场上的测距仪有
  • mysql use temporary_一次mysql 优化 (Using temporary ; Using filesort)

    遇到一个SQL执行很慢 SQL 如下 SELECT FROM tableA WHERE time gt 1492044535 and time lt 1492046335 GROUP by time sourceName serverSit
  • 机器学习 -- 决策树(Ⅴ决策树构造实例)

    决策树构造实例 有如下表格的数据 是近两周 14天 的打球情况 特征为天气表现 温度 适度 是否有风4种不同的环境 目标 构造决策树 问题 拿哪个特征作为根节点 有4种划分方式如下 判断依据 信息增益 1 求熵 在14天的数据中 有9天有打
  • 安装 kubeadm

    安装 kubeadm kubelet 和 kubectl 基于Red Hat的发行版本 1 写入软件源 cat lt
  • python中rfind的用法_在Python中实现rfind

    因此 在ch中 您有字符 而不是字符的索引 所以即使您找到它 也无法知道它的索引 您只知道该字符在您的text字符串中 无其他内容 而且 当你发现一个巧合时 你会打印 无 在print 中 而且由于return 1 如果没有找到 在for循
  • Jenkins 基本使用

    在jenkins的项目中上配置通过ssh发布jar包到远程服务器 克隆 编译 测试 打包 下载 jenkins war 下载地址 https blog csdn net m0 46370483 article details 1215082
  • Linux文件查找和打包压缩

    成功不易 加倍努力 八 文件查找和打包压缩 1 文件查找 1 1 locate 1 2 nd 1 3 参数替换 xargs 2 压缩和解压缩 2 1 compress和uncompress 2 2 gzip和gunzip 2 3 bzip2