了解 ls -s 行為

了解 ls -s 行為

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?

答案1

ls -l第 5 列顯示檔案大小。ls -s不顯示檔案大小。它顯示的是分配的大小。那不是同一件事。

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

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

您看到的檔案大小小於 4kB,但分配的大小剛好是 4kB。這很常見:您有一個區塊大小為 4kB 的檔案系統。

也可以看看`ls -s` 何時列印“0”檔案區塊大小 - stat 和 ls 之間的區別

相關內容