加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Linux查找文件6个高效工具

发布时间:2019-07-04 07:51:05 所属栏目:Windows 来源:佚名
导读:副标题#e# 1. 前言 我们使用Linux过程中,经常会有搜索文件的需求,那么Linux命令下有哪些工具可以快速查找文件呢?先来了解一下这些工具: linux查找文件 1.1 find命令 Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个。它很难,因
副标题[/!--empirenews.page--]

 1. 前言

我们使用Linux过程中,经常会有搜索文件的需求,那么Linux命令下有哪些工具可以快速查找文件呢?先来了解一下这些工具:

Linux查找文件6个高效工具

linux查找文件

1.1 find命令

Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法与其他 Linux 命令的标准语法不同。但是,它很强大,因为它允许您按文件名、文件类型、用户甚至是时间戳查找文件。使用 find 命令,您不但可以找到具这些属性任意组合的文件,还可以对它找到的文件执行操作。

1.2 locate命令

Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。

1.3 grep命令

Linux grep命令用于查找文件里符合条件的字符串。grep也可以根据文件名查找文件,但一般用于查找文件内的内容。

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

1.4 whereis命令

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

1.5 which命令

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

1.6 type命令

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

1.7 总结

which 查看可执行文件的位置。

whereis 查看文件的位置。

locate 配合数据库查看文件位置。

find 实际搜寻硬盘查询文件名称。

type 区分命令类型

2. find命令使用案例

2.1 根据文件名查找

查找zcwyou.txt这个文件,从/开始查找,即在Linux所有挂载的分区和目录中查找。

  1. [root@zcwyou ~]# find / -name zcwyou.txt 

只查找.txt结尾的文件

  1. [root@zcwyou ~]# find / -name '*.txt' 

查找txt和pdf结尾的文件

  1. [root@zcwyou ~]# find . -name "*.txt" -o -name "*.pdf" 

2.2 从某个目录开始查找文件

从当前用户的家目录开始查找

  1. [root@zcwyou ~]# find ~ -name zcwyou.txt 

从当前目录开始查找

  1. [root@zcwyou ~]# find . -name zcwyou.txt 

从/var目录开始查找

  1. [root@zcwyou ~]# find /var -name zcwyou.txt 

2.3 忽略大小写

查找文件名带有abc的文件,忽略大小写

使用选项-iname

  1. [root@zcwyou ~]# find / -iname *abc* 

2.4 根据文件类型查找

使用选项-type

查找某一类型的文件,例如:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

在/etc目录下查找所有的目录,并打印出来

  1. [root@zcwyou ~]# find /etc -type d -print  

在当前目录下查找除目录以外的所有类型的文件

  1. [root@zcwyou ~]# find . ! -type d -print 

在/etc目录下查找所有的符号链接文件

[root@zcwyou ~]# find . ! -type d -print

  1. [root@zcwyou ~]# find . ! -type d -print 

2.5 基于目录深度搜索

查找当前目录及向下最大深度限制为3的所有文件

  1. [root@zcwyou ~]# find . -maxdepth 3 -type f 

2.6 基本文件时间查找

使用格式:

find . -type f 时间类型

UNIX/Linux文件系统每个文件都有三种时间类型:

访问时间 (-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间 (-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间 (-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

搜索最近七天内被访问过的所有文件

  1. [root@zcwyou ~]# find . -type f -atime -7 

搜索恰好在七天前被访问过的所有文件

  1. [root@zcwyou ~]# find . -type f -atime 7 

搜索超过七天内被访问过的所有文件

  1. [root@zcwyou ~]# find . -type f -atime +7 

搜索访问时间超过10分钟的所有文件

  1. [root@zcwyou ~]# find . -type f -amin +10 

找出比file.log修改时间更长的所有文件

  1. [root@zcwyou ~]# find . -type f -newer file.log 

2.7 根据文件大小查找

使用格式:

find . -type f -size 文件大小

文件大小单元:

b------块(512字节)

c------字节

w------字(2字节)

k------千字节

M------兆字节

G------吉字节

查找大于10KB的文件

  1. [root@zcwyou ~]# find . -type f -size +10k 

查找小于30M的文件

  1. [root@zcwyou ~]# find . -type f -size -30M 

搜索等于55MB的文件

  1. [root@zcwyou ~]# find . -type f -size 55M 

2.8 查找后删除

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读