Linux에서 .gz 및 .tgz 파일을 여는 방법

특히 Linux 환경에서 파일 압축을 푸는 것은 일상적인 작업입니다. .gz 및 .tgz 파일을 자주 사용하므로 이러한 파일 형식의 미묘한 차이와 이를 관리하는 데 사용되는 도구를 이해하는 것이 중요합니다. 이 가이드는 GZ 및 TGZ 파일의 세계를 깊이 파고들어 효율적으로 처리하는 방법에 대한 통찰력과 단계별 지침을 제공합니다.

Linux의 파일 압축 이해

파일 압축은 스토리지를 최적화하고 효율적인 데이터 전송을 보장하는 데 중추적인 역할을 합니다. Linux에서는 각각 고유한 특성을 지닌 다양한 도구와 파일 형식을 사용하여 이를 수행합니다.

TAR, GZ 및 TGZ 파일을 고유하게 만드는 것은 무엇입니까?

  • TAR 파일 설명
    • TAR은 테이프 아카이브를 의미합니다. 주요 기능은 여러 파일을 TAR 파일이라는 단일 엔터티로 묶는 것입니다. 흥미롭게도 TAR은 이러한 파일을 압축하지 않습니다. 단순히 그룹화하여 원래 크기가 변경되지 않도록 합니다.
  • GZ 파일 살펴보기
    • GZ 파일은 Gzip 압축 도구에서 나타납니다. TAR과 달리 Gzip은 파일을 압축하여 크기를 줄입니다. 그러나 Gzip이 개별 파일을 압축한다는 점은 주목할 가치가 있습니다. 따라서 파일이 여러 개인 경우 Gzip은 동일한 수의 GZ 파일을 생성합니다. 이 압축 방법은 Linux 및 Unix 시스템의 필수 요소입니다.
  • 퓨전: TAR.GZ 파일
    • TAR.GZ 파일은 기본적으로 Gzip을 사용하여 압축된 TAR 파일입니다. TAR의 그룹화 기능과 Gzip의 압축 기능을 결합한 하이브리드입니다. 이 파일 형식은 주로 Linux 및 Unix 시스템에서 발견됩니다.
  • TGZ: TAR.GZ의 동의어
    • TAR.GZ 파일은 종종 TGZ 파일이라고 합니다. 본질적으로 동일하며 편의상 이름을 다르게 붙였습니다.
  • ZIP 파일: 빠른 개요
    • TAR과 같은 ZIP 파일은 여러 파일을 묶습니다. 그러나 GZ와 유사하게 이러한 파일도 압축합니다. ZIP 파일은 다양한 운영 체제에서 어디에나 존재하지만 가장 일반적으로 Windows와 관련되어 있습니다.

Tarball 또는 Tarfile: 이름에는 무엇이 있습니까?

tarball 또는 tarfile이라는 용어는 특정 TAR 형식의 아카이브 파일을 설명하는 데 구어체로 사용됩니다.

  • TAR 파일: 기본적으로 테이프 보관 파일입니다.
  • TAR.GZ 또는 TGZ 파일: TAR 파일이 Gzip으로 압축되는 경우입니다.
  • TAR.BZ2 또는 TBZ 파일: 이 형식은 TAR 파일에 Bzip2 압축이 적용될 때 나타납니다.

타르볼은 기본적으로 함께 묶인 파일 모음입니다. tar 명령은 이러한 파일을 생성합니다. tar는 본질적으로 압축을 지원하지 않지만 종종 Gzip 또는 Bzip2와 같은 압축 도구와 협력하여 디스크 공간을 절약합니다. 이러한 유틸리티는 일반적으로 단일 파일을 압축하므로 tar와 시너지 효과를 발휘하여 여러 파일에서 단일 파일을 생성합니다.

Linux의 GZ 및 TGZ 파일용 Tar 및 Gzip/Gunzip

