〜という名前のフォルダーを削除しています


30

これはの出力です 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 ~ ホームディレクトリが削除されるため、できません。

私は何をすべきか?私にとっては問題ではありませんが、ただの痛みです。


8
rm -rf入力を間違えた場合、そのような失敗の可能性のあるものを書くことは避けたいと思います。./~ディレクトリを上に移動して実行rmdir ./~してから〜ディレクトリ自体を削除する前に、フォルダに入ってその中身を削除することを検討してください。
アダムフィッシュ

回答:


58

rm -R ./~

これ~により、現在のフォルダーで検索されます。


うわー、物事をまっすぐに見る方法!称賛!
-theTuxRacer

2
この答えは正しいですが、Oliの答えの方が安全だからだと思います。このコマンドを少し間違えて入力すると、システムが永久に破壊されます。
–HDave

44

私はrm以前に愚かな間違いを犯したことがあるので、事故からデータを安全に保つために長年にわたって学んだいくつかのヒントを以下に示します。

  1. Nautilusのようなグラフィカルソリューションを使用します。ゴミ箱にソフト削除します。次に$HOME、ゴミ箱に移動していないことがわかったら(すべてがクラッシュし、ファンキーに見えるようになります)、ゴミ箱を空にします。

  2. 削除する代わりに移動します。mvたとえば、ディレクトリの名前を変更します。

    mv ./\~ ./a-nice-sensible-directory-name

    次に削除します。

  3. 疑わしい場合は-i、潜在的なfubarを処理するときにフラグを使用します。削除されたすべてのファイルについてプロンプトが表示され、何か悪いことが起こるかどうかを非常に迅速に知らせる必要があります。

    oli@bert:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?

1
GUIのカント、そのssh端末:Pについての良いアイデアmv。でrmエイリアスを作成する必要があると思いますrm -i
-theTuxRacer

7
ssh://user@ip/folderオウムガイに食い込むことができます。すべてに対して機能するわけではありません(たとえば、sudoが必要な場合)。エイリアシング-iは両刃の剣です。これは役に立ちますが、大量のファイルを実行すると非常にイライラします。考えてみてください-Iman rmその他のヒントもご覧ください。
オリ

移動のアイデアに対して+1。今、私はなぜrm(/)〜/ .Trashに移動するためのドロップイン置換がないのだろうかと思います。
-ShreevatsaR



6

もう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 {} \;

長所

  • それはあなたが持つことができるwatheverの派手な名前で動作します。
  • あるべき安全な iノード番号は一意であるため(-xdev:他のファイルシステム上のディレクトリを降りていない)とあなただけの場合には、最初の検索をテストすることができ、取り外します-exec rm -rf {} \;

短所

  • やってfind .ファイルおよび/またはディレクトリの多いディレクトリには、多くの時間、およびディスクの読み取りがかかります。

私は常にiノードに興味があり、それが可能かどうか疑問に思っていました=)
theTuxRacer

あなたの現在のファイルシステムがiノードの概念を( -そうでないもののほとんどはVFATやNTFSのようなネイティブのUnixファイルシステムではありませんけれどもていないすべてのファイルシステムのUbuntuサポートは、この概念を持っている)を持っていればもちろん、これはのみ動作します
ビリーONeal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.