2

サーバーで入力するls -alと、ディレクトリのリストが表示されます

-bash-3.2$ ls -al
total 12
drwxr-xr-x  3 root root    0 Feb 13  2011 .
drwxr-xr-x  4 root root 4096 May 11  2011 ..
drwxr-xr-x 55 torg torg 4096 May 15 05:40 stuff

ただし、入力cd loourrして戻っcd ..てみると、

-bash-3.2$ ls -al
total 32
drwxr-xr-x  3 root root    0 Feb 13  2011 .
drwxr-xr-x  4 root root 4096 May 11  2011 ..
drwxr-xr-x 55 torg torg 4096 May 15 05:40 torg
drwxr-xr-x 108 loourr loourr 20480 Jan 29 19:48 loourr

どうしてこれなの?-aフラグがすべてのディレクトリを明らかにしているという印象を受けました。これを引き起こしている可能性があり、まだリストされていないディレクトリを明らかにするにはどうすればよいですか?

更新:DavidWoleverの提案に従うとどうなりますか

-bash-3.2$ ls
torg
-bash-3.2$ pwd
/home/room1
-bash-3.2$ cd loourr
-bash-3.2$ pwd
/home/room1/loourr
-bash-3.2$ cd ..
-bash-3.2$ ls
torg  loourr
-bash-3.2$ pwd
/home/room1

そして私がマウントするとき

-bash-3.2$ mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda6 on /scratch type ext3 (rw)
/dev/sda3 on /var type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
cartman.foo.bar:/home/room2/me on /home/room2/me type nfs (rw,addr=*.43)
cartman.foo.bar:/home/room2/admin on /home/room2/admin type nfs (rw,addr=*.43)
storage1.foo.bar:/storage/3 on /storage/3 type nfs (rw,nfsvers=3,tcp,intr,hard,addr=*.44)
cartman.foo.bar:/home/room1/torg on /home/room1/torg type nfs (rw,addr=*.43)
cartman.foo.bar:/home/room1/loourr on /home/room1/loourr type nfs (rw,addr=*.43)

adminいくつかの注意事項:サーバー管理者名をに、アカウント名をmeに、サーバー拡張子をに置き換え、foo.baraddr=の一部はで一定でした*

4

2 に答える 2

1

ディレクトリls -alが表示されない理由はありません。loourr

への最初の呼び出しと2番目の呼び出しの間に作成されている必要があります。作成されていないls場合は、別のディレクトリに移動している可能性があります。これを試して:

$ ls
stuff/
$ pwd
/foo/
$ cd loourr
$ pwd
/bar/loourr/
$ cd ..
$ ls
stuff/ loourr/
$ pwd
/bar/ <-- different directory

別のディレクトリに移動する理由はいくつかありcdます…シンボリックリンクは1つであり(おそらくあなたの場合はそうではありませんが)、CDPATH環境変数は別のものです(もしそうならecho $CDPATH、何か見えますか?)

于 2013-02-17T22:59:06.303 に答える
1

オートマウンターが設置されているようです。これは、ディレクトリが表示されない場合ではなく、最初にその場所を参照しようとしたときに、ディレクトリが作成され、その場所にリモートファイルシステムがオンデマンドでマウントされる場合です。

この場合、ls -aまたはその他のオプションを使用すると、ディレクトリがまだ存在しないため、ディレクトリは表示されません。システム管理者は、オートマウンタにオプションを設定してディレクトリを表示(閲覧可能)にすることができますが、通常はデフォルトではないという事実に加えて、それを行わなかったのには十分な理由があります。

于 2013-02-18T20:23:27.070 に答える