自分のアカウントがアクセスできないディレクトリ(アプリケーションで使用され、アプリケーションを実行しているアカウントが所有するキャッシュディレクトリ)を空にする必要があります。私のアカウントにはフルsudo
権限がありますが(私の考えでは)そうではありません。そのディレクトリの内容を削除する方法がわかりません。私のアカウントはcd
ディレクトリに入ることができず、親ディレクトリにのみ入ることができます。
sudo rm directory/*
答える
cannot remove `directory/*': no such file or directory
簡単な答えが必要な質問のようですが、見つかりません。
編集する:問題のディレクトリは間違いなく空ではありません。
sudo ls directory/
1000を超えるファイル名が返されました。
答え1
シェルが*
ファイルのリストに展開しようとしているため、問題が発生しますが、ディレクトリを読み取る権限がないため、拡張できません。
私は2つのことを考えることができます。
sudo bash -c "rm directory/*"
この場合、*はユーザーが拡張するのではなく、ディレクトリを読み取ることができるルートによって拡張されます。
または
sudo find directory -type f -exec rm {} \;
上記のコマンドは、ディレクトリ以外のファイルのみを削除します(それ以外の場合はdirectory
内容とともに削除されます)、エラーが発生する可能性が低くなります。
編集:最初のオプションでは、誤ってディレクトリ/ *の代わりにディレクトリ。*を書きました。
答え2
どのタスクを実行するときにsudo rm
明示的なパスを使用しない場合は、実行しているタスクについて慎重に考えてください。
sudo rm /explicit/path/to/directory/*
動作する必要があります。 ; にファイルがない場合は、directory
エラーが発生します。使用できますrm -f
(いいえ rm -fr
そうでなければ完全に何をしているのか決めてください)。