Hướng dẫn nén và giải nén file trên Linux bằng dòng lệnh
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:
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.
tar -czvf archive.tar.gz /home/user/public_html
Giải nén file
Sử dụng cờ -x
(extract) để giải nén.
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.
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
.
tar -cjvf archive.tar.bz2 /home/user/public_html
Giải nén file
Sử dụng cờ -j
.
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 zip
và unzip
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.
zip -r archive.zip /home/user/public_html
Giải nén file
# 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
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.