ls -l
с или без -h
показывает только (видимый )размер файлов для каждого из них, а не использование ими дискового пространства.
Чтобы увидеть использование дискового пространства, используйте ls -s
. Тогда сумма должна совпадать.
Обратите внимание, что эта сумма является суммой для перечисленных файлов. Если вы не используете -A
, скрытые файлы не будут включены. Если вы используете -a
, .
и ..
будут также включены (, как правило, ). Обратите внимание, что если один и тот же файл дважды появляется в списке (, например, потому что это жесткие ссылки на один и тот же файл ), он будет засчитан дважды.
Размер указывается в единицах по 512 байт в реализациях, совместимых с POSIX -. GNUls
(тот, который поставляется с Ubuntu ), вместо этого использует единицы измерения 1024 байта, если в среде нет переменной POSIXLY_CORRECT
($LS_BLOCK_SIZE
, $BLOCKSIZE
или опция --block-size
также может использоваться для указания произвольных единиц ). busybox ls
всегда использует блоки размером 1024 байта.
Пример:
$ truncate -s 15T a
$ echo > b
$ ls -s
total 4
0 a 4 b
$ ls -sl
total 4
0 -rw-rw-r-- 1 me me 16492674416640 Oct 4 21:53 a
4 -rw-rw-r-- 1 me me 1 Oct 4 21:53 b
$ POSIXLY_CORRECT=1 ls -sl
total 8
0 -rw-rw-r-- 1 me me 16492674416640 Oct 4 21:53 a
8 -rw-rw-r-- 1 me me 1 Oct 4 21:53 b
$ LS_BLOCK_SIZE=1 ls -sl
total 4096
0 -rw-rw-r-- 1 me me 16492674416640 Oct 4 21:53 a
4096 -rw-rw-r-- 1 me me 1 Oct 4 21:53 b
$ LS_BLOCK_SIZE=1 ls -sla
total 1638400
4096 drwxrwxr-x 2 me me 4096 Oct 4 21:53./
1630208 drwxr-xr-x 312 me me 1626112 Oct 4 21:54../
0 -rw-rw-r-- 1 me me 16492674416640 Oct 4 21:53 a
4096 -rw-rw-r-- 1 me me 1 Oct 4 21:53 b
$ ls -slah
total 1.6M
4.0K drwxrwxr-x 2 me me 4.0K Oct 4 21:53./
1.6M drwxr-xr-x 312 me me 1.6M Oct 4 21:55../
0 -rw-rw-r-- 1 me me 15T Oct 4 21:53 a
4.0K -rw-rw-r-- 1 me me 1 Oct 4 21:53 b
Посмотрите, как a
имеет размер 15 ТБ, но не занимает места на диске (это разреженный файл ), а b
имеет размер в один байт, но занимает 4 КБ на диске (использует один блок файловой системы )].
См. Почему существует так много различных способов измерения использования диска? для дальнейшего чтения.
Ссылка на википедию в вашем вопросе уже многое объясняет по теме.
В Linux коды OSC, реализованные xterm (, за которыми следует большинство других эмуляторов терминала ), определены в его ctlseqs . Некоторые коды OSC также поддерживаются tmux.
Самым последним дополнением к «для чего это можно использовать» является OSC 52, который предоставляет приложению, работающему в терминале, доступ к системному буферу обмена.
Коды, поддерживаемые консолью Linux, определены вman console_codes