예는 다음과 같습니다--numeric-owner

예는 다음과 같습니다--numeric-owner

tar 아카이브가 있고 그룹 ID와 사용자 ID가 포함된 콘텐츠를 보고 싶습니다. 그것을 사용할 때

tar --list -v --file file.tar

사용자와 그룹 이름이 보이는데, 사용자 ID와 그룹 ID를 보고 싶습니다. 이 목표를 어떻게 달성할 수 있나요? 아니면 ID가 아닌 사용자 자체가 tar 아카이브에 저장되어 있습니까?

답변1

tar 아카이브를 생성할 때 tar 유틸리티는 사용자 ID를 저장합니다. 무언가를 표시하면 /etc/passwd에서 사용자를 찾아 찾은 경우 사용자 이름을 인쇄하고, 없으면 ID를 인쇄합니다.

이 동작을 방지하려면 이 --numeric-owner옵션을 사용해 보십시오.

답변2

사용 --to-command옵션:

tar xf file.tar --to-command 'echo $TAR_FILENAME:$TAR_UID:$TAR_GID'

uid/gid 대신 사용자 이름과 그룹 이름을 보려면:

tar xf file.tar --to-command 'echo $TAR_FILENAME:$TAR_UNAME:$TAR_GNAME'

답변3

추출하지 않고 나열만 하고 싶다면 다음을 수행하는 것이 좋습니다.

tar --list -tf data.tar.xz

예는 다음과 같습니다--numeric-owner

$ tar --list --numeric-owner -tf data.tar.xz
drwxr-xr-x 0/0               0 2013-07-15 04:41 ./
drwxr-xr-x 0/0               0 2013-07-15 04:41 ./usr/
drwxr-xr-x 0/0               0 2022-10-18 10:30 ./usr/bin/
-rwxrwxr-x 0/0              60 2022-10-18 10:25 ./usr/bin/furiusisomount
drwxr-xr-x 0/0               0 2013-07-15 04:41 ./usr/share/
drwxr-xr-x 0/0               0 2013-07-15 04:41 ./usr/share/menu/
-rw-r--r-- 0/0             189 2013-07-11 17:14 ./usr/share/menu/furiusisomount

예시 없음

$ tar --list -tf data.tar.xz
drwxr-xr-x root/root         0 2013-07-15 04:41 ./
drwxr-xr-x root/root         0 2013-07-15 04:41 ./usr/
drwxr-xr-x root/root         0 2022-10-18 10:30 ./usr/bin/
-rwxrwxr-x root/root        60 2022-10-18 10:25 ./usr/bin/furiusisomount
drwxr-xr-x root/root         0 2013-07-15 04:41 ./usr/share/
drwxr-xr-x root/root         0 2013-07-15 04:41 ./usr/share/menu/
-rw-r--r-- root/root       189 2013-07-11 17:14 ./usr/share/menu/furiusisomount

관련 정보