[編集] 以下の私の質問を読んで時間を無駄にしないでください。私の同僚はバカだったようです。:)
私のサーバーでは、通常の を使用してフォルダーとそのすべてのサブフォルダーを削除しようとしていますrm -rf dirname
が、何も表示されずに失敗します。
kramer65@vps1:~$ ls -l
total 24
drwxrwxr-x 2 kramer65 kramer65 4096 Jul 11 22:00 backups
drwxrwxr-x 2 kramer65 kramer65 4096 Jul 17 17:37 bin
drwxrwxr-x 3 kramer65 kramer65 4096 Sep 1 11:11 cxs
kramer65@vps1:~$ rm -rf cxs/
kramer65@vps1:~$ ls
backups bin cxs
kramer65@vps1:~$ sudo rm -rf cxs/
kramer65@vps1:~$ ls
backups bin cxs
kramer65@vps1:~$ rmdir cxs/
rmdir: failed to remove ‘cxs/’: Directory not empty
ディレクトリのすべての内容を削除してみました:
kramer65@vps1:~$ cd cxs
kramer65@vps1:~/cxs$ ls
app README.md
kramer65@vps1:~/cxs$ rm -rf *
kramer65@vps1:~/cxs$ ls
app README.md
kramer65@vps1:~/cxs$ sudo rm -rf *
kramer65@vps1:~/cxs$ ls
app README.md
コマンドが失敗しても構いません。何が間違っているのか教えてくれれば良いのですが。ここで私が何を間違っているのか、何か分かりますか? ヒントがあれば何でも歓迎します!
[編集] 次のことを試しました(これも効果なし)。
kramer65@vps1:~$ sudo rm -vrf cxs/*
removed ‘cxs/app/static/img/face1.jpg’
removed ‘cxs/app/static/img/face2.jpg’
removed ‘cxs/app/static/img/face3.jpg’
[etc.etc.]
removed directory: ‘cxs/app’
removed ‘cxs/README.md’
kramer65@vps1:~$ ls cxs/
app README.md
kramer65@vps1:~$
[編集2] 同僚が rsync を実行していて、そのフォルダのファイルを常に書き換えていたことが判明しました。そのため、ファイルは削除されましたが、自動的に再作成もされました。(私はここで頭を悩ませています!)
答え1
以下を試してください
rm -rf /the/full/dir
答え2
ファイルの拡張属性を確認します。
lsattr -R /cxs
いずれかにi
属性が設定されている場合は不変であり、削除できません。
次のように不変属性を削除します。
chattr -i <path to file/directory>
その後、もう一度削除してみてください。
不変属性が設定されたファイルを削除しようとすると、通常は何も表示されずに失敗するのではなく、「操作は許可されていません」というエラーが表示されることに注意してください。