私のホームディレクトリのコピーはどこから来ましたか?

私のホームディレクトリのコピーはどこから来ましたか?

私はUbuntuとgphoto2を使ってデジタルカメラを制御するプロジェクトを進めています。一度は、プロジェクトフォルダ/home/greg/project/~に新しい "~"ディレクトリを見つけました。この新しい"〜"ディレクトリに入ると(予想通り)私のホームディレクトリである/home/greg/に戻ります。

どうやってこれが起こったのかわかりませんが、コマンドラインでgphoto2を実行して出力ファイルを指定したときにファイルが私のホームディレクトリに表示されることを期待して「~/filename.jpg」と入力しましたが、代わりにbashは作業ディレクトリに新しいものです~"ディレクトリを配置します。 (実際にそのようなことが起こった場合)これが可能かどうかわからなかった。

どうやってそこに来たのかより重要なことは、私がそこから出てきた方法でした。私が知っている限り、ディレクトリを削除することはできません。はい私のホームディレクトリ。シンボリックリンクではないようですが(少なくともls -lによると)これが正確に何を意味するのかわかりません。

答え1

シェルの拡張を防ぐには、これを引用する必要があります。

ls ~    # list your home directory
ls "~"  # list the directory named ~
ls \~   # list the directory named ~

rmrmdirなどと同じです。~引用またはエスケープしない限り、シェルはそれをコマンドに渡す前にに変更します。/home/greg以下で見ることができますecho

anthony@Zia:~$ echo ~
/home/anthony
anthony@Zia:~$ echo \~
~

rm -Rf ~災害になるので注意してください。疑わしい場合は、まず名前を変更することをお勧めします()。削除したいことを確認してから削除mv -i \~ newnameできます。newname

関連情報