Ls

理解 ls -s 行為

  • May 12, 2019

這是ls -l 在目錄中執行的結果

total 28
-rwxrw-r-- 1 pr3t3nd pr3t3nd  188 Nov 20 20:28 exo1.sh
-rwxrw-r-- 1 pr3t3nd pr3t3nd  202 Nov 20 20:52 exo2_fonction.sh
-rwxrw-r-- 1 pr3t3nd pr3t3nd  176 Nov 20 20:30 exo2.sh
-rw-rw-r-- 1 pr3t3nd pr3t3nd  364 Nov 20 22:24 file
-rw-rw-r-- 1 pr3t3nd pr3t3nd 2912 Nov 20 23:47 file2
drwxrwxr-x 2 pr3t3nd pr3t3nd 4096 Nov 20 23:35 rep
-rwxrw-r-- 1 pr3t3nd pr3t3nd  102 Nov 20 23:45 script.sh

這是ls -s在同一目錄下執行的結果

total 28
4 exo1.sh           4 exo2.sh  4 file2  4 script.sh
4 exo2_fonction.sh  4 file     4 rep

為什麼所有文件的大小都是4?

ls -l在第 5 列中顯示文件大小。ls -s不顯示文件大小。它顯示的是分配的大小。那不是一回事。

文件的大小是文件的屬性。它是構成文件內容的字節數,不多也不少。

文件的分配大小是文件儲存方式的屬性。在大多數情況下,分配的大小略大於大小,因為文件系統將空間劃分為塊,分配的大小是用於儲存文件的塊的總大小。除非文件的大小是塊大小的倍數,否則會有一個塊沒有被完全使用。

您看到的文件大小小於 4kB,分配的大小正好是 4kB。這很常見:您有一個 4kB 塊大小的文件系統。

另請參閱ls -s 何時列印“0”文件塊大小 - stat 和 ls 之間的差異

引用自:https://unix.stackexchange.com/questions/405872