2014-01-15 23 views
1

您好,我正在嘗試在我的Unix系統中查找一個巨大的目錄的大小。爲什麼du在這個文件上報告與ls不同的文件大小?

我正在使用命令「du -k」。但它給了我奇怪的結果。

我縮小了只是檢查一個tif文件的大小。

當做了的ls -l

-rw-rw-rw- 1 dsp.ts5 datafeed 83239394 Jun 10 2013 V001.tif 

這裏的文件大小約爲83MB。

,並在執行時杜-k V001.tif

108914 V001.tif 

這裏的文件大小爲108MB!

我很難找出爲什麼這兩個命令返回不同的結果?

+0

你是什麼意思的「大小」? 'ls -ld/p/a/t/h'會告訴你目錄的大小,但不是它中的鏈接數量,也不是目錄中有鏈接的文件佔用的磁盤總量。 –

+0

du中的'-s'表示總結。如果你只是運行'du -k V001.tif',你會得到什麼? (請編輯您的問題以顯示此信息)。祝你好運。 – shellter

+0

它是什麼unix變種?什麼是文件系統類型?如果你複製了那個文件,'du -k'和'ls -l'會報告那個文件的內容? – Gilles

回答

0

du -k返回1K塊的數量。

ls -l顯示字節數。

瞭解傳遞給程序的標誌很重要。我想你使用的是du -sk而不理解你爲什麼需要-s-k。具體而言,-s如果將單個文件的名稱賦予它是沒有意義的,因爲-s用於彙總許多文件或目錄的結果。

man duman ls會告訴你所有關於你可以使用的選項。

+0

您的事實陳述是正確的,但他們沒有做任何事來解釋不一致。 – Gilles

+1

謝謝安迪,我檢查了選項,並嘗試使用'du -k'獲取文件大小。令人困惑的是,大小仍然不匹配'ls -l' – webExplorer

相關問題