ls -lS
내 홈 디렉토리에서 명령을 사용했습니다 . 이 명령은 디렉터리의 내용을 크기별로 나열해야 합니다. 이것이 이 명령을 실행한 후 얻는 결과입니다.
total 10148
-rw-rw-r-- 1 rahul rahul 8053159 May 15 15:35 Costa_ODE.pdf
-rw-rw-r-- 1 rahul rahul 1755507 May 15 17:33 gnuplot.pdf
-rw-rw-r-- 1 rahul rahul 218048 May 13 22:14 out.log
-rw-rw-r-- 1 rahul rahul 98131 Feb 16 01:53 hs_err_pid8639.log
-rw-rw-r-- 1 rahul rahul 12364 Apr 19 14:01 Untitled 1.csv
drwxr-xr-x 4 rahul rahul 12288 Jun 6 2016 cfitsio
-rw-r--r-- 1 rahul rahul 8980 Feb 7 2016 examples.desktop
drwxrwxr-x 2 rahul rahul 4096 Mar 10 12:24 bin
drwxrwxr-x 8 rahul rahul 4096 May 8 14:51 boxfitv2
drwxrwxrwx 2 rahul rahul 4096 Jan 30 11:50 dao2
drwxrwxr-x 2 rahul rahul 4096 Mar 12 2016 deja-dup
drwxr-xr-x 6 rahul rahul 4096 May 16 02:12 Desktop
drwxr-xr-x 3 rahul rahul 4096 May 15 10:53 Documents
drwxr-xr-x 5 rahul rahul 4096 May 8 14:09 Downloads
.
.
.
.
이것은 꽤 많은 목록입니다. 하지만 저는 여러분이 Desktop과 같은 하위 디렉터리에 집중하길 바랍니다. 크기는 4096바이트로 표시됩니다. 하지만 데스크톱의 세부 정보를 보려고 하면 이것이 표시됩니다.
즉, 이 명령은 ls -lS
데스크탑 및 기타 하위 디렉터리 내용의 크기를 계산하지 않습니다. 이를 수행할 수 있는 방법이 있습니까?
편집하다:
ls -lsh
명령 출력
total 10M
4.0K drwxrwxr-x 2 rahul rahul 4.0K Mar 10 12:24 bin
4.0K drwxrwxr-x 8 rahul rahul 4.0K May 8 14:51 boxfitv2
4.0K -rw-rw-r-- 1 rahul rahul 3.2K May 13 13:28 c.c
12K drwxr-xr-x 4 rahul rahul 12K Jun 6 2016 cfitsio
7.7M -rw-rw-r-- 1 rahul rahul 7.7M May 15 15:35 Costa_ODE.pdf
4.0K drwxrwxrwx 2 rahul rahul 4.0K Jan 30 11:50 dao2
0 -rw-rw-r-- 1 rahul rahul 0 May 13 20:37 default.txt
4.0K drwxrwxr-x 2 rahul rahul 4.0K Mar 12 2016 deja-dup
4.0K drwxr-xr-x 6 rahul rahul 4.0K May 16 17:11 Desktop
4.0K drwxr-xr-x 3 rahul rahul 4.0K May 15 10:53 Documents
4.0K drwxr-xr-x 5 rahul rahul 4.0K May 8 14:09 Downloads
12K -rw-r--r-- 1 rahul rahul 8.8K Feb 7 2016 examples.desktop
.
.
.
du -sh ~/Desktop
명령 출력
80M /home/rahul/Desktop
답변1
ls -lS
디렉토리의 실제 크기를 표시합니다: 디렉토리 자체 + 해당 디렉토리에 포함된 모든 파일에 대한 참조입니다.
du
대신 사용할 수 있습니다 ls
.
du -ha -d 1 | sort -hr
du
: 디렉토리의 파일 공간 사용량을 반복적으로 추정합니다.
h
: 사람이 읽을 수 있음
a
: 디렉토리뿐만 아니라 모든 것
d 1
:max 깊이 1, 현재 디렉터리의 디렉터리만 확인합니다.
sort -hr
: 내림차순으로 정렬
답변2
ls
디스플레이 크기정기적인파일의 크기(또는 디렉토리의 경우 내용뿐만 아니라 해당 inode를 빠르게 확인할 수 있는 방법이 없으므로, 일반 파일의 경우 크기가 알려져 있으므로 정확하고 빠르게 확인할 수 있음) ).
실제로 이 필드는 파일이 나타내는 내용에 따라 달라집니다.
- 일반 파일의 경우: 실제 크기를 표시합니다.
- 심볼릭 링크(symlink,
ln -s source dest
)의 경우: 심볼릭 링크 이름의 길이입니다(심볼릭 링크 파일의 내용이므로). (예: 심볼릭 링크/dev/fd -> /proc/self/fd
: 정확히 13자 길이의 대상 경로( )가 있으므로/ p r o c / s e l f / f d
파일ls -l
크기를 가리키는 대신 "13"이 열 5에 나타납니다.) - 디렉토리의 경우: 하나의 inode 크기(디렉토리 항목의 내용이 하나에 맞는 경우) 또는 여러 inode(디렉토리 항목 목록을 설명하기 위해 여러 inode가 필요한 경우). 이것이 대부분의 파일이 4096인 이유입니다. 일반적으로 파일 내부에는 파일이 많지 않으므로 모두 1개의 inode에 맞습니다. 이는 일반적으로 기본적으로 4096바이트입니다. 디렉토리에 많은 파일을 넣으면 파일이 늘어나게 됩니다(디렉토리 자체를 다시 만들지 않는 한 나중에 계속 남아 있을 가능성이 높습니다).
- 파이프 및 기타 파일 유형의 경우: 일반적으로 크기와 연관된 필드가 크기일 수도 있고 아닐 수도 있습니다(예: 블록 장치(예: /dev/hd* 파일)의 경우 크기는 표시되지 않지만
major, minor
페어링하십시오. 정보를 참조하세요man mknod
.man ls
)
디렉토리 + 하위 디렉토리의 내용 합계를 확인하려면 다음을 수행하세요.
du /some/path
# 각 디렉토리를 표시합니다: 해당 내용의 합계(하위 디렉토리 포함), 그 아래 및 그 아래의 각 디렉토리를 표시합니다./some/path
du -s /some/path
# 레벨 1만 표시합니다. 즉, /some/path의 합계만 표시합니다.du -S /some/path
# 하위 디렉터리를 제외한 각 디렉터리의 내용을 표시합니다. /some/path의 어느 하위 디렉터리가 더 큰지 정확히 아는 데 도움이 됩니다.
바라보다https://linux.die.net/man/1/du자세한 내용은.