Linux-文件查找命令find
find - search for files in a directory hierarchy
find命令用于在目录层级中查找文件
SYNOPSIS
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
简单用法:
find PATH EXPRESSION
EXPRESSION
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
选项太多不一一列举,常用的在下面的示例中说明,要深究的话建议查看帮助手册(英文描述其实更地道,翻译成中文有时反而难以理解,可能大家看到过一个词“句柄”,不知道大家是怎么理解的,反正我是无法理解,语句?手柄?)
EXAMPlES
1.按文件名查找,支持通配符
find 目录 -name "pattern"
2.按文件名查找,同时忽略大小写
find 目录 -iname "pattern"
3.按所属用户查找
find 目录 -user "pattern"
4.按所属用户组查找
find 目录 -group "pattern"
5.查找所属用户指定的UID的文件
find 目录 -uid "pattern"
6.查找所属用户指定的UID的文件
find 目录 -gid "pattern"
7.查找无用户的文件
find 目录 -nouser "pattern"
8.查找无用户组的文件
find 目录 -nogroup "pattern"
9.按文件类型查找
find 目录 -type TYPE
TYPE:
- f: 普通文件
- d: 目录文件
- l:符号链接文件
- b:块设备 文件
- c:字符设备文件
- p:管道文件
- s:套接字文件
10.按文件大小查找,+表示>,-表示<
find 目录 -size [+|-]n[cwbkMG]]
- b: for 512-byte blocks (this is the default if no suffix is used)
- c: for bytes
- w: for two-byte words
- k: for Kilobytes (units of 1024 bytes)
- M: for Megabytes (units of 1048576 bytes)
- G: for Gigabytes (units of 1073741824 bytes)
11.按时间戳(天数)查找,-atime(访问天数)-ctime(change天数)-mtime(修改天数)
find 目录 -atime [+|-]n
find 目录 -ctime [+|-]n
find 目录 -mtime [+|-]n
12.按时间戳(分钟)查找,-amin(访问分钟)-cmin(change分钟)-mmin(修改分钟)
find 目录 -amin [+|-]n
find 目录 -cmin [+|-]n
find 目录 -mmin [+|-]n
13.按权限查找
mode:精确匹配
/mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;
-mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;9位权限之间存在“与”关系;
find 目录 -perm [/|-]mode
选项组合
-a:与
-o:或
-not/!:非
处理动作
-exec 命令... {} \;
#示例:查找当前目录下.txt后缀,并且1天内修改过的文件
find ./ -name "*.txt" -a -mtime -1 -exec ls -lh {} \;
注意
find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;但是有些命令不能接受过长的参数,此时命令执行会失败;
另一种方式可规避此问题:
find | xargs COMMAND
Linux-文件查找命令find的更多相关文章
- Linux文件查找命令find,xargs详述【转】
转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...
- Linux文件查找命令find用法整理(locate/find)
Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...
- Linux文件查找命令
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- Linux文件查找命令具体解释-which whereis find locate
原创BLog.转载请注明出处 http://blog.csdn.net/hello_hwc? viewmode=contents which命令 首先查看man which的说明 which - sh ...
- Linux 文件查找命令详解
find命令 Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将 ...
- Linux文件查找命令find(转)
Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录 ...
- Linux文件查找命令 find 详解
关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权 ...
- Linux文件查找命令find,xargs详述
目录: 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执行shell命令: 二.find命令的例子: 1.查找当前用 ...
- locate linux文件查找命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...
- Linux文件查找命令find和xargs详解
PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实 ...
随机推荐
- xagrs 指定参数位置
xargs还有指定参数位置的作用.假设我们要将目录下所有的.py文件放到Python目录中去,可以使用命令find . -name '*.py' | xargs -I {} mv {} ./Pytho ...
- c#中将字符串转换成带2位小数的浮点数
今天遇到一个展示酒店价格的需求,觉得是要显示成“¥0.00”样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 "; string amount = string.Empty; ...
- Sharing Code Between Silverlight and Win8 app metro
这里讲得很详细了: Sharing Code between Windows Phone 8 and Windows 8 Applications http://msdn.microsoft.com/ ...
- 【Linux】Tree命令安装和使用
Tree命令简介 tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY.树已经被移植和报道以下操作系统下工作: ...
- java 模拟登录新浪微博(通过cookie)
这几天一直在研究新浪微博的爬虫,发现爬取微博的数据首先要登录.本来打算是通过账号和密码模拟浏览器登录.但是现在微博的登录机制比较复杂.通过账号密码还没有登录成功QAQ.所以就先记录下,通过cookie ...
- lnmp源码编译安装zabbix
软件安装 Mysql 安装 tar xf mysql-5.7.13-1.el6.x86_64.rpm-bundle.tar -C mysql rpm -e --nodeps mysql-libs-5 ...
- POJ 3110 Jenny's First Exam (贪心)
题意:告诉你n 个科目的考试日期,在考试当天不能复习,每一个科目的最早复习时间不能早于考试时间的t天,每一天你可以复习完一科,也只能复习一科,求最晚的复习时间!. 析:由于题目给定的时间都在1900 ...
- Topcoder-SRM-#712-Div2
250-RepeatNumberCompare Problem Statement For any two positive integers x and k we can make a new nu ...
- C和C++中的volatile、内存屏障和CPU缓存一致性协议MESI
目录 1. 前言2 2. 结论2 3. volatile应用场景3 4. 内存屏障(Memory Barrier)4 5. setjmp和longjmp4 1) 结果1(非优化编译:g++ -g -o ...
- 几种修改Linux主机名的方法
在安装一些系统时,需要修改hostname,比如安装Hadoop时需要修改主机名,而且主机名不能包含下划线. 实际上,主机名分三种(命令hostnamectl或hostnamectl status可查 ...