Linux之find查找命令
Linux中find常见用法示例
[root@localhost ~]# find [PATH] [option] [action]
参数:
1. 与时间有关的参数:共有-atime、-ctime与-mtime,以-mtime为例:
-mtime n:n为数字,意义为在n天之前的“一天之内”被更改过的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n:列出在n天之内(含n天本身)被更改过的文件名;
-newer file:file为一个存在的文件,列出比file还要新的文件名。
+n代表大于等于n+1天前的文件名;
-n代表小于等于n天内的文件名;
n则是代表n~n+1那一天的文件名。
[root@localhost Desktop]# find / -mtime 0
[root@localhost Desktop]# find /etc -newer /etc/passwd
2. 与用户或用户组名有关的参数:
-uid n:n为数字,这个数字是用户的账号ID,即UID。UID记录在/etc/passwd中
-gid n:n为数字,这个数字是用户组名的ID,即GID。GID记录在/etc/group中
-user name:name为用户帐号名称
-group name:name为用户组名称
-nouser:寻找文件的所有者不存在于/etc/passwd中的文件
-nogroup:寻找文件的所有用户组不存在于/etc/group中的文件
注:
如果系统里面某个账号删除了,该帐号在系统内已创建的文件即使用-nouser来查找。
[root@localhost Desktop]# find /home -user vurtne
[root@localhost Desktop]# find / -nouser
3. 与文件权限及名称有关的参数:
-name filename:查找文件名为filename的文件
-size [+-]SIZE:查找比SIZE还要大(+)或小(-)的文件。
-type TYPE:查找文件的类型为TYPE的,类型主要有:
一般正规文件(f),设备文件(b,c),目录(d),
连接文件(l),socket(s)及FIFO(p)等属性。
-perm mode:查找文件权限“刚好等于mode权限“的文件
-perm -mode:查找文件权限“必须要全部包括mode权限“的文件
-perm +mode:查找文件权限”包含任一mode权限“的文件
[root@localhost Desktop]# find /var -type s
[root@localhost Desktop]# find / -perm +7000
[root@localhost Desktop]# find /bin /sbin -perm +6000
4. 其他可进行的操作:
-exec command {} \: #将查到的文件执行command操作,
对每一个找到的文件执行command命令,并用文件替换"{}",“\;”是固定的结束符。
-print:将结果打印到屏幕上
[root@localhost Desktop]# find / -perm +7000 -exec ls -l {} \;
[root@localhost Desktop]# find / -size +1000k
[root@localhost Desktop]# find /etc -name '*httpd*'
[root@localhost Desktop]# find ./ -name '*.exe' -exec file {} \; #找出当前文件夹下后缀是exe的文件,
并用file命令显示 每个文件的文件类型
-empty #查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹
-false #查找系统中总是错误的文件
-fstype type #查找系统中存在于指定文件系统的文件,例如:ext2 .
-gidn #查找系统中文件数字组 ID 为 n的文件
-depth #使查找在进入子目录前先行查找完本目录
-fstype #查更改时间比f1新但比f2旧的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune #忽略某个目录
-ok 和 -exec相同,只不过在操作前要询用户
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
①通过文件名查找法:
find / -name http.conf 在根目录下查找文件“httpd.conf”,就会得到这个文件的路径
②根据部分文件名查找法:
find /etc -name '*.conf' 在/etc目录下查找以".conf"结尾的文件
③根据文件特征查找:
如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来。
a.) find / -size 1500c # 在根目录下查找大小为1500bytes的文件,字符c表明这个要查找的文件
大小以bytes为单位。
b.) find / -size +100c # 在根目录下查找大小超过100bytes的文件,命令中的“+”是表示要
求系统只列出大于指定大小的文件,而使用“-”则表示要求系统列出小
于指定大小的文件。
c.) find / -amin -10 # 查找在系统中最后10分钟访问的文件
d.) find / -atime -2 # 查找在系统中最后48小时访问的文件
e.) find / -empty # 查找在系统中为空的文件或者文件夹
f.) find / -group cat # 查找在系统中属于组cat的文件
g.) find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
h.) find / -mtime -1 # 查找在系统中最后24小时里修改过的文件
i.) find / -nouser # 查找在系统中属于作废用户的文件
j.) find / -user fred # 查找在系统中属于FRED这个用户的文件
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
find命令也提供给用户一些特有的选项来控制查找操作。下面是一些最基本,最常用的find命令的控制选项及其用法。
-daystart # 测试系统从今天开始24小时以内的文件,用法类似-amin
-depth # 使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容
-follow # 遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询
-help # 显示命令摘要
-mount # 不在文件系统目录中查找, 用法类似 -xdev.
-noleaf # 禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找
-version # 打印版本数字
-maxdepth levels # 在某个层次的目录中按照递减方法查找,限制find命令在目录中按照递减方
式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找
速度变慢,查找花费的时间过多。
find . -maxdepth 2 -name fred # 限制find只能查找两层目录下的文件
④使用混合查找方式查找文件:
通过"-and"把两个查找选项链接起来组合成一个混合的查找方式,在/tmp目录中查找大于100000000
字节并且在48小时内修改的某个文件。
find /tmp -size +10000000c -and -mtime +2
通过"-or"把两个查找选项链接起来组合成一个混合的查找方式,在/目录中查找属于fred用户或者
george用户的文件。
find / -user fred -or -user george
find /tmp ! -user panda # 在/tmp目录中查找所有不属于panda的文件
find /tmp/ -ctime +7 -delete # 删除/tmp目录下一周以前创建的文件
⑤查找并显示文件信息的方法:
find / -name "httpd.conf" -ls
⑥无错误查找:
find / -name access_log 2>/dev/null
这个方法是把查找错误提示转移到特定的目录中。系统执行这个命令后,遇到错误的信息就直接输
送到stderrstream 2中,access_log 2 就是表明系统将把错误信息输送到stderrstream 2
中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,
不会再显示了。
Linux之find查找命令的更多相关文章
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- linux下find查找命令用法
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- linux下面的查找命令
在linux下面经常用查找命令,我自己最常用的是find whereis locate 关于find 我常用find的基本功能,如 find / -name filename 在某个目录下寻找文件. ...
- Linux学习之查找命令汇总
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
- linux 5个查找命令
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- Linux下的查找命令which、whereis、locate、find(6/20)
Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which [-a] cmdname1 cmdname2 ...... 命令参数: -n ...
- 【Linux】如何查找命令及历史记录history
如何查找命令及历史记录 文章目录 如何查找命令及历史记录 1.如何找到一个命令 2.命令的历史记录 3.一些实用的快捷键 4.小结 5.参考资料 如何找到一个命令.命令的历史记录.一些实用的快捷键.总 ...
- Linux的六种查找命令
http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 1. find fi ...
- Linux系列之查找命令
前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...
- linux中的查找命令
which命令:使用which命令可以看到某个系统命令是否存在,以及执行的到底是哪一个位置上的命令.在PATH指定的路径中进行搜索, 返回第一个搜索结果. which grep /bin/grep ...
随机推荐
- Javascript面向对象二
Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype. ...
- 深入理解mybatis
MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例, ...
- Beta Scrum Day 1 — 听说
听说
- 剑指offer :从尾到头打印链表
题目描述: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解题思路: 链表的遍历只能从头向尾进行,要从尾到头输出,考虑用栈.先从头到尾遍历一次链表,同时将值进栈,再清空栈,同时将值 ...
- HDU 5925 Coconuts 离散化
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5925 Coconuts Time Limit: 9000/4500 MS (Java/Others) ...
- Mysql-外键foreign key
1.定义:如果一张表中有一个字段指向另一张表的主键,就子表中将该主键字段叫做外键. 一张表中可存在多个外键 2.外键的作用 保持数据的一致性.完整性 a.对子表(外键所在的表)的作用:子表在进行写操作 ...
- v-html的应用
var app=new Vue({ el: '#app', data:{ link:'<a href="#">这是一个连接</a>' },}) <di ...
- struts 类型转换
- Java 输入/输出 反射
Java 输入/输出 反射 输入输出和反射 一.数据流的基本概念 流一般分为 ( Input Stream ) 和输出流 ( Output Stream ) 两类,但这种划分并不是绝对的.比如一 ...
- 一些$LCT$的瓜皮题目
一些瓜皮 放几个比较优(she)秀(pi)的\(LCT\)题. 老惯例,每一题代码因为一些未知原因消失了(如果要的话私我好了,虽然会咕咕咕). 嘴巴\(AC\)真香! [SP16580] QTREE7 ...