絶対ファイルパスでの~
の意味は?
ビルドスクリプトなどの出力にこれが表示されますが、パスが存在しません。
通常、これはユーザーのホームディレクトリを意味します。 ~mike/
は、ユーザーmike
のホームディレクトリ、~/
は、独自のホームディレクトリになります。ただし、~/
および~mike/
は、絶対的または相対的であると見なされます。与えられた定義に依存しているようです(信頼できる参照を思い付くことができる場合は、コメントを投稿してください)。
ここではUnixベースのシステムについて話していることに注意してください。
実際、Adrian Mouatとstudiohackの答えはどちらも真実です。
命名規則が限定されたオペレーティングシステム(古いバージョンのWindows/DOSなど)では、長い名前を意味します。
e.g. "c:\program files\" is equivalent to "c:\progra~1\"
一部のオペレーティングシステム(UNIX)では、home-dirを意味します(絶対パスと見なされることもありますが、正規パスとは見なされません)。e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
*ここで、「usr」はホームディレクトリです。
多くのファイルシステムでは、ファイル名の各コンポーネント内に、8.3命名規則に準拠するには長すぎるチルダ(〜)が含まれます。
ソース: ファイル、パス、および名前空間の命名-短い名前と長い名前-MSDN
(ページの途中で...)
ASP.NETプログラミングを行う場合、それはWebサイトのトップレベルを意味します。 ../../images/some_image.jpgを使用して移動するのではなく(ネストレベルが間違っている!)、単に〜/ images/some_image.jpgと言うだけです。
これを理解するのに役立ついくつかのヒントを次に示します。
$ readlink -f ~
$ echo $HOME
注意: $
は、ユーザーコマンドラインプロンプトを指定するための規則であり、コマンドの一部ではありません。