為什麼使用 ls 指令顯示的檔案大小不同?

為什麼使用 ls 指令顯示的檔案大小不同?

我執行的指令是: ls -alFs --block-size=1

以下是輸出:

4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:28 QRN_1570310934.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310939.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310946.charbin
8192 -rw-rw-r-- 1 dkm dkm 8192 Oct 8 11:33 QRN_1570555988.charbin
8192 -rw-rw-r-- 1 dkm dkm 8190 Oct 8 11:35 QRN_1570556100.charbin
4096 -rw-rw-r-- 1 dkm dkm 340 Oct 8 11:35 QRN_1570556140.charbin

最左邊是 -s 開關的輸出大小,由於 --block-size=1 以位元組為單位顯示,但 -l 開關的輸出大小(左起第 6 列)對於許多檔案來說是完全不同的。我一直在試圖弄清楚這個問題,但在任何地方都無法得到明確的答案。

我最好的猜測是 -s 開關給我設備塊,而 -l 開關給我實際的位元組大小。看起來就是這樣,但我怎麼確定呢? 「ls」手冊頁沒有提供有關如何匯出 -l 開關的大小輸出的任何詳細資訊。

對我可以用來嘗試解決這個問題的其他工具的任何建議......或者更好;如果有人真的知道那就更好了。

先感謝您。

答案1

-s或選項--size列印每個檔案的磁碟分配,而使用該l選項則將大小列印為位元組數。

來源:https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

相關內容