find - каким ключом отключить сообщения "Отказано в доступе"?

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

pavelvat
Сообщения: 64
ОС: Arch Linux i686

find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение pavelvat »

Код: Выделить всё

[user@myhost ~]$ find / -name "*http_cache_*"
find: `/proc/tty/driver': Отказано в доступе
find: `/proc/1/task/1/fd': Отказано в доступе
find: `/proc/1/task/1/fdinfo': Отказано в доступе
find: `/proc/1/fd': Отказано в доступе
find: `/proc/1/fdinfo': Отказано в доступе
find: `/proc/2/task/2/fd': Отказано в доступе
.
.
.
/usr/share/kde4/services/http_cache_cleaner.desktop
.
.
.
find: `/usr/lib/mozilla/extensions': Отказано в доступе
.
.
.
/usr/lib/kde4/libexec/kio_http_cache_cleaner
/usr/lib/libkdeinit4_kio_http_cache_cleaner.so
find: `/lost+found': Отказано в доступе
find: `/boot/lost+found': Отказано в доступе
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение eddy »

2 > /dev/null ?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
pavelvat
Сообщения: 64
ОС: Arch Linux i686

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение pavelvat »

eddy писал(а):
02.02.2010 00:39
2 > /dev/null ?

Спасибо.
Но у этого способа есть недостаток - убираются все сообщения об ошибках, а нужно только не замусоривать вывод сообщениями о директориях к которым нет доступа. Я подумал, что разработчики find предусмотрели такую возможность, но беглый просмотр

Код: Выделить всё

man find
результатов не принёс.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение eddy »

-ignore_readdir_race
плохо маны курите :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
pavelvat
Сообщения: 64
ОС: Arch Linux i686

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение pavelvat »

eddy писал(а):
02.02.2010 01:08
-ignore_readdir_race
плохо маны курите :)

Именно этот ключ я и пробовал, он не отключает эти сообщения.
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение flank'er »

Код: Выделить всё

find путь  2>&1|grep  -v "Отказано в доступе"
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение drBatty »

wilgib писал(а):
02.02.2010 01:04
2 > /dev/null ?

Спасибо.
Но у этого способа есть недостаток - убираются все сообщения об ошибках, а нужно только не замусоривать вывод сообщениями о директориях к которым нет доступа. Я подумал, что разработчики find предусмотрели такую возможность, но беглый просмотр

как-бы это сообщение об ошибке, как его можно убрать? Я-бы тоже не стал так делать.
Впрочем лекарство есть:
запустите find с ключём -type d и проверяйте второй find только в директориях в которых у вас есть доступ. Впрочем, проще отфильтровать эти сообщения, как сказано в прошлом посте.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
pavelvat
Сообщения: 64
ОС: Arch Linux i686

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение pavelvat »

flank'er писал(а):
02.02.2010 07:09

Код: Выделить всё

find путь  2>&1|grep  -v "Отказано в доступе"



drBatty писал(а):
02.02.2010 09:52
wilgib писал(а):
02.02.2010 01:04
2 > /dev/null ?

Спасибо.
Но у этого способа есть недостаток - убираются все сообщения об ошибках, а нужно только не замусоривать вывод сообщениями о директориях к которым нет доступа. Я подумал, что разработчики find предусмотрели такую возможность, но беглый просмотр

как-бы это сообщение об ошибке, как его можно убрать? Я-бы тоже не стал так делать.
Впрочем лекарство есть:
запустите find с ключём -type d и проверяйте второй find только в директориях в которых у вас есть доступ. Впрочем, проще отфильтровать эти сообщения, как сказано в прошлом посте.


Пожалуй, способ указанный flank'er наиболее простой, но и у него есть недостаток - если локаль произвольная.
Всё же интересно, можно ли добиться желаемого только средствами команды find, без организации конвеера?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение drBatty »

wilgib писал(а):
03.02.2010 12:23
если локаль произвольная.

Код: Выделить всё

drb@localhost:~$ ( LANG=C; find /etc -name "XXX" )
find: /etc/cups/ssl: Permission denied
find: /etc/samba/private: Permission denied
find: /etc/openvpn/certs: Permission denied
find: /etc/openvpn/keys: Permission denied
find: /etc/bluetooth/passkeys: Permission denied
drb@localhost:~$ find /etc -name "XXX"
find: /etc/cups/ssl: Отказано в доступе
find: /etc/samba/private: Отказано в доступе
find: /etc/openvpn/certs: Отказано в доступе
find: /etc/openvpn/keys: Отказано в доступе
find: /etc/bluetooth/passkeys: Отказано в доступе

wilgib писал(а):
03.02.2010 12:23
Всё же интересно, можно ли добиться желаемого только средствами команды find, без организации конвеера?

ИМХО нет, разве что использовать -perm, -uid, что-бы не лазать в закрытые папки.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
pavelvat
Сообщения: 64
ОС: Arch Linux i686

Re: find - каким ключом отключить сообщения "Отказано в доступе"?

Сообщение pavelvat »

drBatty писал(а):
03.02.2010 12:46
wilgib писал(а):
03.02.2010 12:23
если локаль произвольная.

Код: Выделить всё

drb@localhost:~$ ( LANG=C; find /etc -name "XXX" )
find: /etc/cups/ssl: Permission denied
find: /etc/samba/private: Permission denied
find: /etc/openvpn/certs: Permission denied
find: /etc/openvpn/keys: Permission denied
find: /etc/bluetooth/passkeys: Permission denied
drb@localhost:~$ find /etc -name "XXX"
find: /etc/cups/ssl: Отказано в доступе
find: /etc/samba/private: Отказано в доступе
find: /etc/openvpn/certs: Отказано в доступе
find: /etc/openvpn/keys: Отказано в доступе
find: /etc/bluetooth/passkeys: Отказано в доступе

Действительно, LANG=C решает проблему с произвольной локалью.
Спасибо сказали: