tar: 파일 아카이브
- 아카이브: tar cf <아카이브 파일 이름> <아카이브로 묶을 파일 경로>
- c 옵션: create, 새로운 아카이브 파일 생성
- f 옵션: file, 파일 이름 지정
- 확장자: .tar
- 하이픈 무관
- 파일의 권한, 소유자, 타임스탬프 같은 파일의 속성을 유지한 채로 아카이브하기 때문에 백업에 적합함 → 디렉터리를 온전히 백업하기 위해서는 슈퍼 사용자 권한으로 실행
$ tar cf dir1.tar dir1
# dir1과 그 안의 파일이 dir.tar이라는 아카이브 파일에 묶임
- 아카이브 파일 내용 확인: tar tf <아카이브 파일>
- v 옵션: 권한이나 소유자 등의 상세 정보 함께 출력
$ tar tf dir1.tar
- 아카이브 해제: tar xf <아카이브 파일>
tar xf dir1.tar
gzip: 파일 압축
$ gzip ps.txt
- 압축 파일 복원
- 압축 파일 자동 삭제되며 압축 해제된 파일만 남음
- gunzip 명령어도 동일한 동작 수행
$ gzip -d ps.txt.gz
- 아카이브 기능이 없으며 파일 하나만 압축할 수 있으므로, 파일 여러 개를 묶어서 압축하려면 tar로 아카이브 후 사용 → 확장자: .tgz
- 최근 tar 명령어에는 gzip의 압축 기능도 포함하여 tar + gz 파일 생성 가능 → c 옵션과 함께 z 옵션 추가
$ tar czf dir1.tar.gz dir1
- tar + gz 파일 복원 → x 옵션과 z 옵션 지정
$ tar xzf dir1.tar.gz
bzip2: 파일 압축
- gzip보다 압축률이 높으나 걸리는 시간이 더 오래 걸림
- 확장자: .bz2
# 압축
$ bzip2 ps.txt
# 복원
$ bzip2 -d ps.txt.bz2
# tar + bzip2
$ tar cfj dir1.tar.bz2 dir1
xz: 파일 압축
- 압축률은 bz1보다 좋으나 시간이 무척 오래 걸림
# tar + xz 형식으로 압축
$ tar cJf dir1.tar.xz dir1
zip: 아카이브 + 압축
- 여러 파일과 디렉터리를 파일 하나로 압축 가능
- 확장자: .zip
- 윈도나 macOS에서 많이 사용
- -q 옵션: 파일 작성 시나 복원 시 대상 파일 이름 출력되지 않음
- -e 옵션: 파일 작성 시 암호 지정
# zip 파일 작성
$ zip -r dir1.zip dir1
# zip 파일 내용 확인
$ zipinfo dir1.zip
# zip 파일 복원
$ unzip dir1.zip