为什么“查找-perm u + r”找不到我的许多可读/可写文件?

时间:2019-03-30 17:34:35

标签: linux bash

我需要编写一个脚本,该脚本将浏览主目录的内容并将我有权读取的这些文件添加到$ HOME / directories.txt中 我有一个问题:

当我通过ls -l列出主目录中的文件时,我将得到以下输出:

drwxr-xr-x 2 student student 4096 mar 30 18:18 Desktop
drwxr-xr-x 2 student student 4096 paź  8 12:48 Documents
drwxr-xr-x 2 student student 4096 paź  8 12:48 Downloads
drwxr-xr-x 2 student student 4096 paź  8 12:48 Music
drwxr-xr-x 2 student student 4096 paź  8 12:48 Pictures
-rw-r--r-- 1 student student    0 mar 29 18:21 plik10
-rwxrw-r-- 1 student student  106 mar 29 18:59 plik12
-rwxrw-r-- 1 student student   94 mar 29 18:40 plik14
-rwxrw-r-- 1 student student  104 mar 29 18:56 plik16
-rwxr--r-- 1 student student   94 mar 29 18:39 plik18
-rwxr--r-- 1 student student   24 mar 29 18:26 plik2
-rw-r--r-- 1 student student 2027 mar 29 19:26 plik20
-rwxrw-r-- 1 student student  110 mar 29 19:01 plik4
-rw-r--r-- 1 student student    0 mar 29 18:39 plik6
-rw-r--r-- 1 student student    0 mar 29 18:22 plik8
drwxr-xr-x 2 student student 4096 paź  8 12:48 Public
drwxr-xr-x 2 student student 4096 paź  8 12:48 Templates
drwxr-xr-x 2 student student 4096 paź  8 12:48 Videos

所以我可以看到用户组(me)在所有这些文件中都具有rw和rwx权限。但是当我尝试通过以下方式列出这些文件时:

find $HOME -maxdepth 1 -type f -perm u+r

它没有显示。

2 个答案:

答案 0 :(得分:0)

-perm mode(在mode上没有前缀)可以找到具有完全权限的文件。因此,为了使-perm u+r匹配,文件将不需要具有 {em> u+r以外的权限。

您可能想要-perm -u+r-perm /u+r(当仅搜索单个位时,两者是等效的:第一个查找给定位为 all 的文件;第二个查找文件查找具有任意个给定位高的文件。

答案 1 :(得分:-1)

您必须在-perm u+r的开头添加破折号,以免检查完全权限:

find $HOME -maxdepth 1 -type f -perm -u+r

注意:如果一开始不使用-,它将找到您编写的具有完全权限的文件。