Chuyển đến nội dung

Mở file TAR hoặc TAR.GZ

Giải nén các file nén từ Linux và macOS mà không cần mở terminal. TAR, TAR.GZ, TGZ và GZ thông thường đều đọc được ở đây, và không lưu trữ gì cả.

  • Không bao giờ lưu trữ
  • Không xếp hàng, không phải chờ
  • Không cần đăng ký, không watermark

Cách hoạt động

1

Thêm file nén

TAR, TAR.GZ, TGZ hoặc một file nén gzip đơn lẻ. Các file có nén được giải nén trước, tự động.

2

Xem bên trong

Mọi file đều được liệt kê kèm dung lượng và thư mục. Liên kết được hiển thị dưới dạng liên kết chứ không bị đi theo.

3

Lấy thứ bạn cần

Tải xuống một file, hoặc tất cả gộp chung thành một file ZIP mở được ở mọi nơi.

Hai định dạng chồng lên nhau, và những gì một lần tải xuống không khôi phục được

File .tar.gz là hai định dạng chồng lên nhau, và gần như mọi đặc điểm của TAR đều bắt nguồn từ đó. Bản thân TAR không nén gì: nó nối các file thành một luồng, trước mỗi file là một header 512 byte chứa tên, dung lượng, quyền truy cập, chủ sở hữu và mốc thời gian. Phần nén là một lớp riêng bọc quanh toàn bộ — gzip, bzip2 hoặc xz — đó là lý do phần mở rộng xếp chồng lên nhau và vì sao tỷ lệ nén tốt hơn ZIP: ZIP nén từng file riêng nên không tận dụng được sự lặp lại giữa các file, trong khi TAR có nén thì nén toàn bộ luồng như một khối.

Chính cách xếp chồng đó giải thích điểm yếu thực sự duy nhất của TAR. Vì lớp nén bọc lấy mọi thứ, không có danh mục nào để đọc: liệt kê nội dung file .tar.gz nghĩa là phải giải nén từ đầu, và lấy file cuối cùng ra nghĩa là phải giải nén toàn bộ. File ZIP thì hiện danh sách tức thì dù lớn đến đâu. Đây là một đánh đổi thiết kế từ thời băng từ, khi đọc tuần tự là lựa chọn duy nhất — vì thế mới có cái tên này (Tape ARchive).

Quyền truy cập Unix và liên kết tượng trưng được liệt kê nhưng không khôi phục được, và đây là giới hạn quan trọng nhất với những việc người ta thường dùng TAR. File tải xuống là file thông thường với quyền thông thường, nên một script thực thi sẽ ra ngoài mà không chạy được, và một liên kết tượng trưng sẽ ra ngoài dưới dạng file nhỏ đúng như bản chất vật lý của nó, chứa đường dẫn mà nó trỏ tới. Nếu bạn giải nén mã nguồn để biên dịch, đó là trở ngại thực sự chứ không phải tiểu tiết — siêu dữ liệu được đọc và hiển thị ở đây, nhưng một lần tải xuống không thể mang theo nó.

Quyền sở hữu cũng đáng lưu ý. TAR ghi lại người dùng và nhóm sở hữu từng file, và đó chính là lý do người ta được cảnh báo khi giải nén TAR bằng quyền root trên máy chủ. Không điều gì trong số đó áp dụng cho một lần tải xuống, và đây là điểm duy nhất mà cách này an toàn hơn dòng lệnh.

Khi bạn cần công cụ khác

Với bất cứ thứ gì bạn định dùng thật chứ không chỉ xem qua, chính tar là câu trả lời, và nó đã có sẵn trên mọi máy Mac và Linux: tar -xzf archive.tar.gz khôi phục quyền truy cập, liên kết tượng trưng, quyền sở hữu và mốc thời gian, giải nén thẳng xuống ổ đĩa không giới hạn bộ nhớ, và xử lý được file nén mọi dung lượng. Windows đã tích hợp sẵn lệnh này từ năm 2018, nên tar -xf chạy được ngay trong command prompt thông thường.

