SHAR 아카이브 형식

SHAR(Shell Archive)은 파일을 단일 쉘 스크립트로 묶는 Unix 기반 아카이브 형식입니다. 이 형식은 파일을 Unix 계열 시스템에서 실행하여 원본 파일을 다시 생성할 수 있는 일반 텍스트 스크립트로 인코딩합니다. SHAR은 Unix 초기에 특히 이메일이나 유즈넷을 통해 소프트웨어 배포 및 파일 모음 공유를 위해 널리 사용되었습니다. tar 및 zip과 같은 최신 형식으로 대체되었지만 SHAR은 단순성과 기본 셸 명령을 사용하여 생성 및 추출할 수 있는 기능으로 인해 Unix 생태계에서 중요한 역사적 형식으로 남아 있습니다.

일반 SHAR 아카이브 정보

SHAR 아카이브(셸 아카이브)는 여러 파일을 단일 일반 텍스트 스크립트로 묶는 데 사용되는 Unix 기반 형식입니다. 이 스크립트를 실행하면 Unix 계열 시스템에 원본 파일과 디렉터리가 다시 생성됩니다. SHAR은 Unix 초기에 이메일이나 유즈넷을 통해 소프트웨어, 문서 및 기타 파일 컬렉션을 배포하는 데 특히 인기가 있었습니다. 최신 압축 형식이 SHAR을 대체했지만 단순성과 기본 셸 명령 사용의 용이성으로 인해 Unix 역사상 중요한 형식으로 남아 있습니다.

SHAR 아카이브 형식 기록

  • 1980년대: SHAR은 Unix 시스템 배포를 위해 파일을 단일 스크립트로 묶는 편리한 방법으로 등장했습니다. 이메일과 유즈넷이 소프트웨어와 파일을 공유하는 주요 수단인 환경에서 특히 유용했습니다.
  • 1990년대 초반: 인터넷 사용량이 증가함에 따라 SHAR은 간단한 텍스트 기반 형식이 초기 네트워크를 통해 쉽게 전송되므로 이메일을 통해 파일을 배포하는 데 계속해서 인기 있는 형식이었습니다.
  • 1990년대 중반: tar와 같은 고급 아카이브 형식이 gzip과 같은 압축 도구와 결합되면서 SHAR의 사용량이 감소했지만 간단한 텍스트 기반 배포에는 계속 사용되었습니다.
  • 2000년대: SHAR은 주로 특정 Unix 커뮤니티나 역사적인 목적으로 사용되는 틈새 형식이 되었습니다. 생성이 쉽고 기본 셸 명령과의 호환성 덕분에 특정 작업에 대한 관련성이 유지되었습니다.
  • 현재: SHAR은 대부분 최신 아카이브 형식으로 대체되었지만 여전히 Unix 역사에서 그 역할을 인정받고 있으며 레거시 시스템이나 교육 목적으로 가끔 사용됩니다.

쉘 아카이브의 구조

