26881


「/var」 ディレクトリについて教えてください。  
現在、「/home/vagrant」 にいまして、そこで「ls -la」を実行しても「var」 ディレクトリは存在しない(表示されない)のですが、「cd
/var」とコマンドを実行すると、 「var」 ディレクトリに移動することができます。  
なぜ、「/home/vagrant」にいるときに、「ls -la」を実行しても「var」 ディレクトリは存在しない(表示されない)のに、「cd
/var」とコマンドを実行すると、 「var」 ディレクトリに移動することができるのでしょうか？  
また、「/var」 ディレクトリはどこに存在しているのでしょうか？  
ご教示の程、何卒宜しくお願いします。

**・「var」ディレクトリは存在しない(表示されない)**

[code]

    vagrant@vagrant-ubuntu-trusty:~$ pwd
    /home/vagrant
    vagrant@vagrant-ubuntu-trusty:~$ ls -la
    total 60
    drwxr-xr-x  9 vagrant vagrant 4096 May 15 15:39 .
    drwxr-xr-x  3 root    root    4096 Jul 21  2015 ..
    -rw-------  1 vagrant vagrant  821 Jun 11 04:10 .bash_history
    -rw-r--r--  1 vagrant vagrant  220 Jul 21  2015 .bash_logout
    -rw-r--r--  1 vagrant vagrant 3829 May 15 15:09 .bashrc
    drwxrwxr-x  3 vagrant vagrant 4096 May 15 15:19 .bundle
    drwx------  2 vagrant vagrant 4096 May 15 13:23 .cache
    drwxrwxr-x  3 vagrant vagrant 4096 May 15 14:28 .gem
    -rw-r--r--  1 vagrant vagrant  675 Jul 21  2015 .profile
    drwxrwxr-x 12 vagrant vagrant 4096 May 15 14:15 .rbenv
    drwx------  2 vagrant vagrant 4096 May 15 13:23 .ssh
    drwxrwxr-x  3 vagrant vagrant 4096 May 15 15:29 .vim
    -rw-------  1 vagrant vagrant  696 May 15 15:39 .viminfo
    -rw-rw-r--  1 vagrant vagrant  402 May 15 15:37 .vimrc
    vagrant@vagrant-ubuntu-trusty:~$ 
    
[/code]

**・「var」ディレクトリに移動できる**

[code]

    vagrant@vagrant-ubuntu-trusty:~$ pwd
    /home/vagrant
    vagrant@vagrant-ubuntu-trusty:~$ cd /var
    vagrant@vagrant-ubuntu-trusty:/var$ ls -la
    total 44
    drwxr-xr-x 11 root root   4096 Jul 21  2015 .
    drwxr-xr-x 23 root root   4096 May 15 13:23 ..
    drwxr-xr-x  2 root root   4096 May 31 06:25 backups
    drwxr-xr-x 10 root root   4096 May 15 15:04 cache
    drwxr-xr-x 41 root root   4096 May 15 15:04 lib
    drwxrwsr-x  2 root staff  4096 Apr 10  2014 local
    lrwxrwxrwx  1 root root      9 Jul 21  2015 lock -> /run/lock
    drwxrwxr-x 10 root syslog 4096 Jun 11 06:25 log
    drwxrwsr-x  2 root mail   4096 Apr 16  2014 mail
    drwxr-xr-x  2 root root   4096 Apr 16  2014 opt
    lrwxrwxrwx  1 root root      4 Jul 21  2015 run -> /run
    drwxr-xr-x  5 root root   4096 Jul 21  2015 spool
    drwxrwxrwt  2 root root   4096 May 15 13:42 tmp
    vagrant@vagrant-ubuntu-trusty:/var$
    
[/code]

**※追記**

**自分のPCにいるときの「var」ディレクトリの中身**

