bash에서 모든 하위 디렉터리의 모든 파일을 하나의 압축 파일로 gzip하는 방법
중복 가능성:
g디렉토리 집합 압축 및 tar 압축 파일 만들기
이 게시물은 디렉터리 구조 내에서 각 파일을 개별적으로 gzip하는 방법을 설명합니다.하지만, 저는 약간 다른 것을 해야 합니다.저는 특정 디렉토리에 있는 모든 파일에 대해 하나의 큰 gzip 파일을 생성해야 합니다.또한 압축 파일의 출력 파일 이름(예: files.gz)을 지정하고 이전 압축 파일 파일이 이미 있는 경우 파일을 덮어쓸 수 있어야 합니다.
tar -zcvf compressFileName.tar.gz folderToCompress
폴더의 모든 항목ToCompress는 compressFileName으로 이동합니다.
편집: 리뷰와 댓글을 보고 사람들이 확장자 없이 compressFileName과 혼동할 수 있다는 것을 깨달았습니다.원하는 경우 compressFileName과 함께 .tar.gz 확장자(제안된 대로)를 사용할 수 있습니다.
명령줄을 재귀적으로 작동하는 많은 압축 방법이 있으며 최종 사용자가 누구인지 알 수 있습니다.
예를 들어, 윈도우를 실행하는 사람에게 전송하려면 zip이 가장 좋습니다.
zip -r file.zip folder_to_zip
unzip filenname.zip
다른 리눅스 사용자들을 위한 것이거나 당신의 셀카는 훌륭합니다.
tar -cvzf filename.tar.gz folder
tar -cvjf filename.tar.bz2 folder # even more compression
#change the -c to -x to above to extract
타르를 조심해야 하며, 예를 들어 내가 달리는 경우에는 타르가 어떻게 얼룩지고 추출되는지 주의해야 합니다.
cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd
pwd
/home/내 사용자 이름
tar -xvzf passwd.tar.gz
이렇게 하면 /home/myusername/etc/passwd가 생성됩니다.
모든 버전의 tar가 이 작업을 수행하는지 확실하지 않음:
Removing leading `/' from member names
@amitchhajer의 게시물은 GNU tar에서 작동합니다.다른 사용자가 이 게시물을 발견하고 NON에서 작업하기 위해 필요한 경우GNU
시스템은 다음과 같은 작업을 수행할 수 있습니다.
tar cvf - folderToCompress | gzip > compressFileName
보관 파일을 확장하는 방법
zcat compressFileName | tar xvf -
언급URL : https://stackoverflow.com/questions/12331633/how-to-gzip-all-files-in-all-sub-directories-into-one-compressed-file-in-bash
'programing' 카테고리의 다른 글
Xcode MyProjectName-Bridging-Header.h가 존재하지 않습니다. (0) | 2023.05.01 |
---|---|
테이블에 트리거 SQL 서버 사용 안 함 (0) | 2023.05.01 |
Bash를 사용하여 모든 하위 디렉토리에서 작업 수행 (0) | 2023.04.26 |
동일한 요소에서 *ngIf 및 *ngFor로 인해 오류 발생 (0) | 2023.04.26 |
셸에서 배열의 길이를 찾는 방법은 무엇입니까? (0) | 2023.04.26 |