ubuntu下搜索文件的几种方法

news/2025/1/12 0:58:57/

一、whereis命令:

        whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
        whereis的命令格式: whereis [-bmsu] [BMS 目录名 -f ] 文件名

        whereis命令参数:

                -b - 定位可执行文件。

                -m - 定位帮助文件。

                -s - 定位源代码文件。

                -u - 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

                -B - 指定搜索可执行文件的路径。

                -M - 指定搜索帮助文件的路径。

                -S - 指定搜索源代码文件的路径。
        whereis使用示例:

                二、find命令:

          find命令在目录结构中搜索文件,并执行指定的操作。

          find的命令格式:find pathname -options [-print -exec -ok ...]

          find的命令参数:                      

    pathname - find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

    -print - find命令将匹配的文件输出到标准输出。

     -exec - find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } \;,注意{ }和\;之间的空格。

              -ok - 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

            find的命令选项:              

      -name 按照文件名查找文件。

      -perm 按照文件权限来查找文件。

      -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

      -user 按照文件属主来查找文件。

      -group 按照文件所属的组来查找文件。

      -mtime -n +n 按照文件的更改时间来查找文件,

                - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

      -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

      -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

      -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。

      -type 查找某一类型的文件,诸如:b - 块设备文件;d - 目录;c - 字符设备文件;p - 管道文件;l - 符号链接文件;f - 普通文件。

      -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

      -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

      -mount:在查找文件时不跨越文件系统mount点。

      -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

      -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

        find命令的使用示例:

          

三、locate命令:

       locate命令 用于快速的搜寻档案系统内是否有指定的档案。

        locate命令格式:Locate [选择参数] [样式]

         locate命令参数:

                -e - 将排除在寻找的范围之外。

      -1 - 如果是1。则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。

      -f - 将特定的档案系统排除在外,例如没有到理要把 proc 档案系统中的档案放在资料库中。

      -q 安静模式,不会显示任何错误讯息。

      -n 至多显示 n 个输出。

      -r 使用正规运算式 做寻找的条件。 

      -o 指定资料库存的名称。

      -d 指定资料库的路径 

      -h 显示辅助讯息

      -V 显示程式的版本讯息

         locate命令的使用示例:

                 


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

相关文章

【Python】按升序排列 Excel 工作表

发现按名称对 Excel 工作表进行排序很麻烦,因此创建了一个代码来使用 Python 的 openpyxl 对它们进行排序。 1. 本次创建的代码概述 在GUI中指定一个Excel文件(使用Tkinter。这是一个标准模块,因此不需要安装)加载Excel文件&…

计算机组成原理—总线

文章目录 总线概述总线的作用串行总线与并向总线总线分类总线结构 总线性能指标总线仲裁集中仲裁链式查询计数器查询独立请求 分布式仲裁 总线操作和计时同步定时方式异步通信半同步通信分离式通信 计组真的太难了! 这一章节安排的目的其实是有种亡羊补牢的安排意思…

Kibana搜索数据利器:KQL与Lucene

文章目录 一、搜索数据二、KQL查询1、字段搜索2、逻辑运算符3、通配符4、存在性检查5、括号 三、Lucene查询1、字段搜索2、逻辑运算符3、通配符4、范围搜索5、存在性检查6、括号 四、总结 一、搜索数据 默认情况下,您可以使用 Kibana 的标准查询语言,该…

优先考虑泛型

Java中的泛型(Generics)提供了一种参数化类型的机制,使得你可以编写更灵活、类型安全的代码。下面是一个例子,说明在Java中优先考虑泛型的好处: 考虑一个简单的容器类,它可以存储任意类型的元素&#xff0…

C++报错:error C2238: 意外的标记位于“;”之前

报错信息如下: 编译遇见这样的错误信息主要有一下几种: 情况一: 多数情况下出现这种问题的原因是因为头文件重复包含:即头文件A包含了B,头文件B又包含了A,导致编译器在加载头文件时陷入死循环。 解决办法…

搭建个人智能家居 开篇(搭建Home Assistant)

搭建个人智能家居 开篇(搭建Home Assistant) 前言Home Assistant搭建Home AssistantUbuntu系统搭建Windows系统搭建VM安装方法VirtualBox安装方法: 配置Home Assistant控制页面 前言 随着科技的进步、发展,物联网给我们的生活带来…

Mr_HJ / form-generator项目文档学习与记录(续)

以后主打超融开源社区 (jiangzhicheng88) - Gitee.com render.js就是对vue的render函数的自己简单定制封装。 render.js实现的功能是将json表单中的__config__.tag解析为具体的vue组件; 正常开发流程我们组件输入的时候会触发组件内的 this.$emit(getValue, val)…

word一键接受所有修订并保留修订痕迹

目的:让word修订插入的内容在接受修订后保留痕迹。 文章目录 目的:让word修订插入的内容在接受修订后保留痕迹。1. 打开批注的word文件2. 同时按住:*AltF11*,然后右键:Normal -->插入--> 模块3. 在出现的代码框中…