Những trường hợp cụ thể mà trang này không giúp được lại chính là lý do TAR tồn tại: giải nén tarball mã nguồn để biên dịch, khôi phục bản sao lưu, hay chuyển cả cây thư mục giữa các máy mà vẫn giữ nguyên cấu trúc. Cả ba đều phụ thuộc đúng vào phần siêu dữ liệu mà một lần tải xuống bỏ đi. Trang này dùng để xem trong file nén có gì, hoặc lấy ra một tài liệu hay một ảnh trên máy mà bạn không được cài gì.

Câu hỏi thường gặp

.tar và .tar.gz khác nhau thế nào?

File .tar hoàn toàn không nén — nó chỉ dán các file lại thành một, giữ nguyên tên và thư mục. File .tar.gz là chính gói đó được bọc thêm gzip bên ngoài. Dán trước, nén sau là lý do .tar.gz thường NHỎ HƠN file ZIP của cùng các file đó: gzip thấy mọi file như một luồng liên tục và phát hiện được sự lặp lại vượt qua ranh giới giữa các file, trong khi ZIP nén từng file riêng và bắt đầu lại từ đầu mỗi lần.

File nén của tôi có bị lưu ở đâu không?

Không. Không lưu trữ gì cả, không giữ lại gì cả, và công cụ vẫn hoạt động khi đã tắt Wi-Fi sau khi trang tải xong. Với file nén, điều này còn quan trọng hơn hầu hết các loại file khác — một file zip chứa hồ sơ thuế hay bản sao lưu của cả một thư mục chính là thứ không nên giao cho máy chủ của người lạ.

Tên file dài có dùng được không?

Có. Định dạng tar gốc không lưu được tên dài hơn 100 ký tự, và hai phần mở rộng không tương thích nhau đã ra đời để khắc phục — của GNU và của POSIX pax. Cả hai đều đọc được ở đây, nên file nén từ bất kỳ hệ thống thực tế nào cũng giải nén với tên nguyên vẹn.

Liên kết tượng trưng (symbolic link) được xử lý thế nào?

Chúng được liệt kê, kèm nơi chúng trỏ tới, nhưng không bao giờ bị đi theo. Đi theo liên kết bên trong file nén là một trong những cách kinh điển khiến trình giải nén bị lừa ghi file vào chỗ không nên ghi, nên đơn giản là không làm.

Có giới hạn dung lượng không?

Giới hạn là bộ nhớ khả dụng, chứ không phải một mức dung lượng cố định. File nén rất lớn được mở từng file một khi định dạng cho phép, nên một file ZIP lớn vẫn hiện danh sách tức thì và chỉ file bạn yêu cầu mới được giải nén.

Mở file TAR từ người lạ có an toàn không?

File nén là loại file duy nhất mà NỘI DUNG bên trong có thể mang ý đồ xấu, nên hai kiểu tấn công lâu đời được xử lý trước khi bạn thấy bất cứ thứ gì. Một file trong file nén có thể được đặt tên kiểu "../../something" để tìm cách thoát ra khỏi thư mục nó được giải nén vào — những tên như vậy bị chặn lại và bạn được báo tên nào đã bị đổi. Và một file nén chỉ vài kilobyte có thể bung ra thành hàng terabyte, đủ để làm sập luôn tab trình duyệt; trường hợp này được đo trước và bị từ chối thay vì cố giải nén.

Nên biết: Mở được cả TAR, TAR.GZ, TAR.BZ2 và TAR.XZ — ba loại sau thông qua libarchive, thư viện chỉ được tải về khi thực sự mở một file nén có nén, nên đường xử lý TAR thông thường vẫn gọn nhẹ. Quyền truy cập Unix và liên kết tượng trưng được liệt kê nhưng không khôi phục được: trình duyệt không có quyền truy cập vào cả hai thứ này.

Đặt công cụ này lên website của bạn

Miễn phí cho mọi blog, trang lớp học hay bài viết hướng dẫn. Chỉ cần dán một đoạn mã là khách truy cập có thể dùng ngay trên trang của bạn.