/usr/lib
예를 들어 디렉터리에서 가장 큰 파일 5개를 어떻게 나열합니까 ?
또한 사용 중인 각 코드에 대한 간단한 설명을 추가하세요.
답변1
가장 쉬운 방법은 크기별로 정렬하고 마지막 5줄을 인쇄하는 것입니다.
ls -Sr /usr/lib | tail -n 5
에서 man ls
:
-r, --reverse
reverse order while sorting
-S sort by file size
tail
파일의 마지막 N 줄만 인쇄합니다.
-n, --lines=K
output the last K lines, instead of the last 10; or use -n +K to
output lines starting with the Kth
하위 디렉터리의 파일도 확인하려면 다음을 수행하세요.
find /usr/lib -type f -ls | sort -gk7 | tail -n 5
이 find
명령은 다음에서 파일을 찾습니다 man find
.
-type c
File is of type c:
[ ... ]
f regular file
-ls True; list current file in ls -dils format on standard output.
The block counts are of 1K blocks, unless the environment vari‐
able POSIXLY_CORRECT is set, in which case 512-byte blocks are
used. See the UNUSUAL FILENAMES section for information about
how unusual characters in filenames are handled.
sort
예상한 대로 입력이 정렬됩니다. 에서 man sort
:
-g, --general-numeric-sort
compare according to general numerical value
-k, --key=KEYDEF
sort via a key; KEYDEF gives location and type
따라서 -g
숫자순으로 정렬하고 -k7
7번째 필드에 정렬하도록 합니다. 이 경우에는 find -ls
파일 크기입니다.
이는 상대적으로 강력해야 하며 공백이나 이상한 문자가 포함된 파일 이름에는 문제가 없습니다. 어쨌든, 검색 중이기 때문에 /usr/lib
이상한 파일 이름이 나올 가능성은 거의 없습니다.
답변2
LS-LSR| tail -5
이것이 작동합니다
-r 역방향 -l 긴 목록 -S는 파일 크기별로 정렬하는 옵션입니다.