디렉토리와 동일한 이름을 가진 아카이브에 디렉토리를 tar 하시겠습니까?

디렉토리와 동일한 이름을 가진 아카이브에 디렉토리를 tar 하시겠습니까?

전체 디렉토리를 압축/보관하고 나중에 삭제하는 우아한 방법이 있습니까? 지금까지 나는 엄청난 해결책을 생각해 냈습니다.

에서:

# ls -la
drwxr-xr-x 3 root root 4096 Jul  4 15:01 .
drwxr-xr-x 6 root root 4096 Jul  4 14:54 ..
drwxr-xr-x 4 root root 4096 Jul  4 14:59 stresstest

도착하다:

# ls -la
drwxr-xr-x 3 root root 4096 Jul  4 15:01 .
drwxr-xr-x 6 root root 4096 Jul  4 14:54 ..
drwxr-xr-x 4 root root 4096 Jul  4 14:59 stresstest.tar.gz

편집 #1

문제는 디렉터리의 이름을 미리 알 수 없다는 것입니다(동적으로 생성되므로 다음번에는 다를 수 있습니다). 하지만 여기서는 항상 디렉터리 이름이 유일한 디렉터리가 됩니다.

답변1

$ for i in *;do tar zcvf ${i}.tgz $i; rm -fr $i;done

$ for i in *;do tar zcvf ${i}.tgz $i; rm -fr $i;done
stresstest/
stresstest/file1
stresstest/file2
stresstest/file3

$ ll
total 4
-rw-r--r-- 1 root root 162 Jul  5 05:18 stresstest.tgz

답변2

(dir="stresstest"; tar zcvf ${dir}.tgz ${dir}; rm -rf $dir)

관련 정보