Linux文件管理知识:查找文件

news/2025/1/16 4:03:12/

前几篇文章一一介绍了LINUX进程管理控制命令及网络层面的知识体系,综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢?

Linux中的所有数据都是以文件形式存在的,那么所有文件分别被归类到不同的文件系统中。而文件系统则是一种树型结构,通俗的理解为目录。

在linux系统中,你所做的每一步操作及所执行的每个命令都是基于文件系统底层逻辑来呈现出来的。

说到管理linux文件,首先您得先找见它!通过本节可以了解linux的文件管理第一步:查找文件等。今天这篇文章主要介绍下两个用来在linux系统中查找文件的工具或者命令程序。

• locate –通过名称来查找文件

• find  – 在一个目录层次结构中搜索文件

locate - 查找文件的简单方法

locate 命令程序会执行一次快速的路径名数据库搜索进程,并且输出结果是与给定字符串相匹配的路径名称。locate 命令程序只能依据文件名来查找文件。

例如,找到所有名字以“zip”开头的文件:

[root@linuxprobe ~]$ locate bin/zip

locate 命令程序执行搜索路径名数据库进程,并输出任一个包含字符串“bin/zip”的路径名:

/usr/bin/zip

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipsplit

或者结合其它命令工具,例如grep 命令,来执行更全面的搜索:

[root@linuxprobe ~]$ locate zip | grep bin

/bin/bunzip2

/bin/bzip2

/bin/gunzip

/bin/gzip

/usr/bin/funzip

/usr/bin/gpg-zip

/usr/bin/prezip

/usr/bin/prezip-bin

/usr/bin/unzip

/usr/bin/zip

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipsplit

扩展知识:

有时候locate命令程序不能正常工作,但是呢第二天它就正常工作了。解决方法:首先转换为超级用户身份,在提示符下运行updatedb 命令,可以手动运行updatedb 命令程序即可。

目前,不同版本的Linux发行版中locate 命令程序有很多演变,不过它们都会拥有一定重叠的选项集合,可通过查看locate 命令的手册来确定安装了哪个版本的locate 命令程序。

find - 查找文件的高阶之路

find 命令程序支持基于给定的各种属性搜索查找文件。find 命令程序的魅力所在就是它能够找到符合特定标准属性的文件。

  1. 最简单的查找方式:

find 命令程序支持接收多个目录名来执行搜索查找。

例如:

[root@linuxprobe ~]$ find ~       //输出家目录的路径名列表

可想而知,查找结果会产生很大的列表。那我们可以尝试使用wc 命令程序来计算并显示出文件的数量:

[root@linuxprobe ~]$ find ~ | wc

-l46052

find 命令程序支持的常见文件类型测试条件如下:

表: find 文件类型

文件类型

描述

b

块特殊设备文件

c

字符特殊设备文件

d

目录

f

普通文件

l

符号链接

  1. 通过文件大小和文件名搜索查找

例如:

查找所有文件名匹配通配符模式“*.JPG”和文件大小大于1M 的普通文件:

[root@linuxprobe ~]$ find ~ -type f -name "*.JPG" -size +1M | wc -l

237

//引入-name 测试条件,后面跟通配符模式。

//双引号引起来的作用就是阻止shell 展开路径名进程。

//引入-size 测试条件,后跟字符串“+1M”。加号“+”代表正在寻找文件大小大于指定数的文件。若以减号“-”开头,那就代表查找小于指定数的文件。若没有符号意味着“精确匹配这个数”。字母“M”表明测量单位是兆字节。测量单位的指定如下表:

表: find 大小单位

字符

单位

b

512 个字节块。如果没有指定单位,则这是默认值。

c

字节

w

两个字节的字

k

千字节(1024 个字节单位)

M

兆字节(1048576 个字节单位)

G

千兆字节(1073741824 个字节单位)

以上列出的只是冰山一角,find 命令手册有更详细的说明。

总结:

find 命令程序搜索目录树以查找一个文件或一组文件。它遍历目录树并报告与用户规范匹配的文件的所有匹配项。查找程序包括非常强大的搜索功能。

locate 程序扫描一个或多个文件名数据库,并显示任何匹配项。如果文件在上次文件名数据库更新期间存在,则可以将其用作非常快速的查找命令。

当然,linux文件类型是不可或缺的一部分,在Linux中,基本的文件类型有以下三种:

1) 普通文件

普通文件基本包括文本文件、源码文件、可执行文件等。

2) 目录

目录可以包含普通文件和特殊文件,目录相当于Windows系统和Mac 系统中的文件夹。

3) 设备文件

设备文件就是Linux 与外部设备(如光驱,打印机等)进行通信所必需的文件。

关于linux系统文件查找命令的运用魅力不止如此,今天的介绍仅仅一小部分,所以强烈建议大家可以参考下《GNU Findutils 4.9.0》及《linux就该这么学》这两本书,对于linux系统文件管理层面的介绍很详细!


http://www.ppmy.cn/news/1001926.html

相关文章

电测知识分享——三千字解读时钟电路最重要部件,建议收藏!

晶振作为时钟电路中最重要的部件,在电路中起着产生震荡频率的作用,可以产生高度稳定的信号,并稳定工作环境,为系统提供基本的时钟信号,在工业、科技、车载、数码、电子等多个领域几乎都有应用场景。 今天,…

使用火山云搜索ESCloud服务构建图文检索应用(以文搜图/以图搜图)

图文检索在生活中具有广泛的应用,常见的图片检索包括基于文本内容搜索和基于图片内容搜索。用户通过输入文字描述或上传图片就可以在海量的图片库中快速找到同款或者相似图片,这种搜索方式被广泛应用于电商、广告、设计以及搜索引擎等热门领域。 本文基…

Storm学习之使用官方Docker镜像快速搭建Storm运行环境

文章目录 0.前言搭建完的效果 1.教程1.1.docker 安装 zookeeper1.2. 安装 storm nimbus1.3.docker 安装 supervisor1.4.docker 安装 storm-ui1.5.查看已经启动的容器1.6.提交topology到 storm集群 2.总结3.参考文档 0.前言 Apache Storm 官方也出了Docker 镜像 https://hub.do…

npm配置最新淘宝镜像

目录 1、设置淘宝镜像2、查看源 1、设置淘宝镜像 默认的官方镜像:https://registry.npmjs.org,切换国内淘宝镜像,访问下载更快。 npm config set registry https://registry.npmmirror.com/其他,如pnpm: pnpm confi…

如何构建一套有效的培训系统

有效的培训系统对于组织的发展和员工的持续学习非常重要。一个好的培训系统可以提供全面的知识和技能,帮助员工不断成长和提升工作表现。 构建一个有效的培训系统需要确定培训目标。培训目标应该紧密与组织的战略目标相结合,明确员工需要掌握的技能和知…

轮足机器人硬件总结

简介 本文主要根据“轮腿机器人Hyun”总结的硬件部分。 轮腿机器人Hyun开源地址:https://github.com/HuGuoXuang/Hyun 1 电源部分 1.1 78M05 78M05是一款三端稳压器芯片,它可以将输入电压稳定输出为5V直流电压. 1.2 AMS1117-3.3 AMS1117-3.3是一种输…

[C++项目] Boost文档 站内搜索引擎(3): 建立文档及其关键字的正排 倒排索引、jieba库的安装与使用...

之前的两篇文章: 第一篇文章介绍了本项目的背景, 获取了Boost库文档 🫦[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍…第二篇文章 分析实现了parser模块. 此模块的作用是 对所有文档html文件, 进行清理并汇总 🫦[C项目] …

Spring之浅谈AOP技术

目录 前言 1.AOP的作用 2.AOP核心 Spring实现AOP 3.AOP工作流程 4.AOP核心概念 5.AOP通知类型 5.1类型介绍 5.2通知类型的使用 前置通知 后置通知 ​​​​​​​环绕通知 前言 AOP:Aspect Oriented Programming(面向切面编程)&…