Linux 中find命令与文件权限

Find指令


Linuxfind命令在目录结构中搜索文件,并执行指定的操作。

(速度较慢 遍历文件 真真切切地查找)

1 命令格式 

find pathname -options [-print -exec -ok ...]

2 命令功能

用于在文件树种查找文件,并做出相应处理(可能访问磁盘)

3 命令参数

pathname:find 命令所查找的目录路径。

例如:表示当前目录  用/表示系统根目录

-print : find 命令将匹配的文件输出到标准输出中。

-exec: find命令对匹配的文件执行该菜蔬所给出的shell命令。

相应的命令形式为command  {  } \; 注意{ }\之间的空格。

wKioL1c92FCz6CluAAAQ_F6PAIA266.png 

-ok: 和-exec的作用相同,只不过是以一种更安全的模式来执行给出的shell命令,在执每一个命令之前,都会给出提示,让用户来确定是否执行。

4 命令选项:

-name    按照文件名查找文件 

wKioL1c92GHg3xBOAABTHe1XRjM180.png 

配合通配符使用

 

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

Linux 中find命令与文件权限_第1张图片 

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

详见:http://blog.csdn.net/zzxian/article/details/8446703

Linux 中find命令与文件权限_第2张图片 

-user    按照文件的属主来查找文件。

 

-group   按照文件所属的组来查找wKiom1c917bAYRHJAAAsEAOe96A539.png

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

n  n天先前1

Linux 中find命令与文件权限_第3张图片 

find ./ -mtime 4 

        -n 表示文件的更改时间距离现在n天以内

        +n 表示文件的更改时间距离现在n天以前

wKiom1c919WQw2LBAABdzrdVA_I960.pngLinux 中find命令与文件权限_第4张图片 

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

 

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

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

wKiom1c91_rjEpeUAAAmTkagCuY974.png 

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

Linux 中find命令与文件权限_第5张图片 

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

b - 块设备文件

 

d - 目录

 

c -字符设备文件

Linux 中find命令与文件权限_第6张图片 

p - 管道文件

l - 符号链接文件

wKiom1c92DrzNLgdAABvlWA7RNs585.png 

f - 普通文件

 

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

查找大小小于1kb的文件

wKioL1c92TyB-crhAACALKqUdsg855.png 

-depth :在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

参数-depth 的意思是:在处理目录以前首先处理目录下的子内容。
也即是说在不加-depth的时候, 处理顺序是首先处理目录本身,然后处理目录下的子内容。加不加-depth参数,会影响输出结构的输出顺序。

Linux 中find命令与文件权限_第7张图片 

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

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

-follow : 如果find命令遇到符号链接文件,就跟踪到链接所指向的文件。-cpio: 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外:

下面三个的区别:

-建时间来查找文件, -nn天以内  +n n天以前

 

例子

1 在/logs目录中查找更改时间在5月以前的文件并删除它们

2 Linux用find命令查找文件大小为XX的文件的方法

 

 

http://blog.chinaunix.net/uid-24648486-id-2998767.html

#-name 根据文件名查找(精确查找)

#-iname 根据文件名查找,但不区分大小写

 

*表示通配任意的字符

Linux 中find命令与文件权限_第8张图片 

?表示通配任意的单个字符

 

[ ]表示 通配括号里面的任意一个字符

 

#-a 连接两个不同条件(两个条件必须同时满足 and 与)

 

#-o (or 或)

 

#-not (!)

 

#-atime #-mtime #-ctime #-amin #-mmin #-cmin

所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟

 

#find /tmp �atime +5 //表示查找在五天内没有访问过的文件

#find /tmp -atime -5 //表示查找在五天内访问过的文件

wKioL1c92imTwxTOAACTBeRNib0711.png


---------------------------------------------------------------------------------


权限与指令之间的关系


1. 让用户能进入目录成为【可工作目录】的基本权限为何:

可使用的指令:例如cd等变换工作目录的指令;

目录所需权限:用户对这个目录至少需要具有x的权限;


额外需求:如果用户想要在这个目录内用ls查阅文件名,则用户对此目录还需要r的权限。

Linux 中find命令与文件权限_第9张图片

2. 用户在某个目录内读取一个档案的基本权限为何?

   可使用的指令: 例如cat,more,less等;

   目录所需要的权限:用户对这个目录至少需要x权限;(进入)

档案所需要的权限: 使用者对档案至少需要具有r的权限才行!

Linux 中find命令与文件权限_第10张图片

------特殊

3. 让使用者修改一个档案的基本权限为何?

   可使用的指令: 例如nano或vim等

目录所需要的权限: 用户在该档案所在目录至少要有rw权限

4. 让一个使用者可以建立一个档案的基本权限为何?

目录所需权限:用户在该目录要有wx权限,

5. 让用户进入目录并执行该目录下的某个指令之基本权限为何?

目录所需权限:用户在该目录至少需要有x权限。

档案所需权限:使用者在该档案下至少需要有x权限。


让一个使用者能够进行【cp /fir1/file /dir2】的指令,请说明dir1,file1,dir2的最小所需权限为何?

・ dir1 :至少需要有 x 权限; 

・ file1:至少需要有 r 权限; 

・ dir2 :至少需要有 w, x 权限。 



你可能感兴趣的:(linux)