디렉토리에 많은 수의 파일과 디렉토리가 있습니다.
권한을 기준으로 정렬해야 합니다.
예를 들어
drwx------
drwxr-xr-x
drwxr-x---
ls
?를 사용하여 파일과 디렉터리를 정렬할 수 있는지 알고 싶습니다 .
답변1
ls
권한별 정렬은 직접 지원되지 않지만 sort 명령과 함께 사용할 수 있습니다.
ls -l | sort
정렬 옵션을 사용하여 -k
특정 문자부터 일치를 시작할 수 있습니다. 형식에서 권한은 출력의 첫 번째 필드 -k FIELD.CHAR
입니다 . ls
예를 들어 -k 1.2
권한 문자열의 두 번째 문자로 시작하여 디렉터리/장치/링크 등의 플래그를 무시하거나 -k 1.5
그룹 권한별로 정렬합니다.
추가 출력을 원하지 않으면 ls -l
awk를 사용하여 제거할 수 있습니다.
ls -l | sort | awk '{ print $1, $NF}'
그러면 첫 번째 필드(권한)와 마지막 필드(파일 이름)만 인쇄됩니다.
답변2
8진수 값으로 정렬할 수도 있습니다.
for i in *; do stat --format="%a %n" "$i"; done | sort -n