CS/Linux

[Linux] 파일의 압축과 묶기

kyoulho 2024. 9. 22. 15:45

파일 압축

파일 압축은 여러 파일이나 디렉토리를 하나의 파일로 줄여 저장 공간을 절약하고, 전송 속도를 향상시키는 방법이다. 다양한 압축 형식이 존재하며, 각각의 특성과 장단점이 있다.

주요 압축 형식

  • XZ: 높은 압축률을 제공하며, 주로 소스 코드 패키지나 백업 파일에 사용된다.
  • Bzip2 (bz2): XZ와 비슷하게 높은 압축률을 제공하지만, 압축 및 해제 속도는 조금 느리다.
  • Gzip (gz): 빠른 압축 및 해제 속도를 제공하지만, 압축률은 XZ나 Bzip2보다 낮다.
  • Zip: 윈도우 환경에서 널리 사용되며, 다양한 플랫폼에서 호환성이 좋다.
  • Z: 오래된 압축 형식으로, 현재는 잘 사용되지 않는다.

일반적으로 XZ나 Bzip2는 Gzip보다 더 높은 압축률을 제공하지만, 압축 및 해제 속도는 다소 느릴 수 있다. 사용 목적에 따라 적절한 압축 형식을 선택하는 것이 중요하다.

파일 압축 관련 명령어

XZ

XZ는 높은 압축률을 제공하는 압축 도구이다.

# 압축
xz filename

# 압축 해제
xz -d filename.xz
unxz filename.xz

Bzip2

Bzip2는 높은 압축률을 제공하며, 주로 텍스트 파일에 효과적이다.

# 압축
bzip2 filename

# 압축 해제
bzip2 -d filename.bz2
bunzip2 filename.bz2

Gzip

Gzip은 빠른 압축과 해제를 제공하는 도구로, 로그 파일이나 웹 서버 파일 압축 등에 자주 사용된다.

# 압축
gzip filename

# 압축 해제
gunzip filename.gz
gzip -d filename.gz

파일 묶기

리눅스(유닉스)에서는 파일 압축과 파일 묶기는 원칙적으로 별개의 프로그램으로 수행된다. 파일을 하나로 묶어주는 도구는 tar이며, 묶인 파일의 확장명은 일반적으로 .tar이다.

tar 명령어

tar는 "tape archive"의 약자로, 여러 파일과 디렉토리를 하나의 아카이브 파일로 묶는 데 사용된다. tar는 압축 기능을 포함하지 않으며, 보통 다른 압축 도구와 함께 사용된다.

기본 사용법

파일 묶기:

tar -cvf archive.tar /path/to/directory
  • -c: 새로운 아카이브 생성
  • -v: 과정 출력 (verbose)
  • -f: 아카이브 파일 이름 지정

파일 묶기 및 압축하기:

# gzip으로 압축
tar -czvf archive.tar.gz /path/to/directory
# bzip2로 압축
tar -cjvf archive.tar.bz2 /path/to/directory
# xz로 압축
tar -cJvf archive.tar.xz /path/to/directory

아카이브 해제하기:

tar -xvf archive.tar
# gzip으로 압축된 경우
tar -xzvf archive.tar.gz
# bzip2로 압축된 경우
tar -xjvf archive.tar.bz2
# xz로 압축된 경우
tar -xJvf archive.tar.xz

tar 명령어 예제

# myfolder 디렉토리를 myfolder.tar로 묶는다.
tar -cvf myfolder.tar myfolder/

# myfolder 디렉토리를 myfolder.tar.gz로 묶고 압축한다.
tar -czvf myfolder.tar.gz myfolder/

# myfolder.tar.gz를 현재 디렉토리에 해제한다.
tar -xzvf myfolder.tar.gz
728x90

'CS > Linux' 카테고리의 다른 글

[Linux] CRON과 AT  (0) 2024.09.22
[Linux] 파일 위치 검색  (1) 2024.09.22
[Linux] 패키지 관리자  (1) 2024.09.22
[Linux] 하드 링크와 심볼릭 링크  (1) 2024.09.20
[Linux] 사용자와 그룹  (1) 2024.09.18