Jak Mogę zobaczyć rozmiar plików i katalogów w Linuksie? [zamknięte]

Zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.


Chcesz poprawić to pytanie? Update the pytanie więc to on-topic dla przepełnienia stosu.

Zamknięte 6 miesięcy temu .

Popraw to pytanie

Jak mogę zobaczyć rozmiar plików i katalogów w Linuksie? If use df -m, then it shows the size of all the directory at the top level, but, for the directories and files in the Katalog, jak sprawdzić rozmiar?

 396
Author: nbro, 2012-07-30

22 answers

Użyj polecenia ls dla plików i polecenia du dla katalogów.

Sprawdzanie Rozmiarów Plików

ls -l filename   #Displays Size of the specified file
ls -l *          #Displays Size of All the files in the current directory
ls -al *         #Displays Size of All the files including hidden files in the current directory
ls -al dir/      #Displays Size of All the files including hidden files in the 'dir' directory

ls polecenie nie wyświetli rzeczywistej wielkości katalogów (dlaczego?). Dlatego używamy do tego celu du.

Sprawdzanie rozmiarów katalogów

du -sh directory_name    #Gives you the summarized(-s) size of the directory in human readable(-h) format
du -bsh *                #Gives you the apparent(-b) summarized(-s) size of all the files and directories in the current directory in human readable(-h) format

Włączenie opcji -h w którymkolwiek z powyższych poleceń (dla Ex: ls -lh * lub du -sh) daje rozmiar w formacie czytelnym dla człowieka (kb, mb,gb, ...)

Więcej informacje patrz man ls i man du

 611
Author: mk..,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-29 03:24:45

Jest du Komenda.

Rozmiar katalogu i / lub pliku, w przyjazny dla człowieka sposób:

$ du -sh .bashrc /tmp
Zapamiętałem to jako nieistniejące angielskie słowo dush .

--apparent-size przełącznik wiersza poleceń umożliwia pomiar pozornych rozmiarów (co pokazuje ls), a nie rzeczywistego użycia dysku.

 157
Author: Maxim Egorushkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-11 23:09:48

Użyj ls -s do wyświetlenia rozmiaru pliku lub jeśli wolisz {[1] } dla rozmiarów czytelnych dla człowieka.

Dla katalogów użyj du, i ponownie, du -h dla rozmiarów czytelnych dla człowieka.

 112
Author: Thor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-30 13:31:40

Możesz użyć:

ls -lh

Za pomocą tego polecenia zobaczysz widoczną przestrzeń katalogu i prawdziwą przestrzeń plików oraz szczegółowe nazwy wyświetlanych plików, oprócz rozmiaru i daty utworzenia każdego z nich.

 43
Author: Yenier Torres,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-14 13:14:31

Istnieje również świetne narzędzie ncdu - może wyświetlać rozmiar katalogu ze szczegółowymi informacjami o podfolderach i plikach.

Instalacja

Ubuntu:

$ sudo apt-get install ncdu

Użycie

Po prostu wpisz ncdu [path] w wierszu poleceń. Po kilku sekundach analizy ścieżki zobaczysz coś takiego:

