linux基础--文件查找

locate

非实时,模糊查找,查找根据全系统文件数据库进行。

updatedb:手动生成文件数据库

优点:速度快

find

实时查找,精确查找。

语法:

find [查找路径] [查找标准] [处理动作]

查找路径:默认为当前目录

查找标准:默认为指定路径下所有文件

处理动作:默认为显示

选项[查找标准]:

-name ‘FILENAME‘:对文件名做精确匹配

文件名通配*、?、[]

-iname ‘FILENAME‘:对文件名匹配不区分大小写

-regex PATTERN:基于正则表达式查找

根据文件属性查找

-user USERNAME:根据属主查找

-group GROUPNAME:根据属组查找

-uid UID:根据UID查找

-gid GID:根据GID查找

-nouser:查找没有属主的文件

-nogroup:查找没有属组的文件

根据文件类型查找

-type:根据文件类型查找

f:普通文件

d:目录

s:套接字文件

c:字符设备

b:块设备

l:链接文件

p:管道设备

根据文件大小查找

-size:根据文件大小查找

[+|-]#k:查找大于#k或者小于#k的文件

根据逻辑与或非查找

-a:表示and,同时满足,默认就为与操作

-o:表示or,满足一个显示

-not:表示不满足的显示

根据时间查找

-mtime +#:查找修改时间大于#天的文件

-#:查找修改时间小于#天的文件

-atime +#:查找访问时间大于#天的文件

-ctime +#:查找状态改变时间大于#天的文件

-mmin +#:找修改时间大于#天分钟的文件

根据权限查找

-perm MODE:根据权限查找文件,使用MODE表示精确查找

-perm -mode:表示每一位权限都必须精确匹配

-perm /mode:表示9位权限中有任何一位匹配都匹配查找

find动作:

-print:默认值,显示

-ls:类似ls -l的形式显示匹配后每一个文件的详细信息

-ok COMMAND {} \; 匹配后执行命令。注:此处必须使用;为结束符,否则为语法错误,{}为文件名称占位符

-exec COMMAND {} \; 匹配后执行命令。注:此处必须使用;为结束符,否则为语法错误,{}为文件名称占位符

例:find ./ -type f -exec chmod o-w {} \;

查找当前目录下类型为文件的文件,并删除其他用户的写权限。

find ./ -mtime +7 -exec rm -rf {} \;

查找当前修改目录下时间大于7天的文件,并删除

扩展命令

xargs:从标准输入接受命令并执行

使用管道接受,不需要使用{}占位符,也无需\;结尾

例子:

find /etc -size +1M -exec echo {} >> /tmp/etc.bak \;

find /etc -size +1M |xargs echo >> /tmp/etc.bak

上述两种命令都可以实现查找/etc下大于1M的文件并写入指定文件中

时间: 2024-12-26 06:27:56

linux基础--文件查找的相关文章

Linux下文件查找与定位

Linux下一切皆文件,但是文件由于文件的属性的不同,在查找上可以针对不同的文件做相应的查找以便加快查询速度和减少资源的消耗. 1 .   which 命令[可执行文件的查找,系统文件中检索]:此命令是查找显示可执行命令的路径和别名,通过查找可以确定在/sbin . /usr/sbin. /usr/bin .哪个目录下, 是在系统和用户环境变量中存在的目录文件中查找的. 参数 解释 --all,  -a Print all matching executables in  PATH, not j

Linux下文件查找

linux文件查找 find 文件查找 locate 文件查找:在文件系统上查找符合条件的文件 locate 依赖于事先构建好的索引库     查询系统上预建的文件索引数据库     /var/lib/mlocate/mlocate.db 系统自动实现,周期性任务. 手动创建跟新数据库(updatedb,非常消耗系统资源) 慎用! 工作特性:     查找速度快     模糊查找     非实时查找,可能文件已经有变动或不存在     locate [option]...PATTERN...  

linux之文件查找find grep详解,以及压缩归档

.find linux里的实时查找工具,通过制定路径完成文件查找. find[options]...[查找路径] [查找条件] [处理动作] 查找路径:查找的位置,默认是当前文件夹. 查找条件:指定查找的标准,文件名,大小,类型,日期等. 处理动作:对符合条件的文件做什么类型操作,默认是输出. 查找条件 根据文件名查找 -name 指定名称,可以使用正则 find /etc -name *.conf -maxdepth 2 -iname 忽略大小写 -links n 引用磁盘次数为n的文件 fi

Linux下文件查找工具介绍

文件查找工具 locate find locate: 查询系统预建的文件索引数据库      1. /var/lib/mlocate/mlocate.db     2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb). locate的特点:查找速度快        模糊查找        非实时查找        搜索的是文件的全路径,不仅仅是文件名        可能只搜索用户具备读取和执行权限的目录 基本语法:   -i :不区分大小写的搜索  

【Linux】文件查找:find

Linux下有多种查找文件指令:find.whereis.which和locate. ● which:查看可执行文件的位置 ● whereis:查看文件的位置 ● locate:配合数据库查看文件 ● find:实际搜寻硬盘查询 其中find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢.下面主要对find指令相关用法进行详细介绍. ●●●find指令: [格式]find  [指定查找目录]  [查找规则]  [查找完后执行的action] 默认路径为当前目录:默认表达式为 -

Linux之文件查找

总言:服务器上的文件如浩瀚星空,想要找到指定的一颗星辰何其难哉.幸好linux给我们提供了两样搜索命令帮组搜索:locate.find 一.locate: locate命令查询文件需要依赖系统本身的一个数据库,这个数据库每天会例行的执行一次.当我们拥有这个数据库了,就可以快捷的搜寻文件. locate依托四个组件: 1./usr/bin/updatedb   #更新数据库文件,通过crontab每天自动运行 2./usr/bin/locate     #查询功能 3./etc/updatedb.

linux 文件系统 & 文件查找 & 文件链接

学会磁盘分区.挂载文件系统.创建软硬链接.查找文件 [[email protected] ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000ab236 设备 Boot Start End Block

Linux 基础——文件搜索命令find

一.find命令的好处 有时会经常在目录下找文件或目录的具体存放在哪,但是该目录下的文件又很多不好找出.这时并不需要手动查看所有的文件,用find命令来帮助查找就行了.所以文件或目录一定归好类,存放有序,这样找起来会方便许多.如果遇到网络高峰期,尽量少用find命令,网络高峰期查找会慢许多. 二.find命令格式及常用命令 命令格式: find [dest_dir] [options] pattern 参数说明: (1)[dest_dir]:指定的目录,如果不写则在当前目录. (2)[optio

linux之文件查找命令find技巧

1. 想查看当前文件夹及子文件夹里有没有文件名为"abc"的文件 find -name abc -name:表示要根据名称查找 2. 想查看当前文件夹及子文件夹里有没有"xyz"目录 find -type d -name xyz type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件).l(链接文件) 3. 想找出当前文件夹及子文件夹里所有后缀是".txt"的文件 find -name *.txt *.txt 代表以.txt结尾的文件目