계층 구조 없이 아카이브를 만드는 방법

계층 구조 없이 아카이브를 만드는 방법

동일해 보이는 질문이 많이 있다는 것을 알고 있지만 지금까지 답변을 찾지 못했습니다.

이제 내가 현재 작업 디렉토리에 있다고 가정해 보겠습니다./시험/ 나는 'test.tar.gz' 아카이브에 추가하고 싶습니다./테스트/아카이브/ 에 포함된 모든 파일/테스트/파일/그런 다음 이 디렉토리를 삭제하십시오.

나는 시도했다 :

tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files

그러나 성공하지 못했습니다.

이견있는 사람 ?

감사해요 ! 니코

답변1

$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3

$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3

타르 구조를 원하는 방식에 따라 다릅니다.

답변2

이와 같은 단일 명령은 이미 로그인되어 있다고 가정하여 작동합니다./test

(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files

을 사용하여 명령 -의 출력을 뿜어낸 다음 파이프로 연결하여 출력을 다음으로 리디렉션합니다.tarstdoutgzip./archive

관련 정보