find не работает с моей переменной

Насколько я могу судить, это ошибка: системный звуковой сигнал в Кармике, несмотря на героические усилия по его исправлению.

1
задан 16 October 2013 в 19:23

1 ответ

Это происходит потому, что, вероятно, у вас нет прав на чтение в чужой директории. Если у вас нет прав на чтение, вы не можете просматривать / искать / находить какой-либо контент. Вы можете проверить это с помощью следующей команды:

ls -l /home/username/directory

Также убедитесь, что те файлы или каталоги, для которых вы выполняете поиск, являются действительно файлами или каталогами (первый символ из 10 символов с строкой символов - - или [ f5], а не что-то еще - l в вашем случае, что означает символические ссылки).

ls показывает разрешения в виде 10-символьной строки, например -rw-r--r--. Символы могут быть интерпретированы как TUUUGGGOOO, где:
T Type
UUU   Rights for the owner of the file
GGG   Rights for users in the group
OOO   Rights for others, not listed above
T является одним из:
- file
d directory
c character device
b block device
l symbolic link

Источник: введение в права доступа к файлам Unix

Кроме того, когда вы используете: [ ! d9] find -type d - вы ищете только для каталогов. find -type f - вы выполняете поиск только для обычных файлов.

1
ответ дан 24 May 2018 в 16:46
  • 1
    У меня есть разрешение на чтение в этом каталоге, я могу использовать grep на нем (что, я полагаю, подразумевает, что я это делаю), и на самом деле с помощью ls -l на нем было возвращено rwxrwxrwx – turbo 16 October 2013 в 20:11
  • 2
    @turbo И для файлов / папок внутри этого каталога у вас есть разрешения на чтение? Вы можете что-то увидеть, если вы там перейдете? – Radu Rădeanu 16 October 2013 в 20:12
  • 3
    В каталоге имеется около 200 каталогов, и все они установлены в rwxr-x-r-x, и в каждом каталоге есть несколько файлов, я проверил несколько, и все они r--r--r--. – turbo 16 October 2013 в 20:14
  • 4
    @turbo Тогда вы должны поговорить с этим пользователем. Возможно, он установил другое специальное разрешение на свои файлы. Я уверен, что есть проблема с разрешениями. Каков результат этой команды: ls -alR /home/username >/dev/null? – Radu Rădeanu 16 October 2013 в 21:43
  • 5
    @turbo Когда вы говорите, что ls -l вернулся rwxrwxrwx, был ли перед ним d? Вместо этого попробуйте ls -dl ./your/directory. – ladaghini 16 October 2013 в 22:04

Другие вопросы по тегам:

Похожие вопросы: