ファイルパスで〜はどういう意味ですか?


43

~絶対ファイルパスではどういう意味ですか?

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


25
どのオペレーティングシステムですか?
ChrisF

Windows はデフォルトのダイスロールではありませんか?
Pacerier

回答:


35

通常、これはユーザーのホームディレクトリを意味します。たとえば~mike/、ユーザーmikeのホームディレクトリ、~/自分のホームディレクトリなどです。しかし、それはかどうか私には不明である~/~mike/絶対的または相対的な考慮すべきです。それは与えられた定義に依存しているようです(誰かが正式なリファレンスを思い付くことができるなら、コメントを投稿してください)。

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

http://en.wikipedia.org/wiki/Home_directory#Unixを参照してください


3
これらは絶対パスの同義語であるため、絶対パスです。UNIXでは、絶対パスは/etc/loginファイルの内容から推測できます。拡張は伝統的にシェルによって行われますが、「スクリプト」であると偽装している言語はすべてこれも行います。
チャールズ・スチュワート

2
+1:知らなかった~username/
ワッファー

2
興味深いことに、Windows PowerShell ~は、ユーザーのホームディレクトリの同義語としても受け入れます。
ジョーイ

1
ジェフリーSnoverは、PowerShellは、もともとVIM /のEMACの周りに基づいていたと述べている
匿名型

1
@Charles Stewartは、ユーザーコンテキストに依存するため、少なくとも〜/はおそらく相対的です。また、一部のリファレンスでは、絶対パスをファイルシステムのルートから指定されたものとして定義していますが、これらは明らかにそうではありません。あなたの声明の参照がある場合は、共有してください!
エイドリアンムアット

21

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


2
ビルドスクリプトのコンテキストでは、おそらくUnix中心のバージョンです。
チャールズスチュワート

2
Unixパスは通常、バックスラッシュではなくスラッシュを使用します。
トーベンGundtofte・ブルーン

@ torbengb、true ... opps-
エラン

1
Xenoroseの優れた答えに対する小さな修正。「progra〜1」などのファイル名は、古いOS用ではありません。私のWindows 7システムはまだそれらを使用しています。(dir / xを参照してください。)これは、最新のシステムの長いファイル名を知らない古いソフトウェアをサポートするレガシー機能です。古いソフトウェアは、すべてのファイル名が8.3規則に従うと考えています。ファイル名がこの規則で機能しない場合、ファイルシステムは8.3互換の2番目の名前を自動的に作成します。
アイザックラビノビッチ


5

また、ASP.NETプログラミングを行う場合は、Webサイトの最上位を意味します。../../images/some_image.jpgを使用してナビゲートする(ネストレベルが間違っている!)のではなく、単に〜/ images / some_image.jpgと言うことができます。


2
/images/some_image.jpg任意のWebサイトのルートに移動する必要があります。チルダはASP.NETでどのような追加機能を提供しますか?
ソニー

7
〜は、仮想ディレクトリを使用している場合、Webサイトのルートとは異なるWebアプリケーションのルートに移動します。あなたのウェブサイトは、仮想ディレクトリmyappの中でmyserverの上にインストールされている場合、〜/画像/ myimage.jpgはに解決されますMYSERVER / myappの/画像/ myimage.jpgmsdn.microsoft.com/en-us/library/ms178116.aspxを参照してください
MCS

1

これをよりよく理解するのに役立つヒントがいくつかあります。

$ readlink -f ~

$ echo $HOME

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


「readlink」は、内部コマンドまたは外部コマンドとして認識されません。
Pacerier

@vtestの理由は、このコメントの例がWindowsではなくUNIXベースのシステム用であるためです。

-1

Windowsの詳細:

  1. 隠しファイル名が「〜」で始まる場合、Windowsエクスプローラはそれをシステムの隠しファイルとして処理します。詳細については、先頭にチルダが付いた隠しファイルなぜ隠されているのですか?

  2. 短いファイル/ディレクトリ名に「〜」が含まれる場合(「c:\ ololoo〜1」など)、このファイル/ディレクトリの対応する長い名前が最大長(MAX_PATH = 260)を超える可能性があります。開発者は、「\\?\」プレフィックスを使用してこれを回避する必要があります(新しいWindows 10でも、LongPathsEnabledレジストリパラメータまたは「NTFSロングパスを有効にする」グループポリシーで「> 260」ロングパスサポートを無効にできるため)。C#を使用したこの回避策の例は、ZetaLongPathsライブラリソースにあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.