SHAR(Shell Archive) 파일의 구조는 Unix 계열 시스템에서 실행할 수 있는 자동 압축 풀기 스크립트로 설계되었습니다. 바이너리 아카이브와 달리 SHAR 파일은 일반 텍스트이며 셸에서 해석됩니다. 일반적인 SHAR 아카이브의 구조에 대한 개요는 다음과 같습니다.

  • 헤더: SHAR 아카이브는 일반적으로 생성 날짜, 작성자, 콘텐츠 설명 등 아카이브에 대한 설명을 포함하는 헤더로 시작됩니다. 이 섹션에는 아카이브 압축 풀기에 대한 지침도 포함될 수 있습니다.
  • 파일 지시어:
    • SHAR 아카이브 내의 각 파일은 일련의 셸 명령으로 표시됩니다. 이러한 명령은 일반적으로 시스템의 적절한 위치에 파일 내용을 쓰는 echo 또는 cat 명령으로 시작됩니다.
    • 파일 지시문에는 각 파일이 생성된 후 chmod 명령을 사용하여 올바른 파일 권한을 설정하는 명령도 포함되어 있습니다.
  • 파일 콘텐츠: 각 파일의 실제 콘텐츠는 SHAR 아카이브 내에 포함되며 일반적으로 uuencoding과 같은 텍스트 기반 방법을 사용하여 인코딩됩니다. 이렇게 하면 바이너리 파일이 아카이브에 안전하게 포함되고 일반 텍스트로 전송될 수 있습니다.
  • 디렉터리 구조: SHAR 아카이브에 디렉터리가 포함된 경우 스크립트에는 파일이 추출되기 전에 mkdir 명령을 사용하여 이러한 디렉터리를 생성하는 명령이 포함됩니다.
  • 바닥글: SHAR 아카이브는 바닥글로 끝납니다. 바닥글에는 추출된 파일의 무결성을 확인하기 위한 추가 설명, 체크섬 또는 기타 메타데이터가 포함되는 경우가 많습니다. 바닥글에는 추출 프로세스가 성공적으로 완료되었음을 나타내는 메시지가 포함될 수도 있습니다.

SHAR 압축 방법

SHAR(Shell Archive) 파일은 기본적으로 형식 자체에 압축 방법을 포함하지 않습니다. 대신 Unix와 같은 환경에서 쉽게 배포하고 추출할 수 있도록 파일을 패키지하도록 설계된 일반 텍스트 셸 스크립트입니다. 그러나 압축은 몇 가지 다른 방법으로 적용될 수 있습니다.

  • 압축되지 않음: 기본적으로 SHAR 아카이브는 압축되지 않은 텍스트 파일이므로 쉘 스크립트로 쉽게 읽고 실행할 수 있습니다. 이 접근 방식은 단순성과 광범위한 호환성을 유지하므로 표준 셸 명령을 사용하여 파일의 압축을 쉽게 풀 수 있습니다.
  • 외부 압축: SHAR 파일은 생성된 후 GZIP, BZIP2 또는 ZIP과 같은 외부 압축 도구를 사용하여 압축할 수 있습니다. 이렇게 하면 배포 또는 저장을 위한 전체 파일 크기가 줄어들지만 SHAR 아카이브를 실행하려면 압축을 풀어야 합니다. 예를 들어 SHAR 파일은 .shar.gz 또는 .shar.bz2 파일로 배포될 수 있습니다.
  • 패킹 후 압축: 경우에 따라 SHAR 아카이브에는 추출된 개별 파일을 압축하는 명령이 스크립트 내에 포함될 수 있습니다. 이는 덜 일반적이지만 압축 풀기 프로세스의 일부로 아카이브 내의 특정 파일을 압축해야 할 때 사용할 수 있습니다.
  • TAR과의 결합: SHAR 자체에는 압축이 포함되어 있지 않지만 TAR 아카이브(압축 가능)와 결합하여 .tar.shar.gz 또는 유사한 파일을 생성할 수 있습니다. 이 방법을 사용하면 단일 단계로 더 큰 파일 모음을 보관하고 압축할 수 있습니다.

.shar 지원되는 작업

Aspose.Zip API는 소프트웨어 배포 및 백업 생성에 일반적으로 사용되는 디스크 이미지 파일인 .shar 파일 작업을 위한 다양한 작업을 지원합니다. 다음은 .shar 파일용 Aspose.Zip API에서 지원하는 주요 작업 중 일부입니다.

  • SHAR 아카이브 생성: SHAR 파일은 단순함을 넘어 소프트웨어 배포 및 백업 생성에 대한 다양한 접근 방식을 제공합니다. Aspose.Zip을 사용하면 포괄적인 기능 세트를 통해 이 형식을 원활하게 활용할 수 있습니다. 기존 파일과 디렉터리에서 새로운 SHAR 아카이브를 구축하세요. 이 기능은 소프트웨어 설치 프로그램이나 포괄적인 백업을 만드는 데 이상적입니다. Aspose.Zip은 ZIP, RAR, 7Z 및 기타 SHAR 파일 형식과 같은 기존 아카이브와 관련된 모든 기능을 지원하지 않을 수 있습니다.

