Я практикую команду unix find
на основе разрешений. Это какая ls -al
на моей практике Dir выглядит следующим образом:Результаты трубопровода Linux находят, что ls показывает противоречивый результат
[[email protected] ~]$ ls -al
total 44
drwx------. 8 tom tom 4096 Dec 13 09:08 .
drwxr-xr-x. 7 root root 63 Nov 5 16:38 ..
-rw-------. 1 tom tom 9547 Dec 15 08:16 .bash_history
-rw-r--r--. 1 tom tom 18 Oct 26 00:36 .bash_logout
-rw-r--r--. 1 tom tom 193 Oct 26 00:36 .bash_profile
-rw-r--r--. 1 tom tom 231 Oct 26 00:36 .bashrc
drwxrwxr-x. 2 tom tom 21 Dec 12 22:14 chattrdir
-rw-rw-r--. 1 tom tom 0 Dec 13 09:03 file1
-rw-rw-r--. 1 tom tom 0 Dec 13 09:03 file2
drwxr-xr-x. 2 tom tom 4096 Dec 11 14:36 fileext
-rw-------. 1 tom tom 164 Dec 14 09:25 .lesshst
drwxr-xr-x. 4 tom tom 37 Dec 20 2015 .mozilla
drwxrw----. 3 tom tom 18 Dec 8 20:20 .pki
drwx------. 2 tom tom 24 Nov 7 09:51 .ssh
-rw-------. 1 tom tom 3639 Dec 8 20:56 .viminfo
drwxrwxr-x. 2 tom tom 4096 Dec 8 21:26 wildcard
Я делаю команду поиска, чтобы поиск на основе разрешений:
[[email protected] ~]$ find . -maxdepth 1 -perm /004
./.bash_logout
./.bash_profile
./.bashrc
./.mozilla
./chattrdir
./file1
./file2
./fileext
./wildcard
Далее, чтобы увидеть, если это действительно только файлы, которые имеют разрешение на чтение бит установлен для «других», я труба вывода в ls
:
[[email protected] ~]$ find . -maxdepth 1 -perm /o+r | ls -al
total 44
drwx------. 8 tom tom 4096 Dec 13 09:08 .
drwxr-xr-x. 7 root root 63 Nov 5 16:38 ..
-rw-------. 1 tom tom 9584 Dec 15 08:23 .bash_history
-rw-r--r--. 1 tom tom 18 Oct 26 00:36 .bash_logout
-rw-r--r--. 1 tom tom 193 Oct 26 00:36 .bash_profile
-rw-r--r--. 1 tom tom 231 Oct 26 00:36 .bashrc
drwxrwxr-x. 2 tom tom 21 Dec 12 22:14 chattrdir
-rw-rw-r--. 1 tom tom 0 Dec 13 09:03 file1
-rw-rw-r--. 1 tom tom 0 Dec 13 09:03 file2
drwxr-xr-x. 2 tom tom 4096 Dec 11 14:36 fileext
-rw-------. 1 tom tom 164 Dec 14 09:25 .lesshst
drwxr-xr-x. 4 tom tom 37 Dec 20 2015 .mozilla
drwxrw----. 3 tom tom 18 Dec 8 20:20 .pki
drwx------. 2 tom tom 24 Nov 7 09:51 .ssh
-rw-------. 1 tom tom 3639 Dec 8 20:56 .viminfo
drwxrwxr-x. 2 tom tom 4096 Dec 8 21:26 wildcard
Вы видите, что следующие файлы сделать не имеют разрешения на чтение набор для других, даже если я хочу только файлы, которые действительно имеют разрешения установлена битое чтение для других:
-rw-------. 1 tom tom 9584 Dec 15 08:23 .bash_history
rw-------. 1 tom tom 164 Dec 14 09:25 .lesshst
drwxrw----. 3 tom tom 18 Dec 8 20:20 .pki
drwx------. 2 tom tom 24 Nov 7 09:51 .ssh
-rw-------. 1 tom tom 3639 Dec 8 20:56 .viminfo
Как можно эти файлы приходят в выводе? Я обрабатываю только файлы, которые можно прочитать в соответствии с моим поиском поиска, в команду ls
и ls
показывает, что они не читаются.
Спасибо! Приятно дать дополнительную информацию о опции -exec, чтобы получить то, что я хочу. – Tom
Добро пожаловать – hek2mgl