리눅스용 5가지 최고의 명령 줄 아카이브 도구 – 파트 1

일상 생활에서는 모든 종류의 플랫폼에서 아카이브된 파일을 만날 수 있습니다. Windows, Mac, 또는 Linux일 수 있습니다. 모든 플랫폼에는 아카이브 파일을 만들거나 압축 해제할 수 있는 여러 응용 프로그램이 있습니다. Linux 플랫폼에서 작업할 때 아카이브된 파일을 매우 자주 처리해야 합니다.

Linux Command Line Archive Tools

본 문서에서는 표준 Linux 배포판에서 제공되는 아카이브 도구, 그들의 기능, 예제 등에 대해 논의하겠습니다. 이 문서는 두 부분으로 나뉘며 각 부분에는 다섯 가지의 명령줄 아카이브 도구가 포함되어 있습니다(즉, 총 10개의 최고 명령줄 아카이브 도구가 있습니다).

아카이브된 파일이란 무엇입니까?

아카이브 파일은 하나 이상의 컴퓨터 파일과 메타데이터로 구성된 압축 파일입니다.

아카이빙의 특징

  1. 데이터 압축
  2. 암호화
  3. 파일 연결
  4. 자동 추출
  5. 자동 설치
  6. 소스 볼륨 및 미디어 정보
  7. 파일 분할
  8. 체크섬
  9. 디렉터리 구조 정보
  10. 다른 메타데이터(데이터에 대한 데이터)
  11. 오류 검색

응용 분야

  1. 메타데이터와 함께 컴퓨터 파일 시스템 저장
  2. 로컬로 파일 전송에 유용함
  3. 웹을 통한 파일 전송에 유용함
  4. 소프트웨어 패키징 응용 프로그램

표준 Linux 배포판에서 유용한 아카이빙 응용 프로그램은 다음과 같습니다:

1. tar 명령어

tar는 표준 UNIX/Linux 아카이빙 애플리케이션 도구입니다. 초기에는 테이프 아카이빙 프로그램으로 시작해 점차 다양한 종류의 아카이브 파일을 처리할 수 있는 일반 목적 아카이빙 패키지로 발전했습니다. tar는 많은 아카이빙 필터 옵션을 받아들입니다.

tar 옵션

  1. -A : 기존 아카이브에 tar 파일 추가.
  2. -c : 새 아카이브 파일 생성.
  3. -d : 아카이브와 지정된 文献系统 비교.
  4. -j : 아카이브 버지니아.
  5. -r : 기존 아카이브에 파일 추가.
  6. -t : 기존 아카이브의 내용 나열.
  7. -u : 아카이브 업데이트.
  8. -x : 기존 아카이브에서 파일 추출.
  9. -z : 아카이브 지원.
  10. –delete : 기존 아카이브에서 파일 삭제.
tar 예제

tar 아카이브 파일 생성.

# tar -zcvf name_of_tar.tar.gz /path/to/folder

tar 아카이브 파일 압축 해제.

# tar -zxvf Name_of_tar_file.tar.gz

자세한 예제는 18 Tar Command Examples in Linux를 읽어보세요.

shar 명령어

shar는 파일을 생성하는 셸 스크립트로, Shell 아카이브를 나타냅니다. shar은 자가 압축 아카이브 파일로, 레거시 유틸리티이며 파일을 추출하려면 Unix Bourne Shell이 필요합니다. shar은 일반 텍스트로 이점을 가지고 있지만 실행 가능한 파일을 출력하기 때문에 잠재적으로 위험할 수 있습니다.

shar 옵션

  1. -o : 지정된 대로 아카이브 파일에 출력을 저장합니다.
  2. -l : 지정된 대로 출력 크기를 제한하지만 분할하지 않습니다.
  3. -L : 지정된 대로 출력 크기를 제한하고 분할합니다.
  4. -n : shar 파일의 헤더에 포함될 아카이브의 이름입니다.
  5. -a : 헤더를 자동으로 생성할 수 있도록 허용합니다.

참고: ‘-o‘ 옵션은 ‘-l‘ 또는 ‘-L‘ 옵션이 사용된 경우 필요하며 ‘-n‘ 옵션은 ‘-a‘ 옵션이 사용된 경우 필요합니다.

shar 예시

shar 아카이브 파일을 생성합니다.

# shar file_name.extension > filename.shar

shar 아카이브 파일을 추출합니다.

# unshar file_name.shar

3. ar 명령어

ar는 주로 이진 객체 파일 라이브러리를 위해 사용되는 아카이브 생성 및 조작 유틸리티입니다. ar은 아카이버를 나타내며 어떤 목적을 위해 어떤 종류의 아카이브도 생성할 수 있지만 ‘tar’에 크게 대체되었으며 현재는 정적 라이브러리 파일을 생성하고 업데이트하는 데만 사용됩니다.

ar 옵션

  1. -d : 아카이브에서 모듈 삭제.
  2. -m : 아카이브에서 멤버 이동.
  3. -p : 아카이브의 특정 멤버 인쇄.
  4. -q : 빠른 추가.
  5. -r : 파일 멤버를 아카이브에 삽입.
  6. -s : 아카이브에 인덱스 추가.
  7. -a : 기존 아카이브 멤버에 새 파일 추가.
ar 예제

ar‘ 도구를 사용하여 정적 라이브러리 ‘libmath.a’와 목적 파일 ‘substraction’ 및 ‘division’을 사용하여 아카이브를 만듭니다.

# ar cr libmath.a substraction.o division.o

‘ar’ 아카이브 파일을 추출하려면.

# ar x libmath.a

4. cpio

cpioCopy in and out을 나타냅니다. cpio는 리눅스용 일반 파일 아카이버입니다. 리눅스 커널의 initramfs에서 활발히 사용되며 리눅스의 주요 아카이빙 도구인 RedHat Package Manager (RPM) 및 Apple Computer의 Installer (pax)에서도 중요한 아카이빙 도구로 사용됩니다.

cpio 옵션

  1. -0 : 새 줄이 아닌 널 문자로 끝나는 파일 이름 목록을 읽습니다.
  2. -a : 액세스 시간 재설정.
  3. -A : 추가.
  4. -b : 교환.
  5. -d : 디렉터리 생성.
cpio 예제

‘cpio’ 아카이브 파일을 만드는 방법

# cd tecmint
# ls

file1.o file2.o file3.o

# ls | cpio  -ov > /path/to/output_folder/obj.cpio

cpio 아카이브 파일을 추출하는 방법

# cpio -idv < /path/to folder/obj.cpio

5. Gzip

gzip은 표준적이고 널리 사용되는 파일 압축 및 해제 유틸리티입니다. Gzip은 파일 연결을 허용합니다. Gzip으로 파일을 압축하면 ‘*.tar.gz‘ 또는 ‘*.tgz‘ 형식의 tarball이 출력됩니다.

gzip 옵션

  1. –stdout : 표준 출력에 출력합니다.
  2. –to-stdout : 표준 출력에 출력합니다.
  3. –decompress : 파일을 압축 해제합니다.
  4. –uncompress : 파일을 압축 해제합니다.
  5. -d : 파일을 압축 해제합니다.
  6. -f : 강제로 압축 또는 압축 해제합니다.
gzip 예시

‘gzip’ 아카이브 파일을 만듭니다.

# tar -cvzf name_of_archive.tar.gz /path/to/folder

‘gzip’ 아카이브 파일을 추출합니다.

# gunzip file_name.tar.gz

위 명령은 아래 명령어를 따라야 합니다.

# tar -xvf file_name.tar

참고: ‘gzip’의 아키텍처와 기능은 손상된 ‘gzipped tar 아카이브’ 파일을 복구하기 어렵게 만듭니다. 중요한 gzipped 파일의 여러 백업을 다른 위치에 만드는 것이 좋습니다.

지금까지입니다. 다음 기사에서는 Linux용으로 제공되는 다른 압축 및 해제 애플리케이션에 대해 논의할 예정입니다. 그때까지 Tecmint에 연결되어 계세요. 아래 댓글 섹션에서 소중한 피드백을 제공하지 않도록 잊지 마세요.

Source:
https://www.tecmint.com/command-line-archive-tools-for-linux/