Понимание поведения 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

Связанный контент