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文件查找和打包压缩 的相关文章

  • 安装 python-dev 和链接库后,Cython 中的 Hello World 程序因 gcc 失败

    我创建了一个简单的 hello world 程序 并尝试使用 gcc 执行生成的 C 程序 但无论我做什么 我都会得到大量未定义的引用 SO 有很多类似的问题 但他们都说安装 python dev 或其某些变体 或添加用于链接和加载库的标志
  • 如何在bash中使用kill SIGUSR2?

    我在linux中使用iptraf来监控网络流量 shell命令是 让iptraf在后台运行 iptraf s eth0 f B L traffic dat 如果我想得到结果 我必须先停止 iptraf 所以我使用 shell 命令 kill
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • sed 将带空格的行插入到特定行

    我在开头有一行空格 例如 Hello world 我想将此行插入到文件中的特定行 例如 将 hello world 插入下一个文件 hello world result hello hello world world 我正在使用这个 sed
  • 拼写检查 shell 脚本

    我有一些疑问 我对一个应该是简单拼写检查器的脚本有疑问 它的目的是 当发现错误的单词时 它会提示用户输入该单词的正确拼写 如果用户输入正确的拼写 则会显示更正的单词以及错误的单词 下面 在读完所有单词之后 但是 如果用户只是按 Enter
  • Linux C++ 错误:未定义对“dlopen”的引用

    我在 Linux 上使用 C Eclipse 工作 并且想要使用一个库 Eclipse 向我显示一个错误 undefined reference to dlopen 你知道解决办法吗 这是我的代码 include
  • 内核驱动程序从用户空间读取正常,但写回始终为 0

    因此 我正在努力完成内核驱动程序编程 目前我正在尝试在应用程序和内核驱动程序之间构建简单的数据传输 我使用简单的字符设备作为这两者之间的链接 并且我已成功将数据传输到驱动程序 但我无法将有意义的数据返回到用户空间 内核驱动程序如下所示 in
  • 确定 TCP Listen() 队列中当前积压的连接数

    有没有办法找出currentLinux 上 TCP 套接字上等待 Accept 的连接尝试次数 我想我可以在每个事件循环上点击 EWOULDBLOCK 之前计算成功的 Accept 数量 但我使用的是隐藏这些细节的高级库 Python Tw
  • Xvfb 冻结初始化 GLX 扩展

    我正在尝试运行无头 Xvfb 服务器来捕获 Amazon EC2 micro 上的屏幕截图 但它在 GLX 上陷入了困境 我使用此脚本安装了 GLX Xvfb 和所有库 https gist github com joekiller 414
  • 找出Linux上一个进程使用了​​多少内存页

    我需要找出进程分配了多少内存页 每个页面是 4096 进程内存使用情况我在查找正确值时遇到一些问题 当我查看 gome system monitor 时 内存映射下有几个值可供选择 Thanks 这样做的目的是将内存使用量除以页数并验证页大
  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • 段错误...关于你好世界

    这段代码非常简单 但我在 x86 64 Linux 系统上遇到了段错误 这让我很烦恼 刚开始接触asm 请耐心等待 与 NASM 组装nasm f elf64 test asm 与连接ld o test test o SECTION tex
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • PIL 的 Image.show() 带来*两个*不同的查看器

    在 python shell 中处理图像时 我使用 image show 其中 image 是 Image 的实例 很久以前什么也没发生 但在定义了一个名为 xv 的 Mirage 符号链接后 我很高兴 最近几天 show 将显示 Imag
  • 应用程序中两个不同版本的库

    考虑一个场景 其中有两个不同版本的共享库 考虑 A 1 so 链接到 B so A 2 so 链接到 C so 现在 B so 和 C so 都链接到 d exe 当 B so 想要调用 A 1 so 中的函数时 它最终会调用 A 2 so
  • Vagrant 遇到问题 - “404 - 未找到”

    我正在尝试使用 Vagrant 制作一个 LAMP 盒子 有人告诉我它使用起来非常简单 我对网络和虚拟机完全陌生 对 Linux Ubuntu 的经验也很少 我目前已尝试按照官方文档页面上的教程进行操作 http docs vagrantu
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire

随机推荐

  • 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