shell 命令之 find 命令一
来源:互联网 发布:java 局域网扫描 编辑:程序博客网 时间:2024/06/13 16:42
linux find 命令一:史上最详细
首先find命令与locate命令不同,find命令是一个最忠实,最老实的命令,它会一丝不苟的在磁盘上进行查找,直到找到符合条件的,或者查找完磁盘。同时find命令也有许多非常实用的用法,灵活的搭配各种附加参数,能十分方便的查询。
- 首先最基本的命令模式
find path [option] pattern #path,为要查询的路径,option为附加参数(可选) pattern为要匹配的模式条件,可以用通配符和正则,具体详细用法见下面用法
find . -name "*.txt" # . 表示当前路径对应path,-name 为附加选项参数, "*.txt"表示为匹配的条件,*是通配符,合起来表示查找当前路径下所有文件名带.txt的文件
2 . 当我们要查找的条件不止一个时,我们可以怎么做呢?举个例子,我们希望查找所有的文件名以.txt或者.pdf结尾的文件时该怎么做?
我们可以利用 -o 参数来实现条件的或连接,然后把所有的条件作为一个整体传给find命令,具体如下:find . \( -name "*.txt" -o -name "*.pdf" \)/*我们解释下上面的命令 因为()这里表示特殊含义,表示把所有的条件括起来作为一个整体,所以用\进行转义,避免把()作为普通字符-o 连接多个条件,表示逻辑或(or),同时也可以使用 -a 表示逻辑与 (and)关于判断条件的知识,请参考我之前的文章,稍后给出链接*/
3专业匹配路径的还有-path,-path 表示以普通字符串匹配路径,可以用通配符。
find /home/users -path "*/slynux/*" (此不具有普遍性,很可能执行完输出没有usres目录) 则会输出slynux目录下所有的文件,并且带上全路径输出。总之 -path 表示把模式作为路径的一部分进行搜索。
4。 默认情况下,find命令会在给出的路径下面递归(recursively)的查找,也就是说会遍历指定路径下的所有子路径,以及子路径的子路径……,愚公移山似的子子孙孙无穷尽也……。
但是我们有时不想让它这么做,我们可以指定搜索的层次
-maxdepth 和-mindepth 参数分别表示搜索的最大层次和最小层次,或者说最大深度和最小深度
具体:
比如我们只搜索指定路径下,而不是子目录下的内容find . -maxdepth 1 -name "*.txt" # 就只会在.下搜索。find . -mindepth 3 -name "*.txt" #就会往下搜索3个深度的子路径,也许就是 ./first/second/third/text.txt也会搜出来,当然如果上述路径和文件存在的话
5。 有目的性的,排除对某个子目录的查询
比如:我们使用git管理工具时,相关的每个目录下都有一个.git目录,当我们查找时,我们希望跳过查找.git目录,以加快速度,因为.git目录不可能有我们要找的东西
主要选项参数: -prune。
-prune
find . \( -name ".git" -prune \) -o \( -name "*.py" \)# 首先\( -name ".git" -prune \) 中的-name 表示的是目录名为.git的目录,而后面的 -name "*.py" -name 则表示文件名造成这里的区别就是因为 -name ".git" -prune 这个-prune ,因为-prune是排除指定的目录,所以这里的-name匹配目录名,其他场景-name匹配文件名
1 0
- shell 命令之 find 命令一
- shell之find命令
- shell之find命令
- shell命令之find
- 8 shell命令之find
- linux shell命令之find命令
- shell 命令之 find命令二
- shell 命令之 find 命令三
- shell 命令之 find 命令四
- Linux命令之find(一)
- Linux之常用Shell命令:grep,find
- 【Linux】shell命令学习之find
- shell脚本 find命令
- shell笔记--find命令
- shell 命令 笔记--find
- shell的find命令
- Linux shell命令---------find
- Shell命令 find
- 升级Xcode7.2之后 VVDocumenter-插件不能使用(对其他版本升级后存在的问题也适用)
- Java之多线程内存可见性_2(synchronized可见性原理)
- 关于import只能调用根目录,无法调用其他模块文件 2015.12.17
- Cocos2d-x应用:保存背景音乐和音效设置
- awk命令详解
- shell 命令之 find 命令一
- Objective-C语言_可变字典
- C /C++标准库 - <cctype> (ctype.h)
- 译~GreenSock动画平台(GSAP)的JavaScript版本入门
- php函数小汇总(四)
- gcc -fomit-frame-pointer选项,-fno-dwarf2-cfi-asm 选项
- CentOS6.6下内网DNS服务器配置
- springmvc请求接收参数的几种方法
- 最全Pycharm教程(31)——Pyhcarm实战