热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux常用命令详解之文件搜索命令二

二,(1)命令名称:find(很复杂)(3)命令所在路径:usrbinfind(4)执行权限:所有用户(5)功能描述:查找文件或目录

二,(1)命令名称:find(很复杂)

      (3)命令所在路径:/usr/bin/find

      (4)执行权限:所有用户

      (5)功能描述:查找文件或目录

      (6)语法:which  [搜索路径]  [搜索关键字]

细节:

(1)搜索路径:即指定搜索的范围,一定要注意尽可能的缩小查找的范围,一般不允许以根目录(相当于windows中的“我的电脑”)为查找范围,这样会占用大量的资源,有时候是不可估量的,不要动不动不以根目录为范围来查找,这样可能在你看来只是快了一点点,但是对于系统来说,遍历硬盘是一个非常消耗资源的操作,一定要尽可能的减少资源的消耗,这一点是非常重要的;

(2)搜索关键字:即搜索的方法,也就是以什么来定位

      搜索方法很多,常用有:

-name

以文件名查找

(这时候就会用到文件通配符了,如下小知识所讲)

如:查看etc下以inint开头的文件

find  /etc  -name  init*

-type

以文件类型查找

(1)ffile):表示二进制文件

(2)llink):表示软连接文件

(3)ddirectory:表示目录

如:查看etc下的所有目录

find  /etc  -type  d

-inum

i节点号查找

查找节点号为78的文件:find  /etc  -inum  78

-size

以文件大小查找

(1)大小的写法:

Linux中一般都是以数据块为单位查找,而:

1block = 512字节 

1KB = 1024字节

1M=1024KB

(2)大小的表示方法,有三种

     大于:+

     小于:-

     等于:什么都不写

如:查找100M的文件

(1)大小:

100M=102400KB=204800block

(2)查找大于100M的文件:

+204800

3)命令为:

find  /etc  -size  +204800

-user

根据文件的所有者查找

find  /etc  -user  lakers

根据文件改变的时间查找

以天为单位

ctimeatimemtime

(time表示天)

(1)c--change:表示文件的属性(即ls -l查看到的内容)被改变

(2)a--access:表示文件被访问过

(3)m--modify:表示文件的内容(即正文)被修改过

前缀的含义

(1)时间范围之外:+

2)时间范围之内:-   

3)具体时间:什么都不写

以分钟为单位

cminaminmmin

min表示分钟)

如:查找/etc下,两天之内被修改过的文件

find  /etc  -ctime  -2

小知识:

1,文件路径通配符

1)问号通配符“?”:匹配文件中的单个字符,如:文本模式data?.dat,能匹配data+任意单个字符+.dat的文件名,比如data2.dat

2)星号通配符“*”:匹配文件中的零个或多个字符,如:文本模式data*.dat,能匹配data+任意零个或多个字符+.dat的文件名,比如data2.datdata.datdatatcccccc.dat

2,连接符

第一组:逻辑连接符

在使用范围查找的时候就要用到连接符了

1-aand):表示逻辑与

2-oor):表示逻辑或

比如:

1)查找/etc下大于80M小于100M的文件

      find   /etc  -size  +163840  -a   -size  -204800

2)查找/etc下大于80M的目录

      find   /etc  -size  +163840  -a  -type  d

第二组:用于查找到文件后执行某个命令

固定格式:

find  ...... -exec或者-ok  命令  {}  \; 

(1){}:表示find查询的结果

(2)\:它是转义符,即使符号、命令等使用本身的含义

(3);:表示结束

(4)-exec与-ok的区别就是:-exec是查找到文件后直接执行命令,不会询问;而-ok在查找到文件后会询问你是否执行命令;

如:查找/etc下的名字为init的文件并把它删除

     find  /etc  -name  init  -exec  rm {} \;

扩展:

当文件名比较特殊时(如”a  b“),我们在用rm删除时是删除不了的,系统会以为你是要删除ab文件,这时就需要根据文件的i节点号俩删除了:

步骤:

(1)找到文件的i节点号:ls  -i

(2)使用find根据i节点号查找,并调用删除命令:

     find -inum 节点号  -ok  rm  {}  \;

     表示当前目录

 

注意:

find一个通用的命令,可以查找所以文件,当然就包括命令了,它类似于windows中的文件搜索;区别在于,如果windows中会列出所有文件名中包含指定名称的文件,而find命令要实现这个功能就得用通配符。


推荐阅读
  • Windows 7集成IE11:离线安装包与系统补丁全面解析
    在将Internet Explorer 11集成到Windows 7系统中时,需预先安装多个关键系统补丁,包括KB2731771、KB2786081、KB2834140、KB2670838、KB2729094和KB2888049。这些补丁不仅确保了系统的兼容性和稳定性,还为IE11的顺利安装提供了必要的支持。此外,建议在安装过程中遵循官方文档中的步骤,以避免潜在的兼容性问题。 ... [详细]
  • 在Linux系统中,压缩命令与Windows系统存在显著差异。本文将详细介绍ZIP压缩命令的使用方法及其应用场景。首先,通过`unzip`命令可以将文件解压到指定目录,例如 `unzip monitor-0.8.2.zip -d /目标目录/`。此外,还将涵盖其他常用的ZIP相关命令和选项,帮助用户高效地管理和操作压缩文件。 ... [详细]
  • ### 摘要`mkdir` 命令用于在指定位置创建新的目录。其基本格式为 `mkdir [选项] 目录名称`。通过该命令,用户可以在文件系统中创建一个或多个以指定名称命名的文件夹。执行此操作的用户需要具备相应的权限。此外,`mkdir` 还支持多种选项,如 `-p` 用于递归创建多级目录,确保路径中的所有层级都存在。掌握这些基本用法和选项,有助于提高在 Linux 系统中的文件管理效率。 ... [详细]
  • 蓝桥竞赛中的回形取数问题是一个经典的算法挑战。本文详细解析了该问题的正确实现代码,重点探讨了 `hasNext()` 和 `next()` 方法的区别与应用。尽管两者在功能上类似,都会等待用户输入下一个字符,但它们的返回值类型不同,`hasNext()` 返回一个布尔值,表示是否还有输入,而 `next()` 则直接返回下一个输入的值。通过具体的代码示例和详细的逻辑分析,本文为参赛者提供了宝贵的参考和指导。 ... [详细]
  • 如何在Linux系统中实现Windows风格的桌面环境:将Ubuntu 18.04定制为Windows主题界面
    如果您是从Windows转到Linux系统的用户,可能会觉得默认的Ubuntu主题和桌面环境缺乏吸引力和可定制性。尤其是对于习惯了Windows风格的任务栏和主题的用户,Ubuntu 18.04的橙色主题可能显得过于简洁。为了提升用户体验,可以通过安装特定的桌面环境和主题来实现类似Windows的界面效果。本文将详细介绍如何在Ubuntu 18.04中配置和定制桌面环境,使其具备Windows风格的外观和功能。 ... [详细]
  • 如何在低配置电脑上下载并运行《绝地求生》游戏? ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • 遇到电脑启动时显示0x000000ED蓝屏错误代码应如何处理?
    遇到电脑启动时显示0x000000ED蓝屏错误代码应如何处理? ... [详细]
  • Windows 7 忘记登录密码?详细教程教你如何安全重置密码 ... [详细]
  • 如何在您的计算机上配置Python和PyCharm开发环境
    本文详细介绍了在Windows 10系统上配置Python和PyCharm开发环境的步骤。内容包括Python的安装与卸载、PyCharm的安装与卸载,以及如何在Windows 10中通过双击安装文件“python-3.7.2-amd64.exe”来完成Python的安装。此外,还提供了关于环境变量配置和基本设置的实用建议,帮助用户快速搭建高效的开发环境。 ... [详细]
  • 解决针织难题:R语言编程技巧与常见错误分析 ... [详细]
  • 本文深入解析了Django框架中的MVT(Model-View-Template)设计模式,详细阐述了其工作原理和应用流程。通过分析URL模式、视图、模型和模板等关键组件,读者将全面理解Django应用程序的架构体系,掌握如何高效地构建和管理Web应用。 ... [详细]
  • 将Jar包部署至Linux服务器的详细步骤与注意事项
    将Jar包部署至Linux服务器的详细步骤及注意事项包括:首先使用 `mvn install` 命令进行Jar包的打包构建。接着,需要停止当前正在运行的Jar进程,可以通过 `ps -ef | grep **.jar` 查找对应的进程ID(PID),然后使用 `kill -9 ` 终止该进程。最后,使用 `rm` 命令删除旧的Jar包文件,确保新版本能够顺利部署。在整个过程中,务必确保操作的准确性和安全性,避免对服务器造成不必要的影响。 ... [详细]
  • 在 Linux 环境下,多线程编程是实现高效并发处理的重要技术。本文通过具体的实战案例,详细分析了多线程编程的关键技术和常见问题。文章首先介绍了多线程的基本概念和创建方法,然后通过实例代码展示了如何使用 pthreads 库进行线程同步和通信。此外,还探讨了多线程程序中的性能优化技巧和调试方法,为开发者提供了宝贵的实践经验。 ... [详细]
author-avatar
心痛则痛1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有