私たち全員が知っているように、Linuxでは次の方法でファイルやディレクトリを検索できます。
find / -name theName
ただし、以下のようにすべてのファイルとディレクトリが表示され、権限が拒否されました。
...
find: /Library/Caches/com.apple.iconservices.store: Permission denied
/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django
/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django/forms/jinja2/django
/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django/forms/templates/django
find: /Library/SystemMigration/History/Migration-389D835B-414A-4D8D-A683-7407624E87E8/QuarantineRoot/System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
find: /private/etc/cups/certs: Permission denied
find: /private/var/agentx: Permission denied
...
コマンドで見つかったディレクトリのみを表示するにはどうすればよいですか?
ベストアンサー1
使用する必要があります
find / -type d -name theName
名前付きディレクトリのみを探しますtheName
。そうでない場合は、-type d
ディレクトリではなく通常のファイル、ソケット、名前付きパイプなどの名前をテストすることもできます。
そのディレクトリに入るのに十分な権限がないため、同じ「権限の拒否」エラーが発生します。
エラーを無視するには、2>/dev/null
コマンドの最後に追加します。その後、エラーストリームは次にリダイレクトされます/dev/null
(削除されます)。
ルートはユーザーがアクセスできないディレクトリにアクセスできるため、アクセス権があれば試してみることができますsudo
。
sudo find / -type d -name theName
これにより、find
root ユーザーとしてコマンドが実行されます。