> 압축/아카이브 > tar

tar: 파일 아카이브 관리 및 업데이트

`tar` 명령어는 여러 파일이나 디렉토리를 하나의 아카이브 파일로 묶거나(압축), 묶인 아카이브에서 파일을 추출하는 데 사용됩니다. 특히 `-u` (update) 옵션과 `-f` (file) 옵션을 함께 사용하면, 기존 아카이브에 포함된 파일보다 더 최신 버전의 파일만 아카이브에 추가하여 업데이트할 수 있습니다. 이는 백업 관리나 버전 관리에 유용하게 활용됩니다.

개요

`tar`는 'Tape ARchiver'의 약자로, 원래는 테이프 백업을 위해 고안되었으나 현재는 파일 시스템 내에서 파일들을 묶고 압축하는 데 널리 사용됩니다. `-uf` 옵션 조합은 지정된 아카이브 파일에 새로운 파일이나 기존 파일 중 수정 시간이 더 최신인 파일만 추가하여 아카이브를 효율적으로 업데이트합니다.

주요 특징

  • 파일 및 디렉토리 아카이빙
  • 다양한 압축 방식 지원 (gzip, bzip2, xz)
  • 아카이브 업데이트 기능 (-u)
  • 파일 추출 및 목록 보기

주요 옵션

`tar` 명령어는 매우 다양한 옵션을 제공하며, 여기서는 특히 아카이브 업데이트와 관련된 주요 옵션들을 설명합니다.

아카이브 관리

압축 방식

생성된 명령어:

명령어를 조합해 보세요.

설명:

`tar` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

기존 아카이브에 최신 파일 업데이트

tar -uf myarchive.tar new_file.txt existing_updated_file.txt

`myarchive.tar`에 `new_file.txt`를 추가하고, `existing_updated_file.txt`가 아카이브 내 버전보다 최신이면 업데이트합니다.

디렉토리 전체를 아카이브에 업데이트 (새 파일 및 수정된 파일만)

tar -uf myarchive.tar my_directory/

`my_directory` 내의 모든 파일과 서브디렉토리 중 `myarchive.tar`에 없는 것은 추가하고, 기존 파일 중 수정 시간이 더 최신인 것만 업데이트합니다.

업데이트 과정을 자세히 보면서 gzip 압축된 아카이브에 업데이트

tar -uzvf myarchive.tar.gz new_data/

`new_data` 디렉토리의 내용을 `myarchive.tar.gz`에 gzip 압축 방식으로 업데이트하며, 처리 과정을 상세히 출력합니다.

팁 & 주의사항

`tar -u` 옵션은 아카이브에 파일을 추가하거나 업데이트할 때 매우 유용하지만, 몇 가지 주의할 점이 있습니다.

주요 팁

  • `-u` 옵션은 아카이브에 없는 파일은 추가하고, 아카이브에 있는 파일 중 수정 시간이 더 최신인 경우에만 업데이트합니다. 파일 크기나 내용이 변경되었더라도 수정 시간이 동일하면 업데이트되지 않습니다.
  • `-f` 옵션은 항상 아카이브 파일 이름을 지정해야 합니다. 이 옵션이 없으면 `tar`는 표준 입출력을 사용하려고 시도합니다.
  • 아카이브를 생성할 때는 `-c` 옵션을 사용하고, 업데이트할 때는 `-u` 옵션을 사용합니다. `-u`는 아카이브가 존재하지 않으면 새로 생성하기도 하지만, 주 목적은 업데이트입니다.
  • 절대 경로 대신 상대 경로를 사용하여 아카이브를 생성하고 업데이트하는 것이 좋습니다. 이는 나중에 다른 위치에 아카이브를 추출할 때 경로 문제를 방지합니다.
  • `-v` (verbose) 옵션을 함께 사용하면 어떤 파일이 추가되거나 업데이트되는지 확인할 수 있어 유용합니다.

동일 카테고리 명령어