web-dev-qa-db-ja.com

〜はファイルパスで何を意味しますか?

絶対ファイルパスでの~の意味は?

ビルドスクリプトなどの出力にこれが表示されますが、パスが存在しません。

43
blade34r

通常、これはユーザーのホームディレクトリを意味します。 ~mike/は、ユーザーmikeのホームディレクトリ、~/は、独自のホームディレクトリになります。ただし、~/および~mike/は、絶対的または相対的であると見なされます。与えられた定義に依存しているようです(信頼できる参照を思い付くことができる場合は、コメントを投稿してください)。

ここではUnixベースのシステムについて話していることに注意してください。

参照 http://en.wikipedia.org/wiki/Home_directory#Unix

35
Adrian Mouat

実際、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」はホームディレクトリです。

21
Eran

多くのファイルシステムでは、ファイル名の各コンポーネント内に、8.3命名規則に準拠するには長すぎるチルダ(〜)が含まれます。

ソース: ファイル、パス、および名前空間の命名-短い名前と長い名前-MSDN

(ページの途中で...)

12
studiohack

ASP.NETプログラミングを行う場合、それはWebサイトのトップレベルを意味します。 ../../images/some_image.jpgを使用して移動するのではなく(ネストレベルが間違っている!)、単に〜/ images/some_image.jpgと言うだけです。

5
noonand

これを理解するのに役立ついくつかのヒントを次に示します。

$ readlink -f ~

$ echo $HOME

注意: $は、ユーザーコマンドラインプロンプトを指定するための規則であり、コマンドの一部ではありません。

1
vtest