답변:
아마도 -h
당신에게 충분할 것입니다 :
-h
-l 옵션과 함께 사용하는 경우 크기에 기본 2를 사용하여 자릿수를 3 이하로 줄이려면 바이트, 킬로바이트, 메가 바이트, 기가 바이트, 테라 바이트 및 페타 바이트와 같은 단위 접미사를 사용하십시오.
ls -lah
일반적인 조언 : man commandname
특정 명령의 매뉴얼 / 도움말을 읽는 데 사용하십시오 (예 : here) man ls
.
ls --block-size=M
크기를 메가 바이트 단위로 인쇄하지만 1MB 미만의 경우 1MB를 표시합니다. 그래도 UNIX 버전의 ls 에서이 옵션을 사용할 수 있는지 확실하지 않습니다.
실제로 ls -lh
파일이 충분히 크면 실제로 기가 바이트 단위로 크기를 인쇄합니다 (어쨌든 Linux 64 비트에서는 작동합니다 :>)
사이드 노드에서 : du -sh *
현재 디렉토리의 디렉토리 크기도 인쇄합니다.
ls -h
했으며 파일이 1GB 이상 while true ; do ls -al --block-size=M ; sleep 1 ; done
당신은 당신을 위해 awk
수학을 수행해야합니다 :
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
이보다 작은 파일의 출력에는 영향을 미치지 않습니다 mega
.
ls
배치 방법에 맞게 필드 번호를 조정해야 할 수도 있습니다 . mega
선호하는 경우 "1000000"으로 변경할 수 있습니다 .
이것은 당신이 원하는 것보다 더 많은 소수점 자리를 인쇄합니다. 반올림 함수를 구현할 수 있습니다.
ls -lh
또는 보다 우아 ls --block-size=M
하지는 않지만 AWK는 매우 유용합니다!
ls -shR
사람이 읽을 수있는 재귀 형식을 시도하십시오 .
-h
Tru64 가 없다고 말 했으며이 답변이 게시되기 2 년 전에 그렇게했습니다.
특정 파일의 크기 만 원한다면 이전 답변의 사소한 외삽 명령은 다음과 같습니다.
ls -sh 파일 이름
-s
크기이며 크기 h
는 인간 판독 가능입니다 (위에서 몇 번 언급했듯이).
결과는 다음과 같습니다.
753M myfilename
파일 이름을 생략하면 파일 ls -la
이름 인수없이 호출 될 때 와 달리 파일 이름 옆에 각 파일의 크기를 배치하여 디렉토리를 나열합니다 .
도움이 되었기를 바랍니다.
-h
옵션이 존재하지 않는다고 언급했습니다 ls
.
ls -l --block-size=MB
에 대한 --block-size
매개 변수 :
MB
10 ^ 6M
2 ^ 20 에만 사용1MB
. 이런 이유로 나는 ls -l --block-size=kB
더 유용하다는 것을 알았 습니다.
파일 크기에만 관심이 있고 ls
명령 을 사용할 필요가 없으면 다음을 시도하십시오.
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
이것은 파싱 할 필요없이 파일 크기를 인쇄합니다.