tar: 정렬이 지정되지 않은 경우 인수 순서를 사용합니까?

tar: 정렬이 지정되지 않은 경우 인수 순서를 사용합니까?

GNU tar의 맨페이지에는 다음과 같이 나와 있습니다.

기본값은 --sort=none이며 운영 체제에서 반환한 순서대로 아카이브 멤버를 저장합니다.

그러면 운영 체제는 무엇을 반환합니까? 특히 다음과 같은 경우에 관심이 있습니다.보장하다tar 항목을 명령줄 인수로 전달할 때

tar -cf file.tar a b c

a, b및 의 순서 c가 유지됩니다.

답변1

지정된 정렬 순서--sort 오직명령줄에 지정된 파일 및 디렉터리 하위 디렉터리의 순서에 영향을 줍니다. 명령줄에 지정된 경로의 순서에는 영향을 주지 않습니다.

귀하의 경우에는 명령

tar -cf file.tar a b c

지정된 순서에 관계없이 파일이 a먼저 아카이브된 b다음 아카이브됩니다. 이들 중 하나가 디렉토리인 경우 를 사용하면 해당 디렉토리에서 파일 및 하위 디렉토리가 추가되는 순서에 영향을 주지만 , 및 의 순서에는 영향을 주지 않습니다.c--sort--sortabc

운영 체제는 사용 시 나타나는 순서와 동일한 순서로 항목을 반환합니다 ls -f. 순서는 디렉토리 노드가 항목을 저장하는 순서이며 파일이 추가되고 제거되는 순서(파일 시스템 구현에 따라 다름)와 같은 여러 요인에 따라 달라질 수 있습니다.

관련 정보