Sự khác biệt giữa .tar.gz và .gz, hoặc .tar.7z và .7z là gì?

tải xuống 21 1

Nếu bạn đến từ một nền Windows, bạn có thể quen thuộc với các định dạng zip và rar. Đây là những lưu trữ của nhiều tệp được nén cùng nhau.

Trong các hệ thống giống Unix và Unix (như Ubuntu), việc lưu trữ và nén riêng biệt.

tar đặt nhiều tệp vào một tệp (tar) duy nhất.

gzip nén một tập tin (chỉ).

Vì vậy, để có được một kho lưu trữ nén, bạn kết hợp hai, sử dụng đầu tiên tar hoặc là pax để chuyển tất cả các tệp thành một tệp (archive.tar), sau đó gzip nó (archive.tar.gz). Nếu bạn chỉ có một tệp bạn cần nén (notes.txt), không cần tar, vì vậy bạn chỉ cần làm gzip notes.txt mà sẽ dẫn đến notes.txt.gz. Có các loại nén khác, chẳng hạn như compressbzip2 và xz hoạt động theo cách tương tự như gzip (ngoài việc sử dụng các loại nén khác nhau của khóa học)

 


Điều đó có ý nghĩa, nhưng sau đó, tại sao tôi có thể làm .7z lưu trữ từ nhiều tệp, trong khi tôi cũng có thể tạo .tar.7z lưu trữ từ nhiều tệp? – Exeleration-G
@ Exeleration-G 7zip không tuân theo lược đồ này. Nó giống như zip và rar. Bạn không chắc chắn về cách sử dụng tar kết hợp với 7zip là vì tôi chưa tự sử dụng 7zip. – geirha
@ Exeleration-G Sau khi đọc qua các câu trả lời khác, tôi thấy SaultDon trả lời câu hỏi này; 7zip không lưu trữ quyền sở hữu và quyền của các tệp đã lưu trữ (có vẻ như chủ yếu hướng tới Windows, như zip và rar), do đó, kết hợp nó với tar để có quyền sở hữu và quyền được giữ nguyên. – geirha
@geirha Đánh dấu câu hỏi là đã được giải quyết nếu bạn tìm thấy câu trả lời thích hợp. – Ravi
Theo kinh nghiệm của tôi 7z là tốt hơn nhiều ở nén hơn zip. Khi tôi thử nghiệm nó đã lưu cho tôi một cái gì đó như thêm 40% – Eoin

 


Nó phụ thuộc vào những gì bạn đang tìm kiếm … Nén hoặc lưu trữ?

Khi tôi nói về lưu trữ, ý tôi là giữ quyền, cấu trúc thư mục, v.v …

Nén có thể bỏ qua hầu hết điều đó và chỉ nhận tệp của bạn trong một gói nhỏ hơn.

Để giữ quyền truy cập tệp, hãy sử dụng tar:

tar cpvf backup.tar folder

Cờ p sẽ lưu quyền truy cập tệp. Sử dụng cờ z để nén gzip hoặc cờ j để nén bzip.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Nếu bạn muốn có một tập tin tar bạn có thể “cập nhật” gói tar bằng cách sử dụng cờ P:

tar cpPvf backup.tar folder

Sau đó, để cập nhật, thay thế ‘c’ bằng ‘u’ và khi giải nén, bạn có thể sử dụng ‘k’ để lưu giữ các tệp đã tồn tại.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

Cờ P lưu các tệp có đường dẫn đầy đủ, vì vậy – / home / username vs home / username (thông báo dấu gạch chéo phía trước).

7z nén cung cấp nén lớn hơn, nhưng không bảo vệ quyền sở hữu tập tin, quyền hạn, vv Rzip là một tiện ích nén cung cấp nén tương đương với 7z là tốt.

Tôi đoán một tập tin backup.tar.7z chỉ là một tập tin tar (với quyền) được nén bởi một tập tin 7z, mặc dù tôi sẽ không ngạc nhiên nếu ít nén xảy ra vì 7z có thể không có khả năng đổ siêu dữ liệu tập tin. Đó là khả năng của 7z để loại trừ các siêu dữ liệu tập tin mà nó có thể cung cấp nén tuyệt vời (trong số những thứ khác của khóa học).

Nén phụ thuộc hoàn toàn vào kiểu dữ liệu. Một số tệp không nén tốt vì chúng có thể đã được nén bằng một số phương tiện khác (ví dụ: .mp3, .jpg, .tiff / với lzma, .rpm, v.v.).


gzip hoặc bzip2 không biết về file system – tên tệp, thư mục hoặc cấu trúc cây. Nó chỉ nén luồng đầu vào, sau đó kết quả đầu ra. Ngay cả gzip hoặc bzip2 cũng không thể lưu trữ các thư mục riêng của chúng, đó là lý do tại sao nó thường được kết hợp với tar.

tar (archiver) – chỉ lưu trữ cấu trúc tập tin. gzip, bzip2 (máy nén) – chỉ cần nén đầu vào.

Tôi nghĩ chiến lược này đến từ ‘làm một điều tốt’ Triết lý Unix. Tar hoạt động tốt? Để nó như vậy. Cần thêm tỷ lệ nén hơn gzip? Đây là bzip2 hoặc 7zip.

 


Trên thực tế 7zip có thể lưu trữ như zip hoặc rar. – Mait

 

các kiểu nén khác nhau, tar của chính nó chỉ đơn giản là được lưu trữ (ít hoặc không nén). tar.gz là một kho lưu trữ tar nhưng nội dung được nén bởi gzip (nén vừa phải) do đó tệp .gz và tar.7z được nén bằng cách sử dụng 7zip (thường là nén siêu cao)

khi sao lưu tôi sẽ khuyên bạn nên tar.7z vì nó có tỷ lệ nén cao nhất giúp bạn tiết kiệm không gian nhưng sử dụng một chương trình bổ sung (7zip). .tar.gz sẽ là các tệp lớn hơn và thực hiện cùng một công việc, bạn cũng có thể sử dụng bzip (.tar.bz / bz2) mặc dù tôi không chắc liệu điều đó có phù hợp với bạn tốt hơn không khi tôi sử dụng gzip hoặc 7zip

thông thường, các tệp * .tar chỉ là các tệp tar được tạo bởi chương trình tar, các chương trình * .gz được tạo bởi gzip, * .tar.gz (đôi khi cũng * .tgz) là các tệp tar được nén, và * .7z được tạo bởi 7zip.

Tuy nhiên, trong Linux / Unix, người ta có thể đặt tên một tập tin khá nhiều dù sao anh ta muốn, do đó, nó hoàn toàn theo quyết định của tác giả của các tập tin.

Tar (Tape Archiver) có truyền thống được sử dụng như một container trong Unix / Linux để đóng gói các tập tin để di chuyển. Nó gói cấu trúc tệp và duy trì các thuộc tính tệp, nhưng nó không nén các tệp.

Các chương trình nén nén tệp để làm cho tệp nhỏ hơn, nhưng chúng không thể xử lý nhiều tệp và / hoặc chúng không thể xử lý các thuộc tính tệp cần thiết cho Linux. Kể từ khi tar đã tồn tại và được hỗ trợ tốt, không có lý do gì để lưu trữ các chương trình sao chép chức năng này, đó là nền tảng cụ thể (lại, khác nhau cho Windows và Linux). Ngoài ra, các chương trình nén khác nhau có thể hoạt động khác nhau trên các loại tệp khác nhau, do đó, có nhiều lựa chọn hơn là mong muốn.

 

Rate this post

Trả lời