취득 그리고 Gzip 파일 보관 및 압축 기능으로 유명한 Linux 생태계의 충실한 기업입니다. 이들은 종종 함께 작동하지만 서로 다른 목적을 가지고 있습니다.

  • Tar 유틸리티의 역할
    • 취득 여러 파일을 단일 아카이브(종종 tarball이라고 함)로 통합합니다. 이 아카이브는 권한 및 소유권과 같은 캡슐화된 파일의 파일 시스템 속성을 유지합니다. 생성 후에도 사용자는 압축되지 않은 한 아카이브를 수정하거나 파일을 추가 또는 제거하거나 파일 이름을 조정할 수 있습니다. 그만큼 tar 명령은 Linux에서 TAR 및 TAR.GZ 파일을 관리하여 생성, 수정 및 추출을 용이하게 하는 데 사용됩니다.
    • 역사적으로 tarball은 선호되는 백업 매체였으며 로컬 테이프 드라이브로 전송되었으므로 Tape Archive(Tar)라는 별명이 붙었습니다. Tar는 파일을 압축하지 않지만 최신 사용에는 디스크 공간을 절약하고 시스템 간 전송을 용이하게 하기 위해 항상 압축이 포함됩니다.
    • Tar는 다용도로 다양한 압축 방법을 지원합니다. Gzip/Gunzip 및 Bzip2/Bunzip2 유틸리티는 최고의 Linux용 파일 보관 솔루션으로 떠오르는 Tar-Gzip 동맹과 함께 최고의 자리를 차지하고 있습니다.
  • Linux 환경의 Gzip
    • Gzip Linux 최고의 파일 압축 유틸리티입니다. 개별 파일을 압축하여 독립적으로 작동할 수 있습니다. Gzip이 파일을 압축하면 새로운 압축 변형이 생성되지만 원본은 일반적으로 삭제됩니다. 결과 압축 파일에는 GZ 확장자가 없습니다. 결과적으로 Gzip이 Tar와 협력할 때 압축된 아카이브는 TAR.GZ 또는 TGZ 확장자를 사용합니다.
    • Gzip과 Zip: Gzip은 유명한 Windows 유틸리티인 Zip과 동일한 압축 알고리즘을 사용하지만 근본적인 차이점이 있습니다. Gzip은 단일 파일을 압축합니다. 따라서 Tar는 먼저 Gzip으로 압축되는 tarball을 생성하기 위해 호출됩니다. 반대로, Zip은 각 파일을 보관하기 전에 압축하므로 보관 크기가 약간 더 커집니다. 이 압축 접근 방식은 먼저 전체 타르볼의 압축을 풀지 않고 개별 파일을 추출하는 것을 복잡하게 만듭니다.

Linux에서 GZ 및 TGZ 파일 생성 및 압축 해제

Tar 및 Gzip/Gunzip 명령을 사용하면 시스템 관리자는 GZ 및 TGZ 파일을 쉽게 생성하고 압축을 풀 수 있습니다. Linux 대응 유틸리티와 마찬가지로 이러한 유틸리티에는 기능을 향상하고 사용자 정의된 사용을 허용하는 다양한 플래그가 포함되어 있습니다. Gzip/Gunzip 및 Tar는 대부분의 Linux 배포판에 통합되어 있으므로 SSH 액세스와 기본적인 Linux 명령줄 지식만 있으면 됩니다.

.gz 파일 관리를 위해 Gzip 및 Gunzip 활용

Gzip 및 Gunzip 명령은 Linux에서 GZ 파일의 압축을 풀 수 있지만 압축된 Tar 아카이브에 직면하면 흔들립니다. 예를 들어, TAR.GZ 파일은 Gzip으로 압축된 TAR 아카이브임에도 불구하고 압축 해제 및 파일 추출을 위해 Tar 명령을 요구합니다.

Gzip으로 파일 압축하기

Gzip은 개별 파일의 압축을 용이하게 하여 원본 파일의 권한과 소유권을 유지하면서 새로운 GZ 확장 변형을 생성합니다. 기본적으로 원본 파일은 압축 후 폐기됩니다. 그러나 이 동작은 변경할 수 있습니다.

Gzip을 사용하여 현재 디렉터리에 있는 세 파일의 압축을 살펴보겠습니다.

# Compress multiple files with GZIP
gzip -kv example1 example2 example3

여기서 -k 플래그는 원본 파일이 그대로 유지되도록 하고, -v 옵션은 실시간 압축 비율 및 파일 이름 표시를 제공합니다. 이 명령은 디렉터리에 세 개의 새로운 GZ 파일을 생성합니다. -k 플래그를 적용할 수 없는 시나리오에서는 -c 옵션을 호출하여 원본 파일을 보존할 수 있습니다.

-c 플래그를 사용하여 새로 압축된 파일의 디렉터리를 수정하거나 이름을 바꿀 수도 있습니다.

# Compress a file without deletion and relocate it to a different directory
gzip -c example1 > /home/temp/compressed_example1.gz

압축을 풀지 않고 GZ 파일 검사하기

Linux의 zcat 명령은 압축을 풀 필요 없이 압축된 파일의 내용을 살짝 엿볼 수 있는 기능을 제공합니다.

