linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!

find

    • find命令?干什么的?
    • find命令常用参数的使用
      • 最常用的,知道文件/目录名字找文件/目录路径
      • name,user,group,type选项
      • 根据目录级数查找
      • 根据权限查找perm
      • 查找并做出修改(操作)exec
      • 根据文件读取/修改时间查找
      • 根据文件大小查找

find命令?干什么的?

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

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

find命令常用参数的使用

实验环境:
为了实验效果,我在/mnt/目录下创建了如下文件及目录:
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第1张图片

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

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开头的文件/目录
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第2张图片
查找/mnt目录及其子目录下不论大小写以luckyfile开头的文件/目录
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第3张图片
查找/mnt目录及其子目录下文件的拥有者是lucky且拥有组是trainee的文件/目录
##这个-a不加效果也一样
在这里插入图片描述
查找当前目录及其子目录下文件的拥有者不是lucky且拥有组是trainee的文件/目录
在这里插入图片描述
查找当前目录及其子目录下文件的拥有者是root且拥有组不是trainee的文件/目录
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第4张图片
列出/mnt/下的所有目录
在这里插入图片描述
列出/mnt/及其子目录下的所有文件
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第5张图片

根据目录级数查找

我们先看图了解一下目录级数:
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第6张图片

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

列出/mnt目录下至多到一/二/三级目录下的内容
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第7张图片
查找/mnt目录下至少在二级目录之后的luckylucky开头的文件/目录
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第8张图片
查找/etc目录下在二级目录的名字叫passwd的文件/目录
在这里插入图片描述

根据权限查找perm

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

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

linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第9张图片

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

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

find /mnt -group lucky -exec chgrp root {} \;
将拥有组是lucky的改为root
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第10张图片

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

 -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/分钟内被修改过的文件/目录
linux之find命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第11张图片

根据文件大小查找

-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命令使用详解,怎么查找文件的位置?面试官最爱考的find命令详解来啦!_第12张图片

你可能感兴趣的:(linux,linux)