web-dev-qa-db-ja.com

検索コマンドの実行を許可しません

私はこのコマンドを実行しています:

cleber@ubuntux:~$ find . -name "*log*" -name "*2016*"
./log-2016-05-04.txt
./log-2016-05-03.txt
./log-2016-05-08.txt
./log-2016-05-02.txt
./log-2016-05-05.txt
find: ‘./.cache/dconf’: Permission denied
./log-2016-05-01.txt
./log-2016-05-06.txt
./log-2016-05-09.txt
./log-2016-05-07.txt
./log-2016-05-10.txt
find: ‘./.dbus’: Permission denied

「Permission denied」エラーが表示されるのはなぜですか? /home/cleberのすべての許可設定が正しく設定されています。誰か助けてくれますか?ありがとうございました。

3
Cleber Holanda

ホームディレクトリに不適切な所有者(またはアクセス許可)を持つフォルダーがあるようです。

Permission denied警告は、findが特定のフォルダーを検索できなかったことを意味します。明らかに、そのコンテンツをリストする権限がないためです。

ホームディレクトリで最も可能性の高い原因は、ファイルの所有権を台無しにするSudoを使用してGUIアプリケーションを実行していたことです。これを修正し、ホームディレクトリ内のすべてのファイルの所有者に戻すには、次を実行します。

Sudo chown -R $USER ~

それ以外の場合、すべての権限と所有権が正しいことを確認し、何も変更したくない場合は、findコマンドに/dev/nullにSTDERRリダイレクトを追加することで、出力から警告を非表示にすることもできます。

find . -name "*log*" -name "*2016*" 2> /dev/null
4
Byte Commander