linux之find命令使用详解,怎么查找文件的位置?

Posted Tuki_a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之find命令使用详解,怎么查找文件的位置?相关的知识,希望对你有一定的参考价值。

find命令?干什么的?

Linux find 命令用来在指定目录下查找文件。
任何位于参数之前的字符串都将被视为欲查找的目录名。
如果使用该命令时,不设置任何参数,
则 find 命令将在当前目录下查找子目录与文件。
并且将查找到的子目录和文件全部进行显示。

语法:
find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \\;

find命令常用参数的使用

实验环境:
为了实验效果,我在/mnt/目录下创建了如下文件及目录:
在这里插入图片描述

最常用的,知道文件/目录名字找文件/目录路径

find / -name lucky
##意思是在/根目录下查找名字为lucky的文件或目录
在这里插入图片描述

name,user,group,type选项

find 
-name :根据名字查找,-iname会忽略大小写!!!
-user :根据用户查找
-group :根据组查找

-type c : 文件类型是 c 的文件。
f: 一般文件
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
l: 符号连结
s: socket

-o :或者
-a :并且
-not :不是...的

查找当前目录及其子目录下名字以lucky开头的文件/目录
在这里插入图片描述
查找/mnt目录及其子目录下不论大小写以luckyfile开头的文件/目录
在这里插入图片描述
查找/mnt目录及其子目录下文件的拥有者是lucky且拥有组是trainee的文件/目录
##这个-a不加效果也一样
在这里插入图片描述
查找当前目录及其子目录下文件的拥有者不是lucky且拥有组是trainee的文件/目录
在这里插入图片描述
查找当前目录及其子目录下文件的拥有者是root且拥有组不是trainee的文件/目录
在这里插入图片描述
列出/mnt/下的所有目录
在这里插入图片描述
列出/mnt/及其子目录下的所有文件
在这里插入图片描述

根据目录级数查找

我们先看图了解一下目录级数:
在这里插入图片描述

-maxdepth n :查找最大到n级目录
-mindepth n :查找最小得是n级目录

列出/mnt目录下至多到一/二/三级目录下的内容
在这里插入图片描述
查找/mnt目录下至少在二级目录之后的luckylucky开头的文件/目录
在这里插入图片描述
查找/etc目录下在二级目录的名字叫passwd的文件/目录
在这里插入图片描述

根据权限查找perm

关于权限,可点击蓝字查看之前的文章

-perm 555			文件权限为111
-perm /555			文件权限555开了6个权限,ugo满足9个权限位至少一个符合即可
-perm -555			文件权限ugo位都至少得有5

在这里插入图片描述

查找并做出修改(操作)exec

find ... -exec 操作 {} \\;  或者  -exec 操作 {} ';'
{} \\; 中间有空格,这是固定格式
{} 表示前面find命令查找的结果放到{}里
\\是为了转译“;”因为;是特殊字符
也可以这样转义{} ';'

find /mnt -group lucky -exec chgrp root {} \\;
将拥有组是lucky的改为root
在这里插入图片描述

根据文件读取/修改时间查找

 -cmin 1 				1分钟内被修改过
 -cmin -1  				1分钟之内被修改过
 -cmin +1 				1分钟前被修改过
 -amin n : 在过去 n 分钟内被读取过
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-ctime n : 在过去n天内被修改过的文件

查找/mnt目录及其子目录下在过去1/3/5/分钟内被修改过的文件/目录
在这里插入图片描述

根据文件大小查找

-size n 
文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-size 1M			文件大小为1M的
-size +1M			文件大小大于1M的
-size -1M			文件大小小于1M的

查找/mnt目录及其子目录下文件大小为1M,小于1M,大于1M的文件/目录
在这里插入图片描述

以上是关于linux之find命令使用详解,怎么查找文件的位置?的主要内容,如果未能解决你的问题,请参考以下文章

Linux之find命令详解

Linux之find命令的参数详解

Linux命令之find详解

Linux之find命令的参数详解

Linux 之 find 命令使用详解(第六章)

Linux文件查找工具之find(详解)