최상위 디렉터리를 사용하지 않고 압축 풀기

최상위 디렉터리를 사용하지 않고 압축 풀기

"htdocs"로 시작하는 여러 Drupal 웹사이트가 포함된 tar(websites.tgz)가 있습니다.

압축을 풀어야 해요

/local/htdocs/web1
/local/htdocs/web2

등. 그런데 권한 문제로 인해 website.tgz 파일을 /local에 넣고 아래쪽으로 추출할 수 없습니다. 현재 내 홈 디렉토리에 있습니다. 최상위 htdocs 디렉토리를 포함하지 않고/local/htdocs 아래의 내용을 추출하는 방법은 무엇입니까?

나는 다음을 피하려고 노력하고 있습니다:

/local/htdocs/htdocs/web1
/local/htdocs/htdocs/web2.

도와주셔서 감사합니다.

답변1

-C일부 tar 구현에서 이 옵션을 사용하여 추출을 위한 기본 경로를 지정할 수 있습니다. 다음은 귀하의 예에 적용됩니다.

tar -xvz -C /local -f websites.tgz

또는 or 옵션이 tar없는 경우 :-z-C

gunzip < websites.tgz | (cd /local && tar xvf -)

답변2

GNU tar의 --strip-comComponents=NUMBER 옵션을 사용할 수 있습니다.

--strip-components=NUMBER
  strip NUMBER leading components from file names on extraction

귀하의 명령은 다음과 같습니다

tar -xfz /path/to/websites.tgz --strip-components=1 -C /local/htdocs/

관련 정보