[linux] 리눅스에서 파일과 디렉토리의 크기를 어떻게 알 수 있습니까?

Linux에서 파일 및 디렉토리의 크기를 어떻게 확인할 수 있습니까? 을 사용 df -m하면 최상위 디렉토리의 모든 디렉토리 크기가 표시되지만 디렉토리 내의 디렉토리 및 파일의 경우 크기를 어떻게 확인합니까?



답변

ls파일에는 du명령을, 디렉토리 에는 명령을 사용하십시오 .

파일 크기 확인

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명령은 디렉토리의 실제 크기를 나열하지 않습니다 ( why? ). 따라서 우리 du는이 목적으로 사용 합니다.

디렉토리 크기 확인

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

를 포함하여 -h위의 명령 중 하나에서 (예를 들어 옵션을 ls -lh *하거나하는 du -sh) 당신에게 사람이 읽을 수있는 형식의 크기를 줄 것이다 ( kb, mb, gb, …)

자세한 내용은 참조 man lsman du


답변

du명령은.

디렉토리 및 / 또는 파일의 크기 :

$ du -sh .bashrc /tmp

--apparent-size명령 행 스위치는 ls실제 디스크 사용량이 아닌 겉보기 크기 ( 표시되는 내용)를 측정 합니다.


답변

ls -s파일 크기를 나열하거나 ls -sh사람이 읽을 수있는 크기 를 선호하는 경우에 사용하십시오 .

디렉토리 사용하기 위해 du, 다시, du -h사람이 읽을 수있는 크기.


답변

당신이 사용할 수있는:

ls -lh

이 명령을 사용하면 디렉토리의 명백한 공간과 파일의 실제 공간을 볼 수 있으며 각 파일의 크기와 생성 날짜 외에 표시된 파일 이름이 자세히 표시됩니다.


답변

파일 크기 (MB)

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

파일 크기 (GB)

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


답변

ncdu유용한 유틸리티 도 있습니다. 하위 폴더 및 파일에 대한 자세한 정보와 함께 디렉토리 크기를 표시 할 수 있습니다.

설치

우분투 :

$ sudo apt-get install ncdu

용법

ncdu [path]명령 행을 입력 하십시오. 경로를 분석하기 위해 몇 초 후에 다음과 같은 내용이 표시됩니다.

$ 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

으로 현재 강조 표시된 요소를 삭제하고 +로 d종료CTRLc


답변

ls -l –block-size = M은 긴 형식 목록 (실제로는 파일 크기를 볼 필요가 있음)을 제공하고 파일 크기를 가장 가까운 MiB로 반올림합니다.

MiB (2 ^ 20 바이트) 단위 대신 MB (10 ^ 6 바이트) 단위를 원하면 –block-size = MB를 대신 사용하십시오.

M 접미사가 파일 크기에 첨부되지 않게하려면 –block-size = 1M과 같은 것을 사용할 수 있습니다. 이것을 제안 해 주신 Stéphane Chazelas에게 감사드립니다.

이것은 ls 매뉴얼 페이지에 설명되어 있습니다. 을 검색하고 SIZE를 검색하십시오. MB / MiB 이외의 장치도 허용하며, 임의의 블록 크기 (외관을 시도하지는 않음)에서도 볼 수 있습니다 (원하는 경우 파일 크기를 412 바이트 블록 수로 볼 수 있음) 에).

–block-size 매개 변수는 Open Group의 ls 위에있는 GNU 확장이므로 GNU 사용자 영역 (대부분의 Linux 설치)이없는 경우 작동하지 않을 수 있습니다. GNU coreutils 8.5의 ls는 위에서 설명한대로 –block-size를 지원합니다.