윈도우에서는 일이나 폴더를 선택하고 압축할 때, 압축과 아카이빙을 동시에 수행하는 방법을 제공하지만 리눅스는 그렇지 않다. 리눅스 에서는 압축하거나 관리할 파일들을 먼저 하나의 파일로 묶음(아카이빙)의 과정을 먼저 거치고 묶인 파일을 따로 추가로 압축을 해서 용량을 줄이는 방법을 사용하는 방법을 제공한다.
윈도우와 리눅스에서의 압축 차이점
윈도우 | 리눅스 |
압축과 아카이빙을 동시에 수행 | 1. 아카이빙: 여러 파일을 하나로 묶음 |
단일 과정으로 처리 | 2. 압축: 아카이브 파일을 압축하여 용량 감소 |
사용자 편의성 중심 | 유연성과 세부 제어 가능 |
아카이빙이란?
- 여러 개의 파일이나 디렉터리를 모아서 파일 하나로 만드는 것 (용량 변화x)
- .tar의 확자를 갖는다.
- .tar의 파일을 다시 gizp을 사용하여 압축해서 .tar.gz의 파일을 자주 사용한다.
tar란?
tar는 'Tape Archive'의 약자로, 여러 파일을 하나의 파일로 묶는 아카이브 도구 (tar 자체는 압축 기능이 없다.)
tar의 장점:
- 여러 파일을 하나로 묶어 관리할 수 있어 파일 전송이나 백업에 용이
- 디렉토리 구조와 파일 권한 등 메타데이터를 보존할 수 있다.
- 다양한 압축 알고리즘(gzip, bzip2, xz 등)과 함께 사용 가능하여 유연성이 높다.
- 리눅스, 유닉스 시스템에서 널리 사용되어 호환성이 좋다.
- 대용량 파일 처리에 효율적이다.
- 증분 백업이 가능하여 변경된 파일만 추가할 수 있다.
tar 압축은 특히 여러 파일을 하나로 묶어 네트워크를 통해 전송하거나, 시스템 백업을 수행할 때 매우 유용하다. 또한, 소스 코드 배포나 소프트웨어 패키징에도 널리 사용된다.
tar 명령어
$ tar [OPTION] [아카이브FILE명] [FILE|PATH]
주요 옵션
-c | 새로운 아카이브 파일을 생성 |
-x | 아카이브 파일의 내용을 추출 |
-v | 처리되는 파일들의 정보를 자세히 보여줌 |
-f | 아카이브 파일의 이름을 지정 |
-z | gzip을 이용한 압축/해제 |
-j | bzip2를 이용한 압축/해제 |
-t | 아카이브 파일의 내용을 확인 |
-r | 아카이브 파일의 끝에 파일을 추가 |
-u | 아카이브 파일에 새로운 파일을 추가 |
# 현재 디렉토리의 모든 파일과 디렉토리를 tar로 묶기
$ tar cvf 파일명.tar *
# 대상 디렉토리를 포함한 모든 파일과 디렉토리를 tar로 묶기
$ tar cvf 파일명.tar [PATH]
# 파일을 지정하여 tar 아카이브로 묶기
$ tar cvf 파일명.tar [FILE_1] [FILE_2]
# tar 아카이브의 내용 확인하기
$ tar tvf 파일명.tar
# tar 아카이브를 현재 디렉토리에 풀기
$ tar xvf 파일명.tar
# tar 아카이브를 지정된 디렉토리에 풀기
$ tar xvf 파일명.tar -C [PATH]
# tar 아카이브 묶거나 풀 때 파일 별 진행 여부 확인하기
$ tar cvfw 파일명.tar *
# 현재 디렉토리를 tar로 묶고 gzip으로 압축하기
$ tar zcvf 파일명.tar.gz *
# gzip으로 압축된 tar 아카이브를 현재 디렉토리에 풀기
$ tar zxvf 파일명.tar.gz
참고
[LINUX] 📚 아카이브 & 압축 명령어 정리 (tar / compress / gzip / bzip2 / xz / zip) (tistory.com)
'Linux' 카테고리의 다른 글
하드 링크와 심볼릭 링크 (0) | 2024.09.25 |
---|---|
profile과 bashrc (0) | 2024.09.23 |
scp (0) | 2024.09.09 |
JVM, JRE JDK (0) | 2024.09.04 |
ulimit와 limits.conf (0) | 2024.09.04 |