【Linux】Linux系统下find指令详细用法与示例

来源:互联网 发布:支持windows的平板 编辑:程序博客网 时间:2024/06/05 18:34

Linux中的Find指令是Linux系统中很重要也是很棒的指令之一,功能非常得强大。下面我根据实例代码向大家分享find指令。由于博客上无法贴出Linux代码,我就在截图中体现出代码,以及效果。


我先自己创建了文件名的test.c的普通文件,我们用指令mkdir,以及ls查看已经创建了test.c.

wKioL1c9VzyQalhuAAAktKIMzNs034.png

现在我们查找它。

  1. 根据文件名或者正则表达式查找:-name   通过文件名字查找


文件名:

1)find ./ -name test.c   查找文件名为test.c的文件


wKioL1c9Wu2gJl51AAALFDsmLSE107.png


2)find 。/ -name 'test.c*'  查找文件名包括test的文件


wKiom1c9WkOzC_tWAAAZw3fcmqk534.png


正则表达式:

1)find 用 “!”来否定参数 .

find ./ ! -name '*.c' -print    查找文件名不为.c的文件,并打印出来。(实际后面的-print可要可不要,效果都会显示在屏幕上)

wKioL1c9XnrxDwa7AAB4Y2QnZuA829.png


2)如果想匹配多个条件中的一个,可以使用-o参数。

-a  与条件

-o  或条件

-not 非条件(此参数的功能类似于否定参数‘!’)

2.根据文件大小查找


通过-size选项可以通过文件大小查找文件。


-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

b——块(512字节); c——字节; w——字(2字节);

k——千字节 ; M——兆字节; G——吉字节。


1)find ~ -size +100k    查找比100k大的文件

wKioL1c9YvjjLTFCAAAVgOP8DQc509.png


2)find ~ -size -100k     查找比100k小的文件

wKiom1c9YhyxTymWAABrg5hdAcI502.png


3)find ~ -size  100k     查找大小为100k的文件

注意: – 指比给定尺寸小,+ 指比给定尺寸大。没有符号代表和给定尺寸完全一样大。

3.根据文件深度查找

使用mimdepth,maxdepth限定搜索指定目录的深度。

-depth:在查找文件时,首先先查找当前的目录中的文件,然后在其子目录中查找。

1)find ./  -name test   在root目录以及子目录下查找文件名为test的文件

wKioL1c9af7AudgsAAAPLXaqRhg981.png


2)find -maxdepth 2 -name test    在root目录以及深度为1的子目录中查找文件名为test的文件

wKioL1c9aC3xvGzpAAAPMZc2DNc501.png


3)find -mindepth 1 -maxdepth 5 -name test    在深度为0的子目录以及深度为5的子目录中查找文件

名为test的文件

wKiom1c9aGmTrq7-AAARYq_j2ao837.png


4.根据文件权限查找文件

-perm 按照文件的权限来查找文件。

1)find -perm -g=w 找到具有组读权限的文件

wKiom1c9bubDc_RwAADkNK7Fbqg836.png

5.根据文件类型查找文件。

-type  查找某一类型的文件。诸如:

文件类型   类型参数
 普通文件    f
 符号文件    l
 目录       d
 字符设备    c
 块设备     b
 套接字     s
 管道文件    p

1)find . -type d 查找类型为目录的文件

wKioL1c9coPxhfFbAABTODTp5Z8208.png


其他类型的文件就可以按照上述命令来查找了。

6.根据文件时间来查找


Linux文件系统中每一个文件都有三种时间戳:

(1)访问时间(-atime):用户最近一次访问文件的时间;

(2)修改时间(-mtime):文件内容最后一次被修改的时间。

(3)变化时间(-ctime):文件元数据(metadata,例如权限或所有权)最后一次改变的时间。


-atime,-mtime,-ctime作为时间参数,单位是天。可以使用+表示大于,-表示小于(和根据文件的大小查找中的+,-相同)。


我们在这里只针对-mtime举例子了,其他两个时间戳也是一样的。

1)find ./ -mtime -5   查找小于等于5天内修改过的文件

wKiom1c9deeiV2wVAABTnuYfgqA398.png


2)find ./ -mtime +2   查找大于2天前修改过的文件


wKiom1c9dkbhjf-dAAB0Bg_Ul0s983.png


3)find ./ -mtime 1   查找1天前,当天修改过的文件

wKioL1c9d4nhZULdAAAeTgnMfT4610.png


4)find ./ -newer test.c   查找比test.c还要新的文件

wKioL1c9d83COArJAADGvEZqJ_0051.png

本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1775088

0 0
原创粉丝点击