리눅스에서 파일 크기를 확인 할 수 있는 명령어를 정리해보았다.

1. ls 명령어

ls 명령어를 사용하는 방법이다. -l 옵션은 파일 크기를 바이트로 표시하며 한 줄당 한 파일/디렉토리 정보를 긴 형식으로 나열하고, -h 옵션은 파일 크기가 1024바이트 이상일 때 KB/MB/GB/TB 단위로 조정하여 표시한다. -s 옵션은 크기가 블록 수로 나타나도록 크기와 파일/디렉토리명만 표시한다.

~$ ls [-옵션]

보편적으로는 아래처럼 ls명령을 -lh 옵션과 같이 자주 사용한다.

~$ ls -lh /home/heejindo/AES_submit/data
total 1.4M
-rw-rw-r-- 1 heejindo heejindo  23K  3월  9  2022 sample_submission.csv
-rw-rw-r-- 1 heejindo heejindo 411K  3월  9  2022 test.csv
-rw-rw-r-- 1 heejindo heejindo 965K  3월  9  2022 train.csv

-s 옵션과 함께 사용한다면 아래와 같은 결과를 얻을 수 있다.

~$ ls -s /home/heejindo/AES_submit/data
total 1404
 24 sample_submission.csv  412 test.csv  968 train.csv

2. du 명령어

du 명령어를 사용하는 방법이며 기본적으로 -sh 옵션과 자주 사용한다. -s 옵션은 지정한 경로 내의 모든 파일과 하위 디렉토리 크기를 합친 총 크기를 출력하며, -h 옵션은 B/KB/MB/GB 단위로 표시한다.

~$ du [-옵션]
~$ du -sh /home/heejindo/AES_submit/data
1.4M    /home/heejindo/AES_submit/data

1번에서 설명한 ls 명령어처럼 디렉토리 내의 각 파일의 크기를 알고 싶다면, -a 옵션을 사용하면 된다.

~$ du -a /home/heejindo/AES_submit/data
968     /home/heejindo/AES_submit/data/train.csv
24      /home/heejindo/AES_submit/data/sample_submission.csv
412     /home/heejindo/AES_submit/data/test.csv
1408    /home/heejindo/AES_submit/data

3. df 명령어

앞선 두 명령어는 각 파일의 크기를 확인할 때 사용한다면, 리눅스 시스템의 디스크 사용량을 확인할 때는 df 명령어를 사용한다. -h옵션을 사용하면 M/G 단위로 디스크 용량을 표시한다.

~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G   42M  3.1G   2% /run
/dev/nvme0n1p2  438G  397G   19G  96% /
tmpfs            16G   80K   16G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/nvme0n1p1  511M  3.7M  508M   1% /boot/efi
tmpfs           3.2G     0  3.2G   0% /run/user/1003