.shar 파일의 구조

SHAR 파일은 기본적으로 쉘 스크립트입니다. 실행 시 원본 파일 구조를 다시 생성하는 명령이 포함된 텍스트 기반 형식입니다. 기본 구조:

  • 쉘 스크립트 헤더: 표준 쉘 스크립트 헤더(예: #!/bin/sh).
  • 파일 메타데이터: 파일 이름, 권한, 수정 시간을 포함한 각 파일에 대한 정보입니다.
  • 파일 콘텐츠: 일반적으로 base64 또는 유사한 형식으로 인코딩된 실제 파일 콘텐츠입니다.
  • 셸 명령: 디렉터리를 생성하고 파일 콘텐츠를 디스크에 쓰는 명령입니다.

.shar 파일의 구조

SHAR 아카이브의 쇠퇴

오늘날 SHAR 아카이브는 레거시 형식으로 간주되며 최신 소프트웨어 배포에서는 거의 사용되지 않습니다. 이는 과거 소프트웨어 아카이브나 매우 오래된 시스템과의 호환성이 필요한 틈새 상황에서 여전히 발생할 수 있지만 대부분은 보다 효율적이고 안정적인 아카이브 방법으로 대체되었습니다.

  • 제한된 기능: SHAR 아카이브에는 압축, 오류 처리, 메타데이터 보존과 같은 최신 아카이브 형식에 있는 기능이 부족합니다.
  • 보안 문제: 셸 스크립트로서 SHAR 파일에는 잠재적으로 악성 코드가 포함되어 보안 위험을 초래할 수 있습니다.
  • 효율성: 최신 형식에 비해 SHAR은 일반적으로 저장 및 추출 속도 측면에서 효율성이 떨어집니다.
  • 더 나은 대안의 출현: ZIP, TAR, 7-Zip과 같은 형식은 뛰어난 성능, 보안 및 기능을 제공하여 대부분의 사용자가 선호하는 형식입니다.

거부 이유

SHAR 아카이브 사용 예

Aspose.Zip은 SHAR(Shell Archive) 파일을 생성하는 기능을 제공하므로 UNIX 및 Linux 시스템에서 쉽게 배포할 수 있도록 여러 파일을 단일 아카이브로 묶을 수 있습니다. 그러나 Aspose.Zip은 현재 SHAR 아카이브 생성만 지원하며 기존 SHAR 파일의 추출 또는 수정과 같은 다른 작업에 대한 기능은 포함하지 않는다는 점에 유의하는 것이 중요합니다. 다음은 프로젝트에서 Aspose.Zip을 사용하여 SHAR 아카이브를 생성하는 방법을 보여주는 예입니다.

Create SHAR Arcive via C#

    using(SharArchive a = new SharArchive())
    {
        a.CreateEntry(first.bin, data.bin);
        a.Save(result.shar);
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

추가 정보

사람들이 물어봤어

1. SHAR 아카이브에서 파일을 어떻게 추출합니까?

SHAR 아카이브에서 파일을 추출하려면 SHAR 파일 자체를 실행합니다. 스크립트는 명령을 실행하여 원래 파일 구조를 다시 만듭니다.

2. SHAR 아카이브는 오늘날에도 여전히 사용됩니까?

SHAR 아카이브는 오늘날 거의 사용되지 않습니다. ZIP, TAR, 7-Zip과 같은 최신 아카이브 형식은 뛰어난 기능과 ​​보안을 제공하므로 대부분의 사용자가 선호합니다.

3. SHAR 아카이브의 제한 사항은 무엇입니까?

SHAR 아카이브에는 압축 부족, 제한된 메타데이터 지원, 셸 스크립트 특성으로 인한 잠재적 보안 위험, 최신 아카이브 형식에 비해 비효율성 등 여러 가지 제한 사항이 있습니다.