URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 67732
[ Назад ]

Исходное сообщение
"find 'тихий поиск'"

Отправлено kharitov_da , 20-Июл-06 16:25 
Подскажите пожалуйста как из под обычного пользоватлея осуществить поиск find в Solaris, исключив вывода на консоль сообщения Permission denied, тех каталогов которых он не может просмотреть. Требуеться чтоб на консоль выводилось только то что он нашёл и ничего больше.

Содержание

Сообщения в этом обсуждении
"find 'тихий поиск'"
Отправлено newser , 20-Июл-06 16:34 
>Подскажите пожалуйста как из под обычного пользоватлея осуществить поиск find в Solaris,
>исключив вывода на консоль сообщения Permission denied, тех каталогов которых он
>не может просмотреть. Требуеться чтоб на консоль выводилось только то что
>он нашёл и ничего больше.

find выводит сообщения об ошибках в stderr, следовательно нужно весь вывод stderr перенаправить в /dev/null (например) средствами shell.

Например, find ... 2>/dev/null


"find 'тихий поиск'"
Отправлено lavr , 20-Июл-06 16:39 
>Подскажите пожалуйста как из под обычного пользоватлея осуществить поиск find в Solaris,
>исключив вывода на консоль сообщения Permission denied, тех каталогов которых он
>не может просмотреть. Требуеться чтоб на консоль выводилось только то что
>он нашёл и ничего больше.

# find /path options | grep -v чего_не_хотим


"find 'тихий поиск'"
Отправлено kharitov_da , 20-Июл-06 17:08 
>>Подскажите пожалуйста как из под обычного пользоватлея осуществить поиск find в Solaris,
>>исключив вывода на консоль сообщения Permission denied, тех каталогов которых он
>>не может просмотреть. Требуеться чтоб на консоль выводилось только то что
>>он нашёл и ничего больше.
>
># find /path options | grep -v чего_не_хотим

сделал так...find / -name qwe.file | grep -v Permission denied
не помогло...всё равно летят:
find: cannot read dir /qwe: Permission denied
find: cannot read dir /qwe1: Permission denied
и так далее...есть ещё предложения?



"find 'тихий поиск'"
Отправлено kharitov_da , 20-Июл-06 19:29 
>>>Подскажите пожалуйста как из под обычного пользоватлея осуществить поиск find в Solaris,
>>>исключив вывода на консоль сообщения Permission denied, тех каталогов которых он
>>>не может просмотреть. Требуеться чтоб на консоль выводилось только то что
>>>он нашёл и ничего больше.
>>
>># find /path options | grep -v чего_не_хотим
>
>сделал так...find / -name qwe.file | grep -v Permission denied
>не помогло...всё равно летят:
>find: cannot read dir /qwe: Permission denied
>find: cannot read dir /qwe1: Permission denied
>и так далее...есть ещё предложения?

Самое главное что надо сделать...надо чтоб find не пробовал заходить в те каталоги, доступ в которые для пользоватлея, запустившего поиск, запрещён.



"find 'тихий поиск'"
Отправлено AMDmi3 , 20-Июл-06 19:34 
>сделал так...find / -name qwe.file | grep -v Permission denied
>не помогло...всё равно летят:
>find: cannot read dir /qwe: Permission denied
>find: cannot read dir /qwe1: Permission denied
>и так далее...есть ещё предложения?

Тебе уже сказали, find ... 2>/dev/null. grep фильтрует stdout find'а, а не stderr.


"find 'тихий поиск'"
Отправлено lavr , 20-Июл-06 19:39 
>>сделал так...find / -name qwe.file | grep -v Permission denied
>>не помогло...всё равно летят:
>>find: cannot read dir /qwe: Permission denied
>>find: cannot read dir /qwe1: Permission denied
>>и так далее...есть ещё предложения?
>
>Тебе уже сказали, find ... 2>/dev/null. grep фильтрует stdout find'а, а не stderr.

абсолютно верно, sorry за лажу.


"find 'тихий поиск'"
Отправлено kharitov_da , 21-Июл-06 09:33 
>>сделал так...find / -name qwe.file | grep -v Permission denied
>>не помогло...всё равно летят:
>>find: cannot read dir /qwe: Permission denied
>>find: cannot read dir /qwe1: Permission denied
>>и так далее...есть ещё предложения?
>
>Тебе уже сказали, find ... 2>/dev/null. grep фильтрует stdout find'а, а не stderr.

Большое спасибо,всё получилось...
но есть ещё маленький вопросик...
1.чем являеться цифра "2" в 2>/dev/null и почему используеться именно "2" и что другое ещё может использоваться в подобном выводе.
2. есть ли подобная опция в самой find.
Заранее спасибо за ответ.



"find 'тихий поиск'"
Отправлено Alexander Grigoriev , 21-Июл-06 11:00 
>>>сделал так...find / -name qwe.file | grep -v Permission denied
>>>не помогло...всё равно летят:
>>>find: cannot read dir /qwe: Permission denied
>>>find: cannot read dir /qwe1: Permission denied
>>>и так далее...есть ещё предложения?
>>
>>Тебе уже сказали, find ... 2>/dev/null. grep фильтрует stdout find'а, а не stderr.
>
>Большое спасибо,всё получилось...
>но есть ещё маленький вопросик...
>1.чем являеться цифра "2" в 2>/dev/null и почему используеться именно "2" и что другое ещё может использоваться в подобном выводе.
>2. есть ли подобная опция в самой find.
>Заранее спасибо за ответ.

Смотрим в /usr/include/unistd.h

#define  STDIN_FILENO   0       /* standard input file descriptor */
#define STDOUT_FILENO   1       /* standard output file descriptor */
#define STDERR_FILENO   2       /* standard error file descriptor */


"find 'тихий поиск'"
Отправлено kharitov_da , 21-Июл-06 11:15 
>>>>сделал так...find / -name qwe.file | grep -v Permission denied
>>>>не помогло...всё равно летят:
>>>>find: cannot read dir /qwe: Permission denied
>>>>find: cannot read dir /qwe1: Permission denied
>>>>и так далее...есть ещё предложения?
>>>
>>>Тебе уже сказали, find ... 2>/dev/null. grep фильтрует stdout find'а, а не stderr.
>>
>>Большое спасибо,всё получилось...
>>но есть ещё маленький вопросик...
>>1.чем являеться цифра "2" в 2>/dev/null и почему используеться именно "2" и что другое ещё может использоваться в подобном выводе.
>>2. есть ли подобная опция в самой find.
>>Заранее спасибо за ответ.
>
>Смотрим в /usr/include/unistd.h
>
>#define  STDIN_FILENO   0      
>/* standard input file descriptor */
>#define STDOUT_FILENO   1       /*
>standard output file descriptor */
>#define STDERR_FILENO   2       /*
>standard error file descriptor */

Теперь всё стало понятно...а можно ещё вопрос уже не по этой теме:
как организовать квотирование папок средствами proftpd.