현재 날짜가 있는 폴더( /var/www/
) 를 압축하려고 합니다 .~/www_backups/$time.tar
$time
이것이 내가 가진 것입니다:
cd /var/www && sudo tar -czf ~/www_backups $time"
나는 완전히 길을 잃었고 몇 시간 동안 이 일을 하고 있었습니다. -czf
이것이 맞는지 확실하지 않습니다 . 모든 것을 /var/www
파일 에 복사 $time.tar
하고 모든 파일에 대한 파일 권한을 유지하고 싶습니다. 누구든지 나를 도와줄 수 있나요?
답변1
폴더에 대한 구문 tar
은 gzip
다음과 같습니다.
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에서는 tar
not 옵션을 사용하여 BZip2 압축도 지원할 가능성이 높습니다. 다른 사람들도 있을 수 있습니다. 로컬 시스템의 매뉴얼 페이지를 확인하십시오.j
z
답변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
나는 최근 경험을 통해 이것을 배웠다.기사, 이는 제가 연구를 계속할 시간이 있을 때 더욱 포괄적인 기사로 확장될 것입니다.