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