対処 UNIX ディレクトリのチルダ文字(~)

対処 UNIX ディレクトリのチルダ文字(~)

私はUNIX環境で作業していますが、私の作業ディレクトリ(UNIXホームディレクトリから離れています)に~

一度はrm -rf ~、作業ディレクトリでこれを実行した後、ホームディレクトリが完全に削除され、IT部門に助けを求めたことがあります。

私はこれ以上やりたくありません。その間、次のことを知りたいです。

  1. ~私の作業ディレクトリに作成されるのはなぜですか?保存して指が滑りましたか? (:w!ところで何が起こったのでしょうか:w~?!)

  2. p4がチェックインする前に知らない追加のファイルやフォルダを探すスクリプトがあるため、これが~問題を引き起こす可能性があります。~ホームディレクトリを削除せずに作業ディレクトリからどのように削除しますか?

del代わりに使用するbackupというバックアップコマンドがありますrm -rf。これは一時的な場所に保存するだけです。使用して削除することもできますが~、なぜこのようなことが起こるのか、どのように削除するのか知りたいのがもっと気になります。

ベストアンサー1

次のいずれかを引用してください。

rm -i '~'
rm -i "~"
rm -i \~

または、デフォルト名だけでなくパスとしても参照してください。

rm -i ./~
rm -i /path/to/~

SOME$PATHこれは面白いように見える文字名ですが、概念的には次のようなファイルを作成した場合と変わりません。

touch 'SOME$PATH'

以下を実行して削除してみてください。

rm -i SOME$PATH

警告:変数 SOME$PATH 例示目的のため、ここでは引用しなかった。通常は引用符で囲みます。 'SOME$PATH' )

どちらの場合も、シェルはユーザーが指定した名前を拡張するため、これが発生しないようにする必要があります。

また:ファイルを削除するために使用しないでくださいrm -rf!その目的は、ディレクトリが削除される可能性があることをrm -r知らせることです。rmファイルを削除しようとしたときに誤ってディレクトリ全体を削除したくない場合は、習慣的に渡さないでください-r

おすすめ記事