web-dev-qa-db-ja.com

チルダ(〜)フォルダーを削除する方法

ホームディレクトリの「〜」フォルダを削除する必要があります。

rm -R ~は悪い選択です。

安全に使用できますかrm -R "~"

7
Adam Thompson

理論的にはそうです。実際には通常はい。奇妙なことをするシェルスクリプトまたはエイリアスを呼び出している場合、おそらくそうではありません。

echoを使用して、シェルによって特定のコマンドがどのように展開されるかを確認できます。

$ echo rm -R ~
rm -R /home/frostschutz
$ echo rm -R "~"
rm -R ~

echo""を削除するため、印刷したものをコピーアンドペーストしないでください。 "~"を指定した場合、コマンドは文字どおり~を認識し、拡張された/home/frostschutzパスを認識しないことを示しています。

コマンドに疑問がある場合は、それがうまくいかなくても致命的でないものから始めてみませんか?あなたの場合、あなたはそれを完全に削除する代わりに名前を変更することから始めることができます。

$ mv "~" delete-me
$ ls delete-me
# if everything is in order
$ rm -R delete-me

通常は存在するべきではないファイル名(~および~またはで始まる他の名前、または改行を含むなど)を混乱させるには、申し訳ありませんが、安全であることが望ましいです。

また、タブ補完(タイプls ~<TAB><TAB><TAB>)の使用も検討してください。ほとんどのシェルは、最善を尽くして対処します。これは、通常のファイル名の誤入力を防ぐのにも役立ちます。

14
frostschutz

Kalvin Leeが述べたように、ディレクトリにcdしてその内容を削除してから、rmdirを使用してディレクトリを削除できます。 rm -Rのアプローチよりもこの方法をお勧めします。コマンドをファットフィンガーしてホームディレクトリを吹き飛ばす可能性が低くなるためです。

通常、シェルに展開させたくないものは一重引用符で囲むことができます。これにより、~という名前の空のディレクトリが削除されます。

rmdir '~'
5
Andy Dalton

Frostschutzの二重引用符の方法、およびAndyの単純な引用符の方法に加えて、短いものもあります。

rm -r \~

と相対パス1:

rm -rf ./~
5
jlliagre

私はこれがすでに回答されていることを知っていますが、私は常にmc-Midnight Commanderを使用して、削除しようとするのが怖すぎる厄介なファイルを削除します。これは、削除するファイルを単に強調表示して削除する「GUI」のようなインターフェースです。

1