【Linux】linux下find指令的所有选项

Find指令
它是Linux系统使用中的非常重要的一条指令,它也包含了很多选项。

1.它的指令格式如下:
find pathname -options [-printf -exec -ok ...] 

2.指令功能:
用于在文件树中查找文件,并做出相应的处理。

3.指令中的参数: 
pathname:表示所要查找的目录路径.例如”.”表示当前目录,”/”表示根目录。
-print:将find找到的文件输出到标准输出。 
-exec:对找到的文件执行exec这个参数所指定的shell命令,相应的形式为:-exec command {} \;
         将查到的文件进行command操作,”{}”就代替查到的文件,注意”{}”和”\”之间有一个空格。
-ok:和-exec的作用相同,不过-ok更加安全一点,在执行每一个命令前,都会给出提示,让用户来确定是否执行。

 参数为-ok :会给出提示,“” {} “”代替查找到的文件

参数为-exec:无提示

通过上面介绍,我们也可以这么理解。
find命令就是:
find [查找目录] [查找规则] [查找完后的操作]

4.find的选项

-name 按照文件名查找文件

(1)name根据文件名查找,区分大小写

(2)iname根据文件名查找,不区分大小写

(3)*文件通配符 表示可以统配任意的字符

 (4)?表示通配任意单个字符

(5)[]表示通配括号里面的任意一个字符,注意[]里面的内容会被解析成单个字符



-perm:按照文件权限来查找文件




-prune:使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略

(1) 在当前目录除了code子目录之外的其他子目录内搜索test.c文件


(2)在当前目录及除code和Documents之外的其他子目录中查找test.c文件


(3)只在当前code目录,而不再其子目录中,查找test.c文件


-user username:在code目录下按照文件属主来查找文件


-group groupname:在code目录下按照文件所属的组来查找文件


-nouser: 查找无有效属主的文件,即该文件的属主在/etc/ passwd中不存在
find / -nouser -type f -print


-nogroup: 查找无有效所属组的?文件,即该文件所属的组在/etc/groups中不存在

find / -nogroup -type f -print


为什么会存在不属于任何用户和用户组的文件?因为当你自行安装软件时,很可能软件的属性当中并没有文件所有者或者你将某个用户(用户组)删除了,但是它的文件还在。这是可能的。所以在这时候就可以用着两条指令来查看这些不太正常的文件。


-mtime -n / +n:按照文件的更改时间来查找文件

+n 表示从今天起,比n天前的那一天还往前的那段时间所操作过的文件名。(n天前之前)
-n 表示从今天起,n天前的那一天到今天这段时间所操作过的文件名(n天前到现在)
n  表示从今天起,n天前的那一天操作的文件名(n天前当天)



0就代表当天的时间


find命令还有-atime和-ctime 选项,但它们都和-m time 选项相同


-newer file1 ! file2:查找更改时间比文件file1新但比文件file2旧的文件


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



      f:普通文件   find pathname -type f
      d:目录文件   find pathname -type d
      l:链接文件   find pathname -type l
      b:表示块设备文件 find pathname -type b
      c:表示字符设备文件 find pathname -type c
      p:表示管道设备文件 find pathname -type p
      s:表示套接字文件   find pathname -type s  


-a -o -not (与 或 非)


-a 类似与操作,当全为真时才为真
-o 类似或操作,只要有一个为真就为真,找到的结果是只有有一个成立就找到它
-not 类似非操作,与当前查找的条件相反


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



-depth:在查找文件时,首先查找子目录再查找当前目录
在不加-depth的时候,处理顺序是首先查找当前目录,然后查找子目录。加不加-depth参数,会影响结构的输出顺序。

在code目录下查找不为空的文件时,加上-depth就先查找子目录再查找当前目录。

不加-depth就先查找当前目录再查找子目录


加-mindepth 1表示输出时不输出顶层的当前目录code, 普通默认是包含顶层当前目录的:



-links:按照链接的数目来查找


-gid n:查找系统中文件数字组 ID 为 n的文件


-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息

-mount:在查找文件时不跨越文件系统mount点

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值