linux之find命令使用详解,怎么查找文件的位置?
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之find命令使用详解,怎么查找文件的位置?相关的知识,希望对你有一定的参考价值。
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命令使用详解,怎么查找文件的位置?的主要内容,如果未能解决你的问题,请参考以下文章