“cd ~” で指定する ~ の意味は?

投稿者: user8572

VirtualBox にCentOSを入れてみました。
初めにrootでログインしたんですが、[email protected] ~となっています。~ って何だろうと思って cd .. してから ls すると以下のファイル群が並んでいます。

bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

ここには、~ が並んでいないんですが、半信半疑で試しに cd ~ とすると、また [email protected] ~ に戻ってこれます。

この ~ とは何なんでしょうか?

解決

~ とは、シェル (bash/sh/zsh) に対する引数において、ホームディレクトリとして展開してくれ、という指示を表す省略記号のようなものです。正式名称は Tilde Expansion です。プロンプトで表示される [email protected] ~ は、逆にシェルが、「今 root で localhost
にログインしていて、カレントディレクトリは ~ (つまりホームディレクトリ) だよ」ということを伝えてきています。

一般的な linux ディストリビューションにおいては、 root ユーザーのホームディレクトリは /root に設定されています。なので、

  • ~ から cd ..: カレントディレクトリがルートディレクトリ(/) になる。
  • cd ~: cd /root と等価。

bindev は、ルートディレクトリ直下のディレクトリ群です。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *