2015-04-07 29 views
0

正在linux機器上對director/misc執行一些複製操作。它表現不佳。後挖才知道的/ misc的是大小爲0 日誌:目錄大小爲零的原因

[[email protected] misc]# ls -lrt 
total 0 
[[email protected] misc]# 

但創建自己的目錄,其空單止&檢查其大小,呈現出4個字節。 日誌:

[[email protected] random]# du -sk 
4  . 
[[email protected] random]# 

請讓我知道這個是什麼原因。

+0

它可能顯示4千字節而不是4字節 –

回答

2

這兩個命令都100%正確運行。例如:當您創建目錄時:

mkdir -p misc 

該目錄爲空。如果您使用ls列出的目錄中的文件,它報告預期:

$ ls -lrt misc 
total 0 

因爲有0目錄中的文件。現在,當您查看du目錄本身佔用的磁盤使用量時,它會正確記錄表示磁盤上目錄的文件大小(inode,links等)。例如:

$ du -sk misc 
4  misc 

請放心,兩者在您的系統上都能正常工作。 ls報告目錄中包含的文件數量,並且du報告目錄本身在磁盤上的實際大小。

0

狹義,一個directory不能完全(在Linux和POSIX系統)。要求需要.(目錄本身)和..(父目錄)的兩個條目。使用ls -als列出某個目錄中的所有條目。見ls(1) & stat(1)。如果使用*知道globbing由shell(shell的通配符爲*被跳過的文件名開頭.,見glob(7)

特別opendir(3) & readdir(3)至少會給出這兩個. & ..項(除了失敗)。

因此,一個目錄是總是爲這兩個強制性條目和其他元數據(即inode)佔據一些位置。

您的/misc可能沒有被以前的cp命令填充,可能是因爲缺少權限。確保它的所有者是合適的(cp命令使用的那個)。請諮詢stat /miscls -ald /misc。然後至少chmod u+rwx /misc(請參閱chmod(1);您可以使用命令chown(1)命令來更改所有權)。