tar를 사용하여 폴더를 압축하시겠습니까?

tar를 사용하여 폴더를 압축하시겠습니까?

현재 날짜가 있는 폴더( /var/www/) 를 압축하려고 합니다 .~/www_backups/$time.tar$time

이것이 내가 가진 것입니다:

cd /var/www && sudo tar -czf ~/www_backups $time"

나는 완전히 길을 잃었고 몇 시간 동안 이 일을 하고 있었습니다. -czf이것이 맞는지 확실하지 않습니다 . 모든 것을 /var/www파일 에 복사 $time.tar하고 모든 파일에 대한 파일 권한을 유지하고 싶습니다. 누구든지 나를 도와줄 수 있나요?

답변1

폴더에 대한 구문 targzip다음과 같습니다.

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

-options() 앞에 추가하는 것은 czf선택 사항입니다 tar. 효과 czf는 다음과 같습니다.

  • c— 아카이브 파일 생성(추출과 반대 x)
  • f— 아카이브 파일의 파일 이름
  • z— 필터링하여 보관 gzip(파일을 생성하려면 이 옵션을 제거하세요 .tar)

tar현재 디렉토리를 원하면 를 사용하여 지정하십시오 ..

파일 이름을 동적으로 구성하려면 이 date유틸리티를 사용하십시오(사용 가능한 형식 옵션은 매뉴얼 페이지를 확인하십시오). 예를 들어:

cd /var/www &&
tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

그러면 20120902-185558.tar.gz.

Linux에서는 tarnot 옵션을 사용하여 BZip2 압축도 지원할 가능성이 높습니다. 다른 사람들도 있을 수 있습니다. 로컬 시스템의 매뉴얼 페이지를 확인하십시오.jz

답변2

가장 일반적인 압축 알고리즘의 예

이 질문의 제목은 간단하게 "tar로 폴더를 압축합니까?"입니다. 제목은 매우 일반적이지만 질문과 답변이 더 구체적이고 조회수도 많이 나오므로 일반적으로 사용되는 다양한 압축 알고리즘을 사용하여 보관/압축 및 추출/압축 해제 두 가지 예제의 최신 목록을 추가합니다.

이는 Ubuntu 18.04.4에서 테스트되었습니다. 일반적으로 사용하기에는 매우 간단하지만 위의 허용된 답변 및 유용한 설명에 있는 기술을 사용하여 OP의 보다 구체적인 질문 내용에 쉽게 통합될 수 있습니다.

보다 일반적인 청중을 위해 주의해야 할 점은 필요한 확장을 자동으로 추가 tar하지 않는다는 것입니다 .tar.gz(예를 들어). 사용자는 다음 명령에 표시된 것처럼 이러한 확장을 명시적으로 추가해야 합니다.

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *

# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar

# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *

# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above

# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options

# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above

# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options

# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above

타르 보기매뉴얼 페이지man tar(특정 컴퓨터에 가장 적합) 자세한 내용을 알아보세요. 아래에서는 매뉴얼 페이지에서 직접 위에서 사용한 옵션을 요약했습니다.

-c, --create는
      새 아카이브를 생성합니다.

-x, --extract, --
      아카이브에서 파일 추출

-v, --verbose
      처리된 파일을 자세히 나열합니다.

-z, --gzip
      gzip을 통해 아카이브 필터링

-j, --bzip2
      bzip2로 아카이브 필터링

-J, --xz
      xz별로 아카이브 필터링

-f, --file=ARCHIVE
      아카이브 파일 또는 장치 ARCHIVE 사용

-결합된 옵션 앞에 추가하거나 =옵션과 파일 이름 사이에 기호를 추가할 필요가 없습니다 .f

나는 최근 경험을 통해 이것을 배웠다.기사, 이는 제가 연구를 계속할 시간이 있을 때 더욱 포괄적인 기사로 확장될 것입니다.

관련 정보