$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
.  96,1 GiB [##########] /home
.  17,7 GiB [#         ] /usr
.   4,5 GiB [          ] /var
    1,1 GiB [          ] /lib
  732,1 MiB [          ] /opt
. 275,6 MiB [          ] /boot
  198,0 MiB [          ] /storage
. 153,5 MiB [          ] /run
.  16,6 MiB [          ] /etc
   13,5 MiB [          ] /bin
   11,3 MiB [          ] /sbin
.   8,8 MiB [          ] /tmp
.   2,2 MiB [          ] /dev
!  16,0 KiB [          ] /lost+found
    8,0 KiB [          ] /media
    8,0 KiB [          ] /snap
    4,0 KiB [          ] /lib64
e   4,0 KiB [          ] /srv
!   4,0 KiB [          ] /root
e   4,0 KiB [          ] /mnt
e   4,0 KiB [          ] /cdrom
.   0,0   B [          ] /proc
.   0,0   B [          ] /sys
@   0,0   B [          ]  initrd.img.old
@   0,0   B [          ]  initrd.img
@   0,0   B [          ]  vmlinuz.old
@   0,0   B [          ]  vmlinuz

Usuń aktualnie zaznaczony element za pomocą d , Zakończ za pomocą CTRL + c

 31
Author: avtomaton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-30 09:00:09

Rozmiar Pliku w MB

ls -l --b=M  filename | cut -d " " -f5

Rozmiar Pliku w GB

ls -l --b=G  filename | cut -d " " -f5
 25
Author: Ravichandra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-29 09:24:43

Przejdź do wybranego katalogu i wykonaj:

$ du -d 1 -h

Gdzie:

-d 1 is the depth of the directories

-h is the human-readable option

Zobaczysz tak:

0   ./proc
8.5M    ./run
0   ./sys
56M ./etc
12G ./root
33G ./var
23M ./tmp
3.2G    ./usr
154M    ./boot
26G ./home
0   ./media
0   ./mnt
421M    ./opt
0   ./srv
2.6G    ./backups
80G .
 22
Author: Claudio Guirunas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-17 16:03:42

Ls-l --block-size = M wyświetli listę długich formatów (potrzebnych do wyświetlenia rozmiaru pliku) i zaokrąglenia rozmiaru pliku do najbliższego MiB.

Jeśli chcesz jednostek MB (10^6 bajtów) zamiast MiB (2^20 bajtów), użyj zamiast tego --block-size=MB.

Jeśli nie chcesz, aby przyrostek m był dołączony do rozmiaru pliku, możesz użyć czegoś takiego jak --block-size=1m. dzięki Stéphane Chazelas za zasugerowanie tego.

Jest to opisane na stronie podręcznika ls; man ls i Szukaj rozmiaru. Informatyka pozwala również na jednostki inne niż MB / MiB, a z wyglądu (nie próbowałem) również dowolne rozmiary bloków(więc możesz zobaczyć Rozmiar pliku jako liczbę 412-bajtowych bloków, jeśli chcesz).

Zauważ, że parametr --block-size jest rozszerzeniem GNU na ls Open Group, więc może to nie działać, jeśli nie masz GNU userland (co robi większość instalacji Linuksa). Ls z GNU coreutils 8.5 obsługuje --rozmiar bloku, jak opisano powyżej.

 18
Author: Adi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-15 18:58:53

Możesz użyć poniższego polecenia, aby uzyskać listę plików w formacie łatwo czytelnym dla człowieka.

Ls-lrtsh

 10
Author: Amit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-20 02:32:02

Jeśli używasz go w skrypcie, użyj stat.

$ date | tee /tmp/foo
Wed Mar 13 05:36:31 UTC 2019

$ stat -c %s /tmp/foo
29

$ ls -l /tmp/foo
-rw-r--r--  1 bruno  wheel  29 Mar 13 05:36 /tmp/foo

To da ci rozmiar w bajtach. Zobacz też man stat aby uzyskać więcej opcji formatu wyjściowego.

Odpowiednik OSX/BSD to:

$ date | tee /tmp/foo
Wed Mar 13 00:54:16 EDT 2019

$ stat -f %z /tmp/foo
29

$ ls -l /tmp/foo
-rw-r--r--  1 bruno  wheel  29 Mar 13 00:54 /tmp/foo
 10
Author: Bruno Bronosky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-13 05:19:10

Wszystko czego potrzebujesz to -l i --block-size flagi

Rozmiar wszystkich plików i katalogów w katalogu roboczym (w MBs)

ls -l --block-size=M

Rozmiar wszystkich plików i katalogów w katalogu roboczym (w GBs)

ls -l --block-size=G

Rozmiar określonego pliku lub katalogu

ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/

ls --help

-l Użyj formatu długiej listy

--block-size=SIZE: skaluj rozmiary według SIZE przed ich wydrukowaniem; np., '--block-size=M' drukuje rozmiary w jednostkach 1,048,576 bajtów; patrz SIZE format poniżej

SIZE jest jednostką całkowitą i opcjonalną (przykład: 10M jest 10*1024*1024). Jednostki to K, M, G, T, P, E, Z, Y (potęgi 1024) lub KB, MB,... (moc 1000).


 9
Author: Giorgos Myrianthous,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-25 18:57:09

Cały czas wykonuję następujące czynności:

$ du -sh backup-lr-May-02-2017-1493723588.tar.gz

NB:

-s, --summarize
            display only a total for each argument
-h, --human-readable
            print sizes in human readable format (e.g., 1K 234M 2G)
 7
Author: Fokwa Best,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-02 11:39:14

Użyj LS komendy z argumentem-h: [root@hots19 etc]# ls -lh
h: do czytelnego dla człowieka.

Exemple: 
    [root@CIEYY1Z3 etc]# ls -lh
    total 1.4M
    -rw-r--r--.  1 root   root      44M Sep 15  2015 adjtime
    -rw-r--r--.  1 root   root     1.5K Jun  7  2013 aliases
    -rw-r--r--   1 root   root      12K Nov 25  2015 aliases.db
    drwxr-xr-x.  2 root   root     4.0K Jan 11  2018 alternatives
    -rw-------.  1 root   root      541 Jul  8  2014 anacrontab
    -rw-r--r--.  1 root   root      55M Sep 16  2014 asound.conf
    -rw-r--r--.  1 root   root       1G Oct  6  2014 at.deny
 6
Author: mkebri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-13 09:28:55

Aby uzyskać całkowity rozmiar katalogu lub całkowity Rozmiar pliku,

du -csh <directory or filename*> | grep total
 5
Author: suhail ahamed F,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-20 09:58:56

Sam jestem użytkownikiem Ubuntu 16.04 i uważam, że polecenie ll jest zdecydowanie najprostszym sposobem na zobaczenie zawartości katalogu. Zauważyłem, że nie wszystkie dystrybucje Linuksa obsługują to polecenie, ale prawdopodobnie istnieje obejście / instalacja dla każdej dystrybucji.

Przykład:

user@user-XPS-15-9560:/$ ll
total 188
drwxr-xr-x  27 root root  4096 Jan 26 09:13 ./
drwxr-xr-x  27 root root  4096 Jan 26 09:13 ../
drwxr-xr-x   2 root root  4096 Jan 22 15:13 bin/
drwxr-xr-x   4 root root 12288 Jan 29 11:35 boot/
drwxr-xr-x   2 root root  4096 Sep  3 18:14 cdrom/
drwxr-xr-x  20 root root  4440 Feb  5 08:43 dev/
drwxr-xr-x 153 root root 12288 Feb  2 15:17 etc/
drwxr-xr-x   4 root root  4096 Sep  3 18:15 home/
...

Największą zaletą dla mnie jest to, że jest szybki i naprawdę intuicyjny w obsłudze.

UPDATE: nie wiedziałem, że na Ubuntu jest to wstępnie skonfigurowany alias. Możesz łatwo ustawić go samodzielnie wykonując alias ll="ls -la" w wierszu poleceń, lub dodając ten wpis w Twoim .plik konfiguracyjny bashrc:

sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc
 4
Author: Matteus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-08 08:58:46

Du-Sh [nazwa_pliku]

Działa doskonale, aby uzyskać rozmiar konkretnego pliku.

 4
Author: Eyshika,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-21 22:17:41

Musisz się różnić między rozmiarem pliku i użyciem dysku . Główna różnica między nimi wynika z faktu, że pliki są "pocięte na kawałki" i przechowywane w blokach.

Nowoczesny rozmiar bloku to 4KiB, więc pliki będą używać przestrzeni dyskowej wielokrotności 4KiB, niezależnie od tego, jak małe są.

Jeśli użyjesz polecenia stat możesz zobaczyć obie figury obok siebie.

stat file.c

Jeśli chcesz mieć bardziej kompaktowy widok dla katalogu, możesz użyć ls -ls, który będzie daje użycie w jednostkach 1KiB.

ls -ls dir

Również duda ci rzeczywiste użycie dysku, w jednostkach 1KiB, lub dutree z flagą -u.

Przykład: użycie 1-bajtowego pliku

$ echo "" > file.c

$ ls -l file.c
-rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c

$ ls -ls file.c
4 -rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c

$ du file.c
4 file.c

$ dutree file.c
[ file.c 1 B ]

$ dutree -u file.c
[ file.c 4.00 KiB ]

$ stat file.c
 File: file.c
 Size: 1 Blocks: 8 IO Block: 4096 regular file
Device: 2fh/47d Inode: 2185244 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ nacho) Gid: ( 1000/ nacho)
Access: 2018-04-30 20:41:58.002124411 +0200
Modify: 2018-04-30 20:42:24.835458383 +0200
Change: 2018-04-30 20:42:24.835458383 +0200
 Birth: -

Ponadto we współczesnych systemach plików możemy mieć migawki, nieliczne pliki (pliki z dziurami ), które dodatkowo komplikują sytuację.

Możesz zobaczyć więcej szczegółów w tym artykule: zrozumienie rozmiaru pliku w Linuksie

 2
Author: nachoparker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-03 09:27:54

Możesz użyć ls - sh w Linuksie możesz też sortować musisz przejść do katalogu, w którym chcesz sprawdzić rozmiar plików

 1
Author: Prem S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-17 16:32:23

Przejdź do konkretnego katalogu Następnie uruchom poniżej polecenia

# du -sh * 

4.0K    1
4.0K    anadb.sh --> Shell file
4.0K    db.sh/    --> shell file
24K     backup4/  --> Directory
8.0K    backup6/  --> Directory 
1.9G    backup.sql.gz  --> sql file
 1
Author: sachin_ur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-07 07:28:35

Możesz użyć ncdu disk usage analyzer tutaj. Wyświetla rozmiar plików i katalogów w interfejsie ncurses. Możesz przejść do każdego katalogu i zobaczyć rozmiary plików z tego samego interfejsu.

Aby zainstalować

$ sudo apt-get install ncdu

Do analizy

$ ncdu <directory>

Tutaj wpisz opis obrazka

 1
Author: sumedhe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-26 08:44:15
ls -sh video.mp4 | sed s/video.mp4//g

Wyjście, 5.6 m

 1
Author: Philip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-22 12:45:52

Wolę to polecenie ll -sha.

 0
Author: mountainLion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-30 05:23:32