tar 개요
`tar`는 원래 자기 테이프(tape)에 파일을 아카이빙하기 위해 만들어졌지만, 현재는 디스크에 파일을 묶는 용도로 주로 사용됩니다. `tar` 자체는 파일을 압축하는 기능이 없지만, `gzip`, `bzip2`, `xz`와 같은 압축 도구와 함께 사용되어 `.tar.gz`, `.tar.bz2`, `.tar.xz`와 같은 압축 아카이브 파일을 생성합니다. 이러한 파일들을 흔히 'tarball'이라고 부릅니다.
tar의 주요 역할
`tar` 명령어는 주로 다음과 같은 목적으로 사용됩니다:
주요 활용 분야
- 백업: 중요한 파일이나 디렉토리를 하나의 아카이브 파일로 묶어 백업합니다.
- 파일 묶음: 여러 파일을 하나로 묶어 관리하거나 전송하기 쉽게 만듭니다.
- 소프트웨어 배포: 소스 코드나 애플리케이션을 압축된 tarball 형태로 배포합니다.
- 압축 및 압축 해제: 다양한 압축 알고리즘(gzip, bzip2, xz)과 통합되어 압축 및 해제 기능을 수행합니다.
tarball 파일 형식
`tar`로 파일을 묶고 압축 도구로 압축하면 다음과 같은 확장자를 가진 파일이 생성됩니다:
일반적인 Tarball 확장자
- `.tar`: 압축되지 않은 아카이브 파일
- `.tar.gz` 또는 `.tgz`: `tar`로 묶고 `gzip`으로 압축된 파일
- `.tar.bz2` 또는 `.tbz`: `tar`로 묶고 `bzip2`로 압축된 파일
- `.tar.xz` 또는 `.txz`: `tar`로 묶고 `xz`로 압축된 파일
주요 tar 명령어 옵션
`tar` 명령어는 파일을 묶고 압축하며, 압축을 해제하고, 아카이브 내용을 확인하는 데 필요한 다양한 옵션을 제공합니다. 이 옵션들은 조합하여 사용됩니다.
1. 기본 동작 모드 (필수 지정)
2. 압축 방식 지정
3. 기타 공통 옵션
생성된 명령어:
명령어를 조합해 보세요.
설명:
`tar` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
`tar` 명령어의 다양한 활용 예시들을 통해 파일 및 디렉토리를 효과적으로 아카이빙하고 압축하며 관리하는 방법을 익혀보세요.
디렉토리 압축 (gzip)
tar -czvf my_project.tar.gz my_project/
`my_project` 디렉토리와 그 안의 모든 내용을 `my_project.tar.gz` 파일로 묶고 `gzip`으로 압축합니다. `-c`: 생성, `-z`: gzip, `-v`: 상세, `-f`: 파일 지정.
tar.gz 파일 압축 해제
tar -xzvf my_project.tar.gz
`my_project.tar.gz` 파일을 현재 디렉토리에 압축 해제합니다. `-x`: 해제, `-z`: gzip, `-v`: 상세, `-f`: 파일 지정.
tar.gz 파일 압축 해제 (특정 디렉토리에)
mkdir -p /tmp/extracted_project
tar -xzvf my_project.tar.gz -C /tmp/extracted_project
`my_project.tar.gz` 파일을 `/tmp/extracted_project` 디렉토리에 압축 해제합니다. `-C` 옵션으로 대상 디렉토리를 지정합니다.
tar.bz2 파일 생성 및 압축 해제
tar -cjvf documents.tar.bz2 documents/
tar -xjvf documents.tar.bz2
`documents` 디렉토리를 `bzip2`로 압축하여 `documents.tar.bz2`를 생성하고, 이후 이를 다시 해제합니다.
tar.xz 파일 생성 및 압축 해제
tar -cJvf logs.tar.xz logs/
tar -xJvf logs.tar.xz
`logs` 디렉토리를 `xz`로 압축하여 `logs.tar.xz`를 생성하고, 이후 이를 다시 해제합니다. `xz`는 가장 높은 압축률을 제공합니다.
아카이브 파일의 내용 목록만 확인
tar -tzvf backup.tar.gz
`backup.tar.gz` 파일의 내용을 실제 해제하지 않고 어떤 파일과 디렉토리가 포함되어 있는지 목록만 확인합니다.
특정 파일만 아카이브에서 추출
tar -xzvf web_backup.tar.gz web_data/index.html
`web_backup.tar.gz`에서 `index.html` 파일만 현재 디렉토리로 추출합니다.