[code]

    tanakatakeshi-no-MacBook-Pro:vagrant tanakatakeshi$ cd /var
    tanakatakeshi-no-MacBook-Pro:var tanakatakeshi$ ls -la
    total 0
    drwxr-xr-x  24 root       wheel       816  2 18  2014 .
    drwxr-xr-x@  6 root       wheel       204  2 18  2014 ..
    drwx------   2 root       wheel        68  8 25  2013 agentx
    drwxr-xr-x   8 daemon     wheel       272  2 18  2014 at
    drwx------  47 root       wheel      1598  6 10 22:18 audit
    drwx------   2 root       wheel        68  8 25  2013 backups
    drwxr-xr-x  59 root       wheel      2006  6 18 09:25 db
    drwxr-xr-x   2 root       sys          68  8 25  2013 empty
    drwxr-xr-x   5 root       wheel       170  8 17  2015 folders
    drwxr-x---   2 _jabber    _jabber      68  8 25  2013 jabberd
    drwxr-xr-x   3 root       wheel       102  8 25  2013 lib
    drwxr-xr-x  90 root       wheel      3060  6 19 01:26 log
    drwxrwxr-x   3 root       mail        102  9 10  2015 mail
    drwxr-xr-x   3 root       wheel       102  2 18  2014 msgs
    drwxr-xr-x   2 root       wheel        68  8 25  2013 netboot
    drwxr-xr-x   2 _networkd  _networkd    68  8 25  2013 networkd
    drwxr-x---   6 root       wheel       204  5  4 12:47 root
    drwxr-xr-x   4 root       wheel       136  8 25  2013 rpc
    drwxrwxr-x  25 root       daemon      850  6 19 15:37 run
    drwxr-xr-x   2 daemon     wheel        68  8 25  2013 rwho
    drwxr-xr-x   7 root       wheel       238  2 18  2014 spool
    
[/code]


CC BY-SA 3.0
2016-06-19T04:48:48.997
26848
2016-06-21T10:55:24.167
2016-06-19T15:59:11.533
76
12323
question
unix
Linux(Ubuntu)のディレクトリ構造について教えてください。


質問の意図を勘違いしていたら申し訳ないのですが、`ls -la`だけだと/home/vagrant配下の一覧が表示されるだけです。  
`cd /var`で/varに移動しているので、/var配下が表示されるようになっている、ということで不思議でもなんでもないと思います。

/home/vagrantにいながら/var配下を表示したい場合、argusさんがコメントで書かれているように`ls -la
/var`とすれば表示できます。


CC BY-SA 3.0
2016-06-19T05:08:35.113
26850
2016-06-19T05:08:35.113
9515
26848
answer


以下の問題点が混在しているように見受けられました。

# 1\. UNIX 上の CUI 操作について

何も考えずにホームディレクトリで ls を実行しても `/var` ディレクトリが表示されないのは、 unix 系 OS に対する CUI
の使い方の問題で、 linux も vagrant もこの時点では関係ないと思います。 ls コマンドの挙動がよくわからないのであれば、 vagrant
などは使わずに、手持ちの mac で端末を起動して、試行錯誤してみるのが、理解への一番の近道だと思います。というのも、 mac も UNIX 系 OS
なので、基本的なコマンド(e.g. `ls` )の使い方は linux と同じだからです。

# 2\. Vagrant について

vagrant が何をやるかについての齟齬がある様子です。 vagrant は、仮想的な OS を立ち上げたりするのを管理するツールです。 vagrant
で立ち上げたゲスト OS は、ホスト (vagrant を起動しているPC, この場合は mac)
とか基本的に独立したものになります。なので、ホストとゲストのファイル・ディレクトリが共有されることは基本的にありません。それぞれは別物です。


CC BY-SA 3.0
2016-06-19T11:13:59.143
26863
2016-06-19T12:03:24.310
2020-06-17T08:14:45.997
-1
754
26848
answer


Linux のディレクトリ構造は `/` (ルートと呼びます) を頂点とした木構造になっており、`/var` とは `/` の下の `var`
というディレクトリを指します。

一方、`/home/vagrant` は `/` -> `home` -> `vagrant` というディレクトリを指します。

[code]

    /(ルート)
      +-- home
      |    +-- vagrant  <- 今ココにいる
      +-- var
    
[/code]

`ls -la` コマンドは現在のディレクトリ配下の一覧を表示しますので、現在のディレクトリが `/home/vagrant` の場合は `/` の下にある
`var` は表示できません。

`cd /var` コマンドは `/` の下の `var` に移動するので `var` に移動することが出来ます。

`ls -la /` と表示すれば `/` の下のファイルとディレクトリが一覧表示されます。その中に `var` を見つけることが出来ます。


CC BY-SA 3.0
2016-06-20T07:06:47.283
26881
2016-06-20T07:06:47.283
5008
26848
answer


`pwd`コマンドによってパスを確認します。  
それはカレントディレクトリを返します。

パスの書き方には、絶対パスと相対パスがあります。  
`/var`これは絶対パスです.`var`は相対パスです。  
`cd /var`と実行することは出来ますが、`cd var`は実行できません。  
同じように`ls -la`と`ls -la /`でフォルダの有無が確認出来ます。


CC BY-SA 3.0
2016-06-20T07:10:09.813
26882
2016-06-21T10:55:24.167
2016-06-21T10:55:24.167
10455
10455
26848
answer