Archive ?
- 여러개의 파일을 하나의 파일로 묶는 방법
- 압축은 원래 하나밖에 할 수 없음
- 여러 개의 파일을 압축하기 위해선 아카이브화 해야함
tar
- Type Archive
- 아카이브 파일에는 확장자
.tar
을 붙여서 사용함archive-test.tar
- TAPE 저장 장치에 데이터를 기록할 때 사용되는 형식
압축하는 방법
- 여러개의 파일을 묶은 후(아카이브화), 아카이브 파일을 압축함(gz)
- 원래의 압축은 파일 하나만의 용량을 줄여주는 기능임
- 여러개는 동시에 압축이 불가능
옵션
옵션 | 설명 |
---|---|
-c | 아카이브 파일을 생성함 |
-x | 아카이브 파일을 해제함 |
-v | 진행 과정 출력 |
-f | 아카이브 파일을 사용 |
-r | 기존 아카이브 파일에 새로운 파일을 추가할 때 |
-t | 아카이브내에 파일 목록 확인 |
-p | 압축/압축해제 시 퍼미션 유지 |
-P | 절대 경로를 유지하고 압축/압축 해제 |
압축 종류
- (gzip , gunzip)
- (bzip2, bunzip2)
- xz
gzip [파일명]
-1
: 압축속도가 가장 빠르며 압축율은 가장 낮음. 속도를 우선시 함-9
: 압축속도가 가장 느리며 압축율은 가장 높음. 파일의 용량이 크면 클수록 효율이 좋음-6
: 기본값
gzip
을 통해 압축하기
$ gzip file-1
# time 명령어를 통해 gzip을 실행하였을 때 걸리는 시간을 확인할 수 있음
$ time gzip file-1
real 0m0.001s
user 0m0.001s
sys 0m0.000s
bzip2
- 압축률을 gzip과 비교했을 때 월등히 뛰어나다
$ bzip2 archive-test-tar
xz
- 압축률을 비교하였을 때 gzip < bzip2 < xz 순이다
- 용량이 클수록 압축률이 좋은 프로그램을 사용하는게 좋을 것이다
$ xz archive-test-tar
압축 해제
gunzip
gunzip [파일명].gz
.gz
확장자 압축 해제
# gunzip [파일명].gz
$ gunzip archive-test.tar.gz
bunzip2
bunzip2 [파일명].bz2
.bzip2
확장자 압축 해제
bunzip2 archive-test-tar.bz2
unxz
unxz [파일명].xz
.xz
확장자 압축 해제
$ unxz archive-test-tar.xz
Archive
아카이브 생성하기
tar -cvf {아카이브명.tar} [파일1] [파일2] [파일3] ...
$ tar -cvf files.tar file1 file2 file3
아카이브 해제하기
- `tar -xvf {해제할아카이브명.tar}
아카이브 목록 확인
tar -tvf {아카이브명.tar}
$ tar -tvf testarchive.tar
특정 디렉토리에 아카이브 해제
tar -xvf {아카이브명.tar} -C {아카이브 해제할 경로}
$ tar -xvf test-archive.tar -C /tmp/archive
find로 파일 모으기
find 커맨드로 찾은 파일들을 archives.tar 파일로 묶기
$ find . -name "archive-test" 2>/dev/null -exec sh -c "tar -rvf archives.tar {}" \;
아카이브 파일 목록 확인해보기
$ tar -tvf archives.tar
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test6
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test9
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test1
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test10
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test3
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test7
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test8
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test4
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test2
-rw-rw-r-- ncloud/ncloud 0 2023-05-30 21:39 ./archive/archive-test5