개인적인 반성

개인적인 반성

78GB 폴더를 가져와 아카이브에 압축한 것처럼 파일(클라우드 서비스에 업로드용)에 저장하고 싶지만 압축을 원하지 않습니다(사용 가능한 CPU가 많지 않음). ). 어쨌든 이 작업을 수행할 수 있습니까? 제가 모르는 터미널 명령이 있을까요?

답변1

사용 tar: tar -cf my_big_folder.tar /my/big/folder

아카이브 복원tar -xf my_big_folder.tar -C /

-씨위에서 생성한 아카이브에는 절대 경로가 포함되어 있으므로 아카이브를 복원하려면 루트 디렉터리로 변경하세요.

편집하다: 아카이브가 상대적으로 크기 때문에 SSH 또는 클라우드 리소스/폴더의 마운트 지점을 사용하여 최종 위치로 [직접] 보내는 것이 가장 좋습니다. 예를 들어,콜 존슨이 제안하는 것:

tar -cf /network/mount/point/my_big_folder.tar /my/big/folder

또는

tar -c /my/big/folder | ssh example.com "cat > my_big_folder.tar"

편집하다: 처럼'Black Light Shine'도 그걸 보여준다., 절대 경로를 피하려면 상위 폴더를 큰 폴더로 변경한 다음 tar거기에서 다음을 수행하면 됩니다.

tar -cf /network/mount/point/my_big_folder.tar \
    -C /my/big/folder/location the_big_folder

또는

tar -cC /my/big/folder/location the_big_folder | \
ssh example.com "cat > my_big_folder.tar"

개인적인 반성

상대 경로를 포함할지 절대 경로를 포함할지 여부는 개인 취향에 따라 결정됩니다.

어떤 경우에는 재해 복구 상황에서의 복구와 같이 절대 경로가 분명합니다. 로컬 프로젝트 또는 컬렉션의 경우 아카이브가 실수로 제자리에서 압축 해제되는 경우 현재 디렉토리가 복잡해지는 것을 방지하기 위해 원하는 폴더의 상위에서 디렉토리 트리를 아카이브하는 것이 일반적입니다. 만약에큰 폴더어딘가 깊은 곳표준 *NIX 계층 구조, 첫 번째 비표준 폴더 보관을 시작하는 것이 합리적일 수 있습니다.큰 폴더디렉토리 트리에서 벗어났습니다.

마지막으로 – 그리고 여기서 나는 현학적으로 말하고 있습니다 – tar기록 보관소의 구성원은 다음과 같습니다.언제나상대적인ㅏ)모든 디렉토리에서 복원할 수 있으며비) tar/아카이브를 생성할 때 선행을 제거합니다. 개인적으로 저는 항상 사용하는 편이에요-씨아카이브의 압축을 풀 때.

답변2

대안: cpio

(cd /my/big/folder && find . -depth -print0 | cpio -0o > myfolder.cpio)

현재 디렉터리에 압축을 푼다:

cpio -id < myfolder.cpio

지침:

  • find /my/big/folder대신 사용하면 cd아카이브에 전체 경로가 포함되고 추출은 이를 따르려고 시도합니다.
  • 대용량 파일(>2GB)이 문제가 될 수 있습니다.

답변3

압축 없이 진행률 표시줄을 사용하여 대용량 폴더를 단일 파일에 저장하려면 다음 한 줄 명령을 사용할 수 있습니다.

tar -cf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tar)

이 명령은 원본 폴더를 변경하지 않고 그대로 둡니다.

필요하다:

sudo apt-get install -y pv

데모(내 경우 내 폴더는 ./Downloads/이고 출력 파일은 adb_int.tar):

여기에 이미지 설명을 입력하세요.

크레딧: 이 명령은 user86969의 명령과 결합됩니다.답변그리고자쿠제~의답변.

관련 정보