Làm cách nào để tạo tệp tar.7z từ dòng lệnh?


21

Tôi muốn nén bài tập về nhà của tôi từ năm ngoái. Làm cách nào để tar và zip toàn bộ thư mục từ dòng lệnh Ubuntu (Tôi không có GUI).

Câu trả lời:


25

Sử dụng một lớp lót sau:

tar cf - <source folder> | 7z a -si <Destination archive>.tar.7z

Nguồn tiềm năng : man 7z.
Wilf

9

Đọc man tar. Nó cung cấp:

     -a, --auto-compress
       use archive suffix to determine the compression program
     -j, --bzip2
     --lzip
     --lzma
     --lzop
     -z, --gzip, --gunzip --ungzip
     -Z, --compress, --uncompress

Hoặc, nếu không có cái nào phù hợp với bạn và bạn có chương trình nén để đọc stdin, bạn có thể:

tar cf- $HOME | my_compression_program >/tmp/compressed.output

Lưu ý rằng tôi đang viết đầu ra ở đâu đó ngoài $HOME(sao lưu vào một thư mục mà bạn đang sao lưu dẫn đến tăng trưởng tệp không bị giới hạn).

Hoặc, bạn có thể đọc man 7z- có vẻ như bạn có thể làm

dir="directory to save"
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /tmp/archive.7z $dir 

7

không phải là một ý tưởng tốt khi nén trực tiếp với 7z trên các hệ thống unix / linux: 7z không bảo vệ quyền và thông tin người dùng / nhóm . Vì vậy: tar đầu tiên, và sau đó nén.

Như đã báo cáo trên trang wiki 7zip tại http://en.wikipedia.org/wiki/7z#Limemony :

Hạn chế

Định dạng 7z không lưu trữ quyền của hệ thống tệp (như quyền của chủ sở hữu / nhóm UNIX hoặc ACL NTFS) và do đó có thể không phù hợp cho mục đích lưu trữ / lưu trữ. Một cách giải quyết trên các hệ thống giống như UNIX cho việc này là chuyển đổi dữ liệu thành luồng bit tar trước khi nén với 7z.


5

Tôi muốn đề nghị bạn sử dụng:

tar cf - foldername | 7z a -si -m0=lzma2 -mx=3 foldername.tar.7z

để tăng tốc độ đáng kể.

Nó có lợi thế là sử dụng lzma2 ( -m0=lzma2) (sử dụng các lõi có sẵn tối đa trên hệ thống của bạn và cài đặt trước "Nén nhanh" ( -mx=3về cơ bản là nhanh và đủ tốt. Lưu ý rằng LZMA2 không chỉ sử dụng tất cả các lõi khi nén, mà còn trên giảm bớt sức ép.


1
Cuối cùng, với câu trả lời của bạn, tôi đã tìm thấy thứ mà tôi đang tìm kiếm: khả năng sử dụng tất cả các bộ xử lý trong tác vụ.
Lonnie tốt nhất

0

Bạn nên sử dụng tar -Jchf <Filename>.tar.xz <Files to compress>

Sử -Jdụng thuật toán nén XZ, giống như 7zip

-ctạo một tệp mới -hbảo tồn các liên kết sim -fđặt tên tệp

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.