Linux文件查找--location find 命令

文件查找
grep egrep fgrep 文本查找

文件查找:
locate:
非实时,模糊匹配,查找是根据全系统文件数据库进行的;
# 手动生成文件数据库 updatedb;

find:
实时查找,精确, 速度慢
遍历指定目录中的所有的文件完成查找;
支持众多查找标准

find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
处理运作:默认为显示 打印

匹配标准:
-name ‘FILENAME‘: 对文件名进行精确查找
文件名通配:
*: 任意长度的任意字符
?:
[]:
-iname ‘FILENAME‘: 文件名匹配时不区分大小写
-regex PATTERN: 基于正则表达式进行查找
-user USERNAEM:
-group GROUPNAME:
-uid UID
-gid GID 用户被删后,属组gid号
-nouser: 查找没有属组的文件
-type
f: 普通文件
d:
c:
b:
l:
p:
s:
-size
+- #k
#M
#G
组合条件
-a 且
-o 或
-not 非
find /tmp -not -type -d

-mtime
-ctime
-atime + 5 -
[+|-]5 ----------|-----------> now

-mmin
-cmin
-amin
[+|-]# 分钟

-perm:
MODE 依据权限精确查找
-MODE: 每一位权限都要匹配才行 包含关系:文件全乡能完全包含MODE时才能显示
/MODE: 九位权限有一位匹配就行

运作:
-print:显示
-ls:类似类ls -l的形式显示每一个文件的详细信息
-ok:COMMOND \; 每次操作都需要确认
-exec COMMAD \; 不需要确认
find ./ -perm -006 -exec chmod o-w {} \;
find ./ -type d -ok chmod +x {} \;
find ./ -perm -020 -exec mv {} {}.new \;
find ./ -name "*.sh" -a -perm -111 -exec chmod o-x {} \;

find /etc -sixe +1M -exec echo {} >> /tmp/etc.largefiles \;
find /etc -size +1M | xargs echo >> /tmp/etc.largefiles

练习:

1、查找/var目录下属主为root且属组为mial的文件
find /var -user root -group mail

2、查找/usr目录下不属于root,bin 或student的文件
find /usr -not -user root -a -not -user bin -a -not -user student
find /usr -not \( -user root -o -user bin -o -user student \)

3、查找/etc目录下最近一周修改过且不属于root和student用户的文件;
find /etc -mtime -7 -a -not -user root -a -not -user student

4、查找当前系统上没有属主或属主且最近一天内曾被访问的文件,并将其属主和属组都修改为root
find / (\ -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;

5、查找\etc目录下大于1M的文件,并且将其文件名写入/tmp/etc.largefiles文件中;
find /etc -sixe +1M -exec echo {} >> /tmp/etc.largefiles \;
find /etc -size +1M | xargs echo >> /tmp/etc.largefiles

6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息
find /etc -not -perm /222 -ls

时间: 2024-08-29 21:55:06

Linux文件查找--location find 命令的相关文章

linux文件查找之find命令

find 在windows中,我们想查找文件时,只需要在查找中输入您想要查找的东西,对于linux来说,没有那么方便的图像查找,但是使用find命令,将会是最好的选择,find具有强大的查找命令方式,之前,听一个学长说他面试jd的时候,问道的第一个问题就是你怎样查找系统中大于10M 的文件,因此对find命令在我心里就更为重视了,这会正好总结以下 find     查找位置    -条件    条件值     -exec 动作 {} \; 1>通过文件名查找文件地址 find  /  -name

Linux 文件查找命令find,xargs详述

Linux文件查找命令find,xargs详述     <exec 后期讲解> 关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统). 一.find 命令格式 1.find命令的一般形式为:

Linux文件查找命令find,xargs详述

转自:http://www.linuxsir.org/main/node/137本文进行了整理修订 Linux文件查找命令find,xargs详述 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录 版权声明 前言:关于find命令 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执

Linux文件查找命令find,xargs详述【转】

转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Linux文件查找命令find,xargs详述 总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录

Linux文件查找命令

1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件的特征. - <指定动作>: 对搜索结果进行特定的处理. 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显

Linux文件查找命令find用法整理(locate/find)

Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2.find 实时,精确,功能强大,用法: find 路径 查找标准 查找后动作 (1)路径:. 或者 ./ 均表示当前目录 (2)查找标准: -name 'FILENAME' 文件名精确匹配(支持通配符* ? []) -iname 'FILENAME' 文件名模糊匹配(不分大小写) -regex P

Linux文件查找之find&locate

Linux文件查找之find&locate 一.概述 Linux系统核心的思想之一"一切皆文件",对于这么多的文件,如何快速查找过滤呢?下面我们就看看系统提供的文件查找命令find和locat,熟练使用find命令是运维人员的必经之路 二.find的用法及示例 1.find特点 查找速度略慢 精确查找 实时查找 只能搜索有读取和执行权限的目录 2.find用法 用法:find  [options]  [查找路径]  [ 查找条件]  [处理动作] 查找条件: 根据文件类型查找

Linux文件查找.md

Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis whereis命令是定位可执行文件.源代码文件.帮助文件在文件系统中的位置.这些文件的属性应属于原始代码,二进制文件,或是帮助文件.whereis 程序还具有搜索源代码.指定备用搜索路径和搜索不寻常项的能力. 语法 whereis [-bmsu] 文件或者目录名称 参数 -b 定位可执

Linux文件查找

Linux文件查找 Linux的基本法则之一为一切皆文件,Linux遵循FHS(Filesystem Hierarchy Standard),文件系统目录标准,FHS采用树形结构组织文件:在使用过程中,我们会遇到知道文件名却不知道文件位置的情况,或者查找某些类型的文件,此时我们需要文件查找的功能. 一.常用查找命令: Locate与finad: locate命令为非实时查找模式:非实时查找,需要根据索引查找,依赖于索引,而索引构建相当占用资源:索引的创建是在系统空闲时由系统自动进行(每天任务):