아카이브를 추출하려면 아카이브 이름으로 다시 tar 명령을 실행하는데, 이번에는 c 인자 대신 추출(extract)을 의미하는 x 인자를 사용한다.
$ tar xvf stuff.tar
Warning
아카이브를 추출하면 아무런 경고 메시지 없이 현재 디렉터리에 있는 똑같은 이름의 파일을 덮어쓴다. 여기에서는 괜찮지만, 일반적으로 이런 작동 방식은 문제가 된다.
ls -l 명령을 다시 한번 더 실행하면 원하지 않은 결과가 나온다. 세 파일 모두, 심지어 file3까지 여러분이 소유하고 있다.
$ ls -l
-rw-rw-r-- 1 username username 0 8월 6 10:02 file1
-rw-rw-r-- 1 username username 0 8월 6 10:02 file2
-rw-rw-r-- 1 username username 0 8월 6 10:02 file3
곤란하게 되었다. 사용자 newuser가 이 일을 알면 기뻐하지 않을 것이다. 이 일을 어떻게 해결해야 할까? 우선은 문제가 무엇인지부터 알아야 한다.
일반적으로 관리자 권한이 있는 사용자만 다른 사용자 계정에 있는 리소스를 이용할 수 있다. 예를 들어, 내 파일 중 하나의 소유자를 동료로 바꾸려고 할 때 이는 다른 사용자 계정을 변경해야 하는 작업이므로 일반 사용자는 할 수 없다. 너그러움도 한계가 있다. 따라서 아카이브에서 파일을 추출할 때 다른 사용자 소유의 파일로 저장하는 것은 불가능하다. 원래 권한으로 파일을 추출하는 것도 비슷한 문제가 있다. 해결책은 sudo를 이용해 관리자 권한으로 작업을 수행하는 것이다. 이제는 감을 잡았으리라 본다.