# Display the contents of a GZIP compressed file
zcat compressed_example1.gz

GZ 파일 압축 풀기

Gzip/Gunzip 명령에 -d 플래그를 추가하여 Linux에서 GZ 파일의 압축을 풀 수 있습니다. 이전에 논의한 모든 플래그는 계속 적용 가능합니다. 기본적으로 -k 플래그가 호출되지 않는 한 GZ 파일은 압축 해제 후 삭제됩니다. 이전에 동일한 디렉터리에 압축한 GZ 파일의 압축을 풀어 보겠습니다.

# Decompress GZ file
gzip -dv compressed_example1.gz

이 맥락에서 다음 명령은 동의어입니다.

gunzip 명령 사용:

# Decompress GZ file
gunzip example.gz

gzip -d 명령 사용:

# Decompress GZ file
gzip -d example.gz

TGZ 파일 관리에 Tar 사용

tar 명령은 Linux에서 TGZ 파일을 관리하는 데 중추적인 역할을 합니다. 사용자는 전체 아카이브의 압축을 풀거나 특정 파일이나 디렉터리를 선별할 수 있습니다.

tar.gz 아카이브 만들기

Gzip으로 압축된 Tar 아카이브를 만들기 전에 포함할 파일을 식별하고 그룹화 전략을 결정하세요. 파일을 수동으로 선택하거나 하위 디렉터리와 함께 전체 디렉터리를 보관할 수 있습니다. 개별 파일에 대해 작동하는 Gzip과 달리 Gzip으로 압축된 Tar 아카이브를 생성해도 원본 파일은 삭제되지 않습니다.

# Construct a TGZ archive of a directory and relocate it to a different folder
tar -czvf archive.tar.gz directory_name -C /home/temp

이 명령에서:

  • c 아카이브 생성을 시작합니다.
  • z Gzip 압축을 트리거합니다.
  • v 상세 모드를 활성화하여 자세한 명령 실행 출력을 제공합니다.
  • f 새 아카이브의 파일 이름을 지정합니다.
  • C 대체 대상 디렉터리를 지정합니다.

아카이브 내용 검사

-t 플래그를 사용하면 기존 TGZ 아카이브 파일의 내용을 쉽게 검사할 수 있습니다. 또한 사용자는 특히 광범위한 아카이브에서 파이프를 사용하여 특정 파일을 정확히 찾아낼 수 있습니다.

# Enumerate the contents of a TGZ archive
tar -tvf archive.tar.gz

tar.gz 파일 압축 풀기

Gzip으로 압축된 Tar 아카이브는 tar 명령에서 제공하는 -x(추출) 플래그를 사용하여 압축을 풀 수 있습니다. 기본적으로 Tar는 TGZ 파일의 내용을 추출하여 현재 작업 디렉터리로 보냅니다. 그러나 사용자는 추출을 위해 대체 디렉터리를 지정할 수 있습니다.

# Decompress Tar Gz file and relocate uncompressed files to a different directory
tar -xzvf archive.tar.gz -C /home/temp

종종 사용자는 TGZ 아카이브에서 특정 파일이나 폴더를 추출해야 할 수도 있습니다. 그만큼 tar 명령을 사용하면 다음과 같은 작업이 가능해집니다.

# Validate the desired file's presence in the archive
tar -tvf archive.tar.gz | grep desired_file

파일이 보관된 디렉터리에 상주하므로 전체 디렉터리를 복원하지 않고 직접 추출하는 것은 어렵습니다. 스트립 구성 요소 옵션은 이러한 장애물을 우회하여 사용자가 상위 폴더 없이 원하는 파일이나 디렉터리를 추출할 수 있도록 합니다. 사용자는 추출을 위해 파일 또는 디렉터리의 전체 경로를 지정해야 합니다.

# Extract a specific file from the Tar Gz archive
tar -xzvf archive.tar.gz path/to/desired_file --strip-components=2

결론

GZ 및 TGZ 파일 관리는 Linux 사용자에게 필수적인 기술입니다. 이러한 파일 형식은 Linux 생태계의 데이터 압축 및 보관에 중추적인 역할을 합니다. Gzip 및 Tar 명령을 마스터함으로써 사용자는 데이터를 효율적으로 관리, 압축 및 압축 해제하여 최적의 저장 및 데이터 전송을 보장할 수 있습니다. 숙련된 Linux 사용자이든 초보자이든 이러한 명령과 그 미묘한 차이를 이해하면 작업을 크게 간소화하고 Linux 경험을 향상시킬 수 있습니다.

Joshua James

코멘트를 남겨주세요