ls команда: що означає перший рядок?


30

Коли я це ls -lотримую:

calico@A000505:~/Documentos$ ls -l
total 2020
-rwxr-xr-x 1 calico calico    8559 2010-11-16 11:12 a.out
-rwxrw-rw- 1 smt    smt    2050138 2010-10-14 10:40 Java2.pdf
-rwxrw-rw- 1 ocv    ocv        234 2010-11-16 11:11 test.c

Але що означає "загальний 2020 рік"? У мене є лише 3 файли, тому це не кількість файлів чи каталогів, і я думаю, що це не розмір. Так що це?

Відповіді:


25

Кількість блоків в 1 КБ, що використовуються файлами в каталозі, не рекурсивно.

Використовуйте ls -lhдля отримання більш значущого результату.


5
Точніше, у більшості реалізацій це загальна кількість блоків, які використовуються файлами, включеними до списку каталогів (порівняти ls -l ~з ls -la ~та ls -lA ~). Розмір блоку становить 1 кБ з інструментами GNU, але 512B відповідно до POSIX та більшості інших поточних реалізацій.
Жил "ТАК - перестань бути злим"

Що робить -h?
Фонд позову Моніки

14

що означає "загальний" у ls -al

Чудове запитання, це означає, що ви хочете звернути увагу на деталі. Проілюструю на прикладах. Під моїм домашнім каталогом /home/elє каталог під назвою tmpdir з файлами під ним. Я переходжу до цього каталогу і роблюls -al

el@angeliqe ~/tmpdir $ ls -al
total 20
drwxrwxr-x 4 el users 4096 Dec 21 11:45 .
drwx--x--x 9 el users 4096 Dec 21 11:45 ..
drwxrwxr-x 2 el users 4096 Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4096 Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

На ньому написано «всього 20». Це означає: "tmpdir використовує 20K місця на диску для всіх каталогів і файлів".

з варіантом -h, ви говорите йому, щоб надати вам його в читаному для людини вигляді:

el@angeliqe ~/tmpdir $ ls -alh
total 20K
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 .
drwx--x--x 9 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4.0K Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

Цікаво зазначити, що каталог, в якому немає нічого, також займає 8K місця, в моєму випадку emptydirвін нічого не містить, але показує, що використовує 8K

el@angeliqe ~/tmpdir/emptydir $ ls -al
total 8
drwxrwxr-x 2 el users 4096 Dec 21 11:44 .
drwxrwxr-x 4 el users 4096 Dec 21 11:45 ..

Додавання порожнього каталогу доводить, що каталоги займають 4K:

el@angeliqe ~/tmpdir/emptydir $ ls -alh
total 12K
drwxrwxr-x 3 el users 4.0K Dec 21 11:54 .
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:54 blah

Ще одна команда для дослідження du:

el@angeliqe ~/tmpdir/emptydir $ du
4       ./blah
8       .

Також ви можете переглянути розміри файлів на певну глибину:

el@angeliqe ~ $ du -h --max-depth=1
12K     ./.ssh
4.0K    ./my_recycle_bin
8.0K    ./.vim
13G     ./gnuoctbluehost
24K     ./tmpdir
48K     ./.subversion
152K    ./.cpan
13G     .
el@angeliqe ~ $

5

Про -sваріант (?) Ніхто не згадує . Від man ls:

-s, --size print the allocated size of each file, in blocks

.. тож якщо ви будете перераховувати список, ls -sто ви отримаєте кількість блоків для кожного каталогу та файлу у поточному каталозі. Коли ви підсумуєте його, то отримаєте точно таке ж число, як і total:на верхній частині ls -l.

Додатково: Щоб отримати розмір блоку, перевірте це .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.