Linux
在 linux 上,目錄大小為 0 而不是 4096 是什麼意思?
這是我以前從未見過的一件奇怪的事情——一個目錄,其大小被 ls 報告為 0 而不是 4096,我無法在其中創建任何文件。
# ls -ld lib home drwxr-xr-x. 2 root root 0 Feb 7 03:10 home <-- it has zero size dr-xr-xr-x. 11 root root 4096 Feb 4 09:28 lib # touch home/foo touch: cannot touch `home/foo': No such file or directory <-- and I can't create files in it # rm home rm: cannot remove `home': Is a directory <-- look, it really is a dir
那麼目錄大小為 0 而不是 4096 意味著什麼?
文件系統是 fedora core 14 上的 ext4。
的輸出
mount
是:/dev/mapper/vg_dev-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/vda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
輸出
du -s /home
:0 /home
輸出
stat /home
:File: `/home' Size: 0 Blocks: 0 IO Block: 1024 directory Device: 15h/21d Inode: 34913 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2011-02-07 03:45:46.188995765 -0800 Modify: 2011-02-07 03:11:59.980995019 -0800 Change: 2011-02-06 07:58:45.874995002 -0800
我猜你正在為你的主目錄使用 autofs。
幾個不同的偽文件系統會像這樣出現。偽文件系統是不真正保存文件的文件系統。你會注意到 /proc 也是這樣的。基本上是因為 /home 中什麼都沒有,沒有文件,什麼都沒有。當您嘗試訪問它時,autofs 會看到請求並嘗試根據請求安裝適當的主目錄。使用proc,那些不是真正的文件,它們只是系統上執行的各種驅動程序(和核心)提供的文件的表示。
編輯:關閉 autofs,它會像普通目錄一樣顯示。