Просмотр размера файла в Linux (ls, du)
Рассмотрим следующую структуру файлов:
user@debian-server:~/test$ tree
.
├── dir
│ ├── file3.txt
│ └── file4.txt
├── file1.txt
└── file2.txt
2 directories, 4 files
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Точный размер того сколько занимают файлы можно получить командой ls
с параметром -l
.
user@debian-server:~/test$ ls -l
total 12
drwxr-xr-x 2 user user 4096 дек 4 09:40 dir
-rw-r--r-- 1 user user 3 дек 4 09:40 file1.txt
-rw-r--r-- 1 user user 7 дек 4 09:40 file2.txt
1
2
3
4
5
2
3
4
5
По умолчанию размер выводится в байтах, чтобы размер был представлен в удобных единицах измерения можно добавить параметр -h
.
user@debian-server:~/test$ ls -lh
total 12K
drwxr-xr-x 2 user user 4,0K дек 4 09:40 dir
-rw-r--r-- 1 user user 3 дек 4 09:40 file1.txt
-rw-r--r-- 1 user user 7 дек 4 09:40 file2.txt
1
2
3
4
5
2
3
4
5
Для файлов ничего не изменилось, их размер так и остался в байтах, а вот для директории он теперь показан в килобайтах. Однако, для директорий ls
выводит неверные данные. Чтобы получить размер директории нужно использовать команду du
. Только стоит учесть, что в отличии от ls
, команда du
показывает реальное количество блоков на диске занятых файлом. Параметр -a
заставляет команду выводить информацию про все файлы и директории, а -h
аналогичен параметру в команде ls
.
user@debian-server:~/test$ du -ah
4,0K ./file1.txt
4,0K ./dir/file4.txt
4,0K ./dir/file3.txt
12K ./dir
4,0K ./file2.txt
24K .
1
2
3
4
5
6
7
2
3
4
5
6
7