모든 파일 내용을 단일 아카이브로 압축하려면 어떻게 해야 합니까?

모든 파일 내용을 단일 아카이브로 압축하려면 어떻게 해야 합니까?

디렉터리의 모든 파일(하위 디렉터리의 파일 포함)을 하위 디렉터리 없이 tar 아카이브로 압축하고 싶습니다. 따라서 모든 파일은 아카이브 디렉터리에 저장됩니다.

답변1

추가 모드에서 tar를 사용하여 복사하지 않는 솔루션

find /etc -type f | ( 
   CNT=1 ; 
   TARDST="/tmp/a_flat_archive.tar" 
   while read F ; 
   do 
       D=$(dirname $F) ; 
       SF=$(basename $F) ; 
       if [ $CNT -eq 1 ]; 
       then 
           tar -C "$D" -cf $TARDST  "$SF" ;
       else 
           tar -C "$D" --append -f $TARDST "$SF" ;
       fi ; 
       CNT=$(( $CNT +1 )) ;
   done 
)

관련 정보