1. ホームディレクトリを指すショートカット
~
は シェル(bash など)によって展開されて、現在のユーザーのホームディレクトリのパスに置き換わります。- たとえばユーザー
alice
のホームが/home/alice
なら、~/Documents
は/home/alice/Documents
と同じ意味になります。
2. 別のユーザーのホーム参照
~bob
のように書くと、ユーザーbob
のホームディレクトリに展開されます。- ただし、この書き方は、
~moretext
のようにユーザー名として解釈できない場合には展開されず、そのまま文字列扱いになります。
3. 環境変数 $HOME と同義
~
は$HOME
を簡略化した表現で、同様にホームディレクトリを指します。cd ~ cd $HOME
どちらも同じ効果です。
補足:実用上の注意点
- 引用符(”
"
や'
)で囲むと、~
は展開されず、文字として扱われることがあります。一部のスクリプトでは$HOME
を使った方が安全です。 - ユーザー名付きの
~bob/dir
は、そのユーザーがシステムに存在しない場合は展開されずそのまま残ります。
まとめ
表記 | 解釈・意味 |
---|---|
~ | 現在ログイン中ユーザーのホームディレクトリ ($HOME ) |
~/path | ホームディレクトリからの相対パス |
~username/dir | 指定したユーザーのホームディレクトリ |
"$HOME" | ~ と同じだが引用による展開の違いあり |
コメント