Linux系统下find(查找)命令的使用方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35032155/article/details/68096117

Linux系统下find(查找)命令的使用方法

在Linux下有相当优异的查找命令。通常有两个:locate 和 find。
1. 首先讲下locate命令,该命令使用很简单,直接在后面输入“文件的部分名称”后即可得到结果。

范例一:找出系统中所有与 killer.c 相关的文件名

[root@localhost ~]# locate killer.c
/home/killer/killer/killer.c
[root@localhost ~]#
  1. 下面重点来介绍find命令
    Linux下find命令在目录结构中搜索文件,并执⾏行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强⼤大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解⼀一下。即使系统中含有网络⽂文件系(NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行⼀个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的⽂文件系统)。
    (1) 作用:find在不指定查找目录的情况下是对整个系统进行遍历查找。
    (2) 格式:
 find pathname -options [-print -exec -ok ...]

参数说明 :
-print: find命令将匹配的⽂文件输出到标准输出。
-exec: find命令对匹配的⽂文件执⾏行该参数所给出的shell命令。相应命令的形式为’command’ { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作⽤用相同,只不过以⼀种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
(3) 命令选项:

i 与时间有关的参数
-mount, -xdev 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-mtime +n 列出在n天前(不含n天本身)被更改过得文件名。

[root@localhost killer]# find / -mtime 0
//列出在1天前被更改的文件名

-mtime -n 列出在n天内(含n天本身)被更改过得文件名。
-amin n 在过去 n 分钟内被读取过
-atime n 在过去 n 天过读取过的文件
-cmin n 在过去 n 分钟内被修改
-anewer file 比文件 file 更晚被读取过的文件
-cnewer file 比文件 file 更新的文件

[killer@localhost ~]$ find /ect/ -newer /ect/passwd
//寻找/ect下面的文件,如果文件日期比/ect/passwd新就列出

-ctime n 在过去 n 天过修改过的文件

ii 与文件权限及名称有关的参数
-perm mode 查找文件权限“刚好等于”mode的文件,这个mode为类似chmod的属性,比如说:-rwsr-xr-x 的属性为4755。

[root@localhost killer]# find /bin/sbin/ -perm +6000
//将/bin、/sbin这两个目录下只要具有SUIDSGID的文件列出来。

-size n 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c 文件类型是 c 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket
iii 与用户或用户组有关的参数
-user name name为用户账号名称,比如killer。
-group name name为用户组名称,例如users。
-nouser 寻找文件的所有者不存在/etc/passwd/的人
-gid n or -uid n n为数字,这个数字表示用户组或用户的ID。

范例二: 查找/home下面属于killer的文件

[root@localhost killer]# find /home -user killer
/home/killer
/home/killer/.mozilla
/home/killer/.mozilla/extensions
/home/killer/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

范例三:查找系统中不属于任何人得文件

[root@localhost ~]# find / -nouser
展开阅读全文

没有更多推荐了,返回首页