これはls -l
の出力です
ls -l
total 53484
drwxr-xr-x 3 root root 4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root 384035 2011-02-15 05:33 jobsLog.out
ホームディレクトリが削除されるため、rm -rf ~
を実行できません。
私は何をすべきか?私にとっては問題ではありませんが、ただの痛みです。
rm -R ./~
これにより、現在のフォルダーで~
が検索されます。
以前にrm
で愚かな間違いを犯したことがあるので、事故からデータを安全に保つために長年にわたって学んだいくつかのヒントを以下に示します。
Nautilusのようなグラフィカルソリューションを使用します。ゴミ箱にソフト削除します。その後、$HOME
をゴミ箱に移動していないことがわかったら(すべてがクラッシュしてファンキーに見えるようになります)、ゴミ箱を空にします。
削除する代わりに移動します。ディレクトリの名前をmv
で変更します。例:
mv ./\~ ./a-Nice-sensible-directory-name
次に削除します。
疑わしい場合は、潜在的なfubarを処理するときに-i
フラグを使用してください。削除されたすべてのファイルについてプロンプトが表示され、何か悪いことが起こるかどうかを非常に迅速に知らせる必要があります。
oli@bert:~/Desktop$ rm -rfi ./del/
rm: descend into directory `./del'? y
rm: remove regular file `./del/output2.pdf'?
フォルダー名を単純にアポストロフィにまとめることができます。
rm '~'
もう1つのもう少し複雑な方法は、iノード番号を使用することです。
$ ls -li
total 24
7146369 drwxr-xr-x 4 user staff 136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;
長所
-xdev
:他のファイルシステムのディレクトリを下ってはいけない)、念のため-exec rm -rf {} \;
を削除して最初に検索をテストできます。短所
find .
を実行するには、多くの時間がかかり、ディスクの読み取りに時間がかかります。