ls命令顯示的total你知道代表着什么嗎?


 

  今天我無意間在用ls命令的時候發現顯示的內容里的total,這個total代表着什么,引起了我的疑惑。

接下來開始解開它的神秘面紗。

total后面的數字是指當前目錄下所有文件所占用的空間總和,它是怎么計算的,我們先來看看每個文件的大小。(文件的單位是bytes)

我們將所有的文件大小加起來也只有3536bytes ,是遠遠沒有24kbytes的啊。

但是我們需要知道的是每個文件系統都規定的一個塊(block)的大小,我們可以通過命令getconf PAGESIZE 命令來查看數據塊規定的大小。

[root@vultr ssh-batch-believe]# getconf PAGESIZE 4096

我們可以看到我們的一個塊(block)的大小是4096bytes,我們還需要知道一個塊(block)只可以容納一個文件。所以上面的,每個文件都需要一個塊(block),上面有6個文件,也就是6個塊(block),也就是  6*4096 bytes 大小。 6*4096 bytes 也就是24k.和total上的值符合了。

 

我們這里再舉個例子,我們添加了一個大小是6368 bytes名為test的文件,我們可以在看看total的值。

total的值是32,也就是增加了8kbytes,兩個塊(block),我們實際的增加的文件大小為6368,這里是因為一個block是放不下這個文件的,只有兩個block才可以放下,雖然放完這個文件后,block里還有剩余空間,但是我們前面說到一個塊(block)只可以容納一個文件。所以后面如果新添加的文件只有用一個新的block.

最后我們還有一個很方便的查看和計算total的辦法。就是使用 ls 命令的 -s 選項。

-s   以塊大小為單位列出所有文件的大小

total的值就是第一列的值之和。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM