Việc nén file giúp tiết kiệm dung lượng lưu trữ và giúp việc di chuyển dữ liệu trở nên nhanh chóng hơn. Bài viết này sẽ hướng dẫn bạn các lệnh cơ bản và phổ biến nhất để nén và giải nén file/thư mục trên hệ điều hành Linux.

Hiểu rõ bản chất: TAR và GZIP/BZIP2/XZ

Để hiểu đúng các lệnh, bạn cần phân biệt rõ hai khái niệm:

  • tar (Tape Archive): Là công cụ lưu trữ. Nó gom nhiều file và thư mục lại thành một file duy nhất (ví dụ: backup.tar) nhưng không nén.
  • gzip, bzip2, xz: Là các công cụ nén. Chúng sẽ nén một file duy nhất để giảm kích thước (ví dụ: nén file backup.tar thành backup.tar.gz).

Vì vậy, một file .tar.gz thực chất là một nhóm file đã được tar gom lại, sau đó được gzip nén để tối ưu dung lượng.

1. Định dạng .tar.gz (hoặc .tgz)

Đây là định dạng nén phổ biến nhất trên Linux, sử dụng thuật toán gzip.

Nén file và thư mục

Sử dụng cờ -z trong lệnh tar để nén trực tiếp.

# Cú pháp: tar -czvf [tên-file-nen.tar.gz] [thư-mục-hoặc-file-cần-nén]
tar -czvf archive.tar.gz /home/user/public_html

Giải nén file

Sử dụng cờ -x (extract) để giải nén.

# Cú pháp: tar -xzvf [tên-file-nen.tar.gz]
tar -xzvf archive.tar.gz

# Giải nén vào một thư mục cụ thể
tar -xzvf archive.tar.gz -C /home/user/backups

Xem nội dung file nén

Sử dụng cờ -t (list) để xem danh sách file bên trong mà không cần giải nén.

tar -tzvf archive.tar.gz

2. Định dạng .tar.bz2

Định dạng này sử dụng thuật toán bzip2, thường cho khả năng nén tốt hơn .gz một chút nhưng tốn nhiều thời gian hơn.

Nén file và thư mục

Sử dụng cờ -j.

# Cú pháp: tar -cjvf [tên-file-nen.tar.bz2] [dữ-liệu-cần-nén]
tar -cjvf archive.tar.bz2 /home/user/public_html

Giải nén file

Sử dụng cờ -j.

tar -xjvf archive.tar.bz2

3. Định dạng .zip

Đây là định dạng rất phổ biến và tương thích tốt với Windows. Lệnh zipunzip xử lý cả việc gom file và nén trong một bước.

Nén file và thư mục

Sử dụng lệnh zip với cờ -r (recursive) để nén cả thư mục con.

# Cú pháp: zip -r [tên-file-nen.zip] [dữ-liệu-cần-nén]
zip -r archive.zip /home/user/public_html

Giải nén file

unzip archive.zip

# Giải nén vào một thư mục cụ thể
unzip archive.zip -d /home/user/backups

Xem nội dung file nén

unzip -l archive.zip

Giải thích các cờ lệnh TAR

  • -c (create): Tạo một file nén mới.
  • -x (extract): Giải nén file.
  • -t (list): Liệt kê nội dung bên trong file nén.
  • -v (verbose): Hiển thị quá trình thực hiện một cách chi tiết.
  • -f (file): Chỉ định tên file nén để làm việc.
  • -z: Sử dụng thuật toán nén gzip.
  • -j: Sử dụng thuật toán nén bzip2.
  • -C: Chỉ định thư mục đích để giải nén file vào.
Chia sẻ:
Đánh giá:

( Có: 1 đánh giá. Trung bình 5, thang điểm: 1 đến 5 )