Linux의 /usr/bin/dir 바이너리는 무엇입니까?

Linux의 /usr/bin/dir 바이너리는 무엇입니까?

나는 /usr/bin/dir대부분이 /usr/bin/ls. 나는 이것이 단지 에 대한 소프트 링크인 줄 알았는데 ls, 처음으로 놀랐던 점은 이것이 별도의 바이너리라는 점이었습니다.

$ ls -la /usr/bin/dir /usr/bin/ls
-rwxr-xr-x 1 root root 125736 Feb  7  2022 /usr/bin/dir
-rwxr-xr-x 1 root root 125736 Feb  7  2022 /usr/bin/ls

두 번째로 놀라운 점은 이 파일들이 동일하지 않다는 것입니다.

$ md5sum /usr/bin/dir /usr/bin/ls
997a2268f6d68d4b3f309dce17b39261  /usr/bin/dir
c12515ea5d425b198c1e44d6470588af  /usr/bin/ls

이 위치는 다음과 같습니다:

$ uname -a
Linux ip-172-31-63-158 6.2.0-1017-aws #17~22.04.1-Ubuntu SMP Fri Nov 17 21:19:35 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

답변1

이 차이점은 GNU Coreutils 문서에 설명되어 있습니다. 불행하게도 ls&에 대한 공유 맨페이지에서는 dir이를 명확하게 설명하지 않습니다.

10.2 dir: 디렉터리 내용을 간략하게 나열

dirls -C -b, 기본 파일은 열에 나열되고 수직으로 정렬되며 특수 문자는 백슬래시 이스케이프 시퀀스로 표시됩니다.

바라보다ls.

옵션 -C& 에 대한 문서 -b도 있습니다.

10.1.4 일반 출력 형식

-C
--format=vertical
다른 정보 없이 파일을 열별로 나열하고 수직으로 정렬합니다. ls표준 출력이 터미널인 경우 기본값입니다. 이는 항상 프로그램의 기본값입니다 dir. GNU는 ls가변 너비 열을 사용하여 최소한의 줄에 최대한 많은 파일을 표시합니다.

10.1.6 파일 이름 형식 설정

-b
--escape
--quoting-style=escape
파일 이름의 비그래픽 문자는 C에서 사용되는 문자와 8진수 백슬래시 시퀀스를 사용하여 참조됩니다.

관련 정보