답변:
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 ls
및man du
du
명령은 파일의 디스크 사용량을 보여줍니다. 파일의 실제 크기보다 클 수도 있습니다. du -d
실제 크기를 얻는 데 사용할 수 있습니다 ls
. 추가 정보 : unix.stackexchange.com/a/106278/155224
이 du
명령은.
디렉토리 및 / 또는 파일의 크기 :
$ du -sh .bashrc /tmp
--apparent-size
명령 행 스위치는 ls
실제 디스크 사용량이 아닌 겉보기 크기 ( 표시되는 내용)를 측정 합니다.
-h
플래그는 요청 한대로 해야합니다 : 사람이 읽을 수있는 형식 (예 : 1K 234M 2G)으로 인쇄 크기
du
않는 것은 파일 세트의 요약한다 디스크 사용량 파일이 매우 작은 (즉 2140 바이트) 인 경우 "뒤"의 출력 즉 클러스터의 크기 때문에 (내 경우) 4킬로바이트입니다
--apparent-size
.
du -hs *
모든 파일의 크기와 현재 디렉토리의 디렉토리를보고 싶습니다 .
파일 크기 (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를 지원합니다.
선택한 디렉토리로 이동하여 다음을 실행하십시오.
$ du -d 1 -h
어디:
-d 1 is the depth of the directories
-h is the human-readable option
당신은 다음과 같이 보일 것입니다 :
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 .
스크립트에서 사용하는 경우을 사용하십시오 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
바이트 단위의 크기를 제공합니다. man stat
추가 출력 형식 옵션을 참조하십시오 .
OSX / BSD 상당 이다 :
$ 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
디렉토리의 전체 크기 또는 파일 사용의 전체 크기를 얻으려면
du -csh <directory or filename*> | grep total
사람이 읽을 수 있도록 -h 인수와 함께 ls 명령을 사용하십시오 . [root @ hots19 etc] # ls -lh
h :
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
저는 Ubuntu 16.04 사용자이며 ll
명령이 디렉토리 내용을 보는 가장 쉬운 방법 이라는 것을 알았습니다 . 모든 Linux 배포판에서이 명령을 지원하지는 않지만 각 배포판에 대한 해결 방법 / 설치가있을 수 있습니다.
예:
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/
...
나에게 가장 큰 장점은 사용이 빠르고 직관적이라는 것입니다.
업데이트 : 내가 모르는 것은 우분투에서 사전 구성된 별칭이라는 것입니다. alias ll="ls -la"
명령 행에서 실행 하거나 .bashrc 구성 파일에이 항목을 추가하여 쉽게 설정할 수 있습니다 .
sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc
당신이 필요로하는 것입니다 -l
및 --block-size
플래그
작업 디렉토리 아래의 모든 파일 및 디렉토리의 크기 (MB)
ls -l --block-size=M
작업 디렉토리 아래의 모든 파일 및 디렉토리의 크기 (GB)
ls -l --block-size=G
특정 파일 또는 디렉토리의 크기
ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/
ls --help
-l
긴 목록 형식을 사용하십시오
--block-size=SIZE
: 크기를SIZE
인쇄하기 전에 크기를 조정 합니다. 예를 들어'--block-size=M'
1,048,576 바이트 단위로 크기를 인쇄합니다. 아래SIZE
형식을 참조하십시오
SIZE
정수 및 선택적 단위입니다 (예 : 10M은 10 * 1024 * 1024). 단위는 K, M, G, T, P, E, Z, Y (1024의 거듭 제곱) 또는 KB, MB, ... (1000의 거듭 제곱)입니다.
파일 크기 와 디스크 사용량 을 다르게해야 합니다 . 이 둘의 주요 차이점은 파일이 "조각으로 자르고"블록으로 저장된다는 사실에서 비롯됩니다.
최신 블록 크기는 4KiB이므로 파일 크기에 관계없이 파일은 4KiB의 여러 디스크 공간을 사용합니다.
이 명령을 사용하면 stat
두 그림을 나란히 볼 수 있습니다.
stat file.c
디렉토리를보다 간결하게 보려면을 사용 ls -ls
하면 1KiB 단위로 사용할 수 있습니다 .
ls -ls dir
또한 du
1KiB 단위 또는 플래그 가있는 dutree 에서 실제 디스크 사용량을 제공합니다 -u
.
예 : 1 바이트 파일 사용법
$ 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: -
또한 최신 파일 시스템 에서는 상황을 더욱 복잡하게하는 스냅 샷, 스파 스 파일 ( 구멍이 있는 파일)을 가질 수 있습니다 .
이 기사에서 자세한 내용을 볼 수 있습니다 : Linux에서 파일 크기 이해
ls
디렉토리의 모든 내용의 전체 크기를 표시하지는 않습니다.