답변1
이 점은 tar
매개변수에 지정한 방식으로 경로 구조가 생성되기 때문에 발생합니다. 그래서 당신이 준대로.소스로서 아카이브도 동일한 구조로 생성됩니다.
이것을 시도해 볼 수 있습니다 (참고: 이는 숨겨진 파일과 일치하지 않습니다.):
tar -czvf ../myarchive.tar.gz *
n.st의 의견 및 zhoux의 답변 정보로 업데이트되었습니다.
tar --xform s:'^./':: -czvf ../myarchive.tar.gz ./
답변2
넌 몰라.
name=${PWD##*/}
cd ..
tar czf "$name.tar.gz" "$name"
(참고: 쉘에 현재 디렉터리 심볼릭 링크 추적이 켜져 있고 현재 디렉터리가 심볼릭 링크를 통해 액세스되는 경우에는 작동하지 않습니다.)
예, 그것은 당신이 요청한 것이 아니지만 당신이 해야 할 일입니다. 현재 디렉토리에 많은 파일이 있는 아카이브를 확장하는 것은 짜증나는 일입니다. 이는 아카이브의 압축을 풀고 파일에 대한 대상 디렉터리를 생성하는 모든 사람에게 부담을 주며, 실수로 비어 있지 않은 디렉터리에 압축을 풀면 정리하기가 어렵습니다. 대부분의 경우 아카이브는 이름이 아카이브의 기본 이름인 최상위 디렉터리를 생성해야 합니다.
답변3
앞에 ^을 추가하는 것이 좋습니다.
tar --xform s:'^./':: -czvf ../myarchive.tar.gz ./
또는 "/"가 전체 경로 이름 끝에 있지 않는 한 아카이브 내 전체 경로 이름의 모든 "/"가 제거됩니다.