Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Hướng dẫn tạo, giải nén file ZIP, TAR, TAR.GZ, TAR.BZ2 trong Linux

Hướng dẫn nén và giải nén các định dạng phổ biến trên Linux: ZIP, TAR, TAR.GZ, TAR.BZ2 – so sánh ưu/nhược, chọn lựa phù hợp.

So sánh nhanh

Định dạngNénTốc độTương thíchDùng cho
ZIPTrung bìnhNhanhMọi OS (Win/Mac/Linux)Chia sẻ file cross-platform
TARKhông nén (archive only)Rất nhanhLinux/UnixBackup nhanh, tape, pipe stream
TAR.GZ (tgz)Tốt (gzip)Trung bìnhLinux/Unix, Win (7zip)Backup, phân phối source code – Khuyến khích #1
TAR.BZ2 (tbz2)Rất tốt (bzip2)ChậmLinux/UnixArchive lưu trữ lâu dài, tiết kiệm dung lượng
TAR.XZ (txz)Tốt nhất (LZMA2)Rất chậmLinux hiện đạiPhân phối package (Arch, Fedora), nén tối đa
TAR.ZST (zst)Rất tốt, cực nhanhNhanh (multi-thread)Linux kernel 5.1+Backup hiện đại, kernel, initramfs – Xu hướng mới

ZIP

# Nén thư mục (recursive -r)
zip -r archive_name.zip directory_to_compress

# Giải nén
unzip archive_name.zip

# Giải nén vào thư mục chỉ định
unzip archive_name.zip -d /target/dir

# Xem nội dung không giải nén
unzip -l archive_name.zip

TAR (chỉ archive, không nén)

# Tạo archive
tar -cvf archive_name.tar directory_to_compress

# Giải nén
tar -xvf archive_name.tar

# Giải nén vào thư mục khác
tar -xvf archive_name.tar -C /tmp/extract_here/
  • c: create, x: extract, v: verbose, f: file.

TAR.GZ (Gzip)

# Nén
tar -czvf archive_name.tar.gz directory_to_compress

# Giải nén
tar -xzvf archive_name.tar.gz

# Giải nén thư mục khác
tar -xzvf archive_name.tar.gz -C /tmp/extract_here/

TAR.BZ2 (Bzip2)

# Nén
tar -cjvf archive_name.tar.bz2 directory_to_compress

# Giải nén
tar -xjvf archive_name.tar.bz2

# Giải nén thư mục khác
tar -xjvf archive_name.tar.bz2 -C /tmp/extract_here/

TAR.XZ (XZ/LZMA2) – Nén tốt nhất truyền thống

# Nén
tar -cJvf archive_name.tar.xz directory_to_compress

# Giải nén
tar -xJvf archive_name.tar.xz

TAR.ZST (Zstandard) – Hiện đại, nhanh, nén tốt

# Cài: apt/dnf/pacman install zstd
# Nén (multi-thread -T0 = tất cả core)
tar --zstd -cvf archive_name.tar.zst directory_to_compress
# Hoặc: tar -I zstd -cvf archive_name.tar.zst directory_to_compress

# Giải nén
tar --zstd -xvf archive_name.tar.zst

Mẹo hay

  • Loại trừ tệp/thư mục: tar --exclude='*.log' --exclude='node_modules' -czvf backup.tar.gz /path
  • Giữ quyền/owner (backup hệ thống): tar -czvpf backup.tar.gz /path (p = preserve permissions).
  • Stream qua SSH (backup remote): tar -czf - /path | ssh user@server "cat > backup.tar.gz"
  • Kiểm tra tính toàn vẹn: tar -tvf archive.tar.gz (liệt kê), tar -tvf archive.tar.gz | wc -l (đếm file).

Chiến lược chọn định dạng

  • Chia sẻ cho user Windows: ZIP.
  • Backup server Linux hàng ngày: TAR.GZ hoặc TAR.ZST (cân bằng tốc độ/tỷ lệ).
  • Archive lưu trữ lâu dài, ít truy cập: TAR.XZ hoặc TAR.ZST.
  • Pipe/stream giữa server: TAR (không nén) hoặc TAR.ZST -T0.