Linux find命令详解

find是Unix/Linux命令行工具箱中最棒的工具之一,该命令对于编写shell脚本所起到的功用不可小视。

工作方式

find命令的工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,执行相应的操作。

使用方法

$ find base_path

base_path可以是任意路径(例如/home/slynux),find会从该位置开始向下查找。

$ find . -print
# 打印文件和目录的列表

.指定当前目录,..指定父目录。这是Unix文件系统中的约定用法。
-print指明打印出匹配文件的文件名(路径)。

根据文件名或正则表达式进行搜索

选项-name的参数指定了文件名所必须匹配的字符串。我们可以将通配符作为参数使用。*.txt能够匹配所有以.txt结尾的文件名。

$ find /home/slynux -name "*.txt" -print

find命令有一个选项 -iname(忽略字母大小写),该选项的作用和 -name类似,只不过在匹配名字时会忽略大小写。

否定参数

find也可以用“!”否定参数的含义。例如:

$ find . ! -name "*.txt" -print

根据文件类型搜索

Unix类系统将一切都视为文件。文件具有不同的类型,例如普通文件、目录、字符设备、块设备、符号链接、硬链接、套接字以及FIFO等。
-type可以对文件搜索进行过滤。借助这个选项,我们可以为find命令指明特定的文件匹配类型。
例如,只列出所有的目录:

$ find . -type d -print

文件类型与类型参数对照表

文件类型 类型参数
普通文件 f
符号链接 l
目录 d
字符设备 c
块设备 b
套接字 s
FIFO p
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,263评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,714评论 9 468
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的lin...
    拿破轮胎阅读 1,008评论 0 4
  • 圈圈依旧矫情的活着,哈哈!每天的想法很多,每天的思绪很多,没有什么不好,看淡一切,也就看淡所有了! 下载了很多老歌...
    OO碰到OO阅读 183评论 0 0