Hướng dẫn nén và giải nén file Linux bằng dòng lệnh
Cách nén và giải nén file trên Linux bằng dòng lệnh
Trên Linux, bạn có thể nén và giải nén file bằng lệnh tar hoặc zip. Ví dụ: chạy tar -czvf archive.tar.gz folder/ để nén thư mục và tar -xzvf archive.tar.gz để giải nén. Với định dạng ZIP, hãy dùng lệnh zip -r archive.zip folder/ và unzip archive.zip.
Khi quản trị VPS Linux, việc sao lưu mã nguồn (backup) hoặc di chuyển dữ liệu giữa các máy chủ là công việc diễn ra hàng ngày. Nắm vững các lệnh nén và giải nén qua giao diện dòng lệnh (CLI) không chỉ giúp bạn thao tác nhanh chóng mà còn tối ưu hóa đáng kể dung lượng lưu trữ và băng thông mạng.
1. Các lệnh nén và giải nén phổ biến
Dưới đây là bảng tra cứu nhanh các câu lệnh dành cho những Sysadmin cần thao tác ngay lập tức:
| Định dạng | Lệnh Nén (Compress) | Lệnh Giải nén (Extract) |
|---|---|---|
| .tar.gz | tar -czvf file.tar.gz folder/ |
tar -xzvf file.tar.gz |
| .tar.bz2 | tar -cjvf file.tar.bz2 folder/ |
tar -xjvf file.tar.bz2 |
| .zip | zip -r file.zip folder/ |
unzip file.zip |
2. TAR, GZIP và XZ hoạt động như thế nào?
Trên môi trường Windows, định dạng .zip và .rar thường đảm nhiệm cả hai chức năng: gom file và nén file. Tuy nhiên, trên Linux, hai tiến trình này hoàn toàn tách biệt:
- TAR (Tape Archive): Là công cụ dùng để gom nhiều file và thư mục lại thành một tệp duy nhất (gọi là tarball) nhưng không làm giảm dung lượng. Ví dụ, để tạo một archive thuần túy không nén, bạn dùng lệnh:
tar -cvf backup.tar folder/ - GZIP / BZIP2 / XZ: Là các thuật toán nén giúp giảm dung lượng tệp.
Đó là lý do các file nén trên Linux thường có đuôi mở rộng kép như .tar.gz, .tar.bz2 hoặc .tar.xz (Gom bằng TAR, sau đó nén bằng thuật toán tương ứng).
3. Hướng dẫn nén file .tar.gz
Đây là chuẩn nén phổ biến nhất trên Linux nhờ sự cân bằng tuyệt vời giữa tốc độ nén và tỷ lệ nén.
Cách nén thư mục thành .tar.gz
tar -czvf backup-source.tar.gz /var/www/html/
Cách giải nén file .tar.gz
Để giải nén vào thư mục hiện tại, bạn chạy lệnh sau:
tar -xzvf backup-source.tar.gz
Mẹo: Thêm cờ -C để giải nén vào một thư mục cụ thể: tar -xzvf file.tar.gz -C /thu-muc-dich/
Cách xem nội dung bên trong mà không giải nén
tar -tzvf backup-source.tar.gz
4. Hướng dẫn nén file .tar.bz2
Sử dụng thuật toán BZIP2 cho tỷ lệ nén cao hơn GZIP, giúp file đầu ra nhỏ hơn. Đổi lại, thuật toán này sẽ tiêu tốn nhiều CPU và thời gian nén hơn.
Cách nén
tar -cjvf backup-source.tar.bz2 /var/www/html/
Cách giải nén
tar -xjvf backup-source.tar.bz2
5. Hướng dẫn nén file .zip
Định dạng ZIP cực kỳ hữu ích khi bạn cần tải file từ VPS về máy tính cá nhân (Windows/macOS) do tính tương thích đa nền tảng. Lưu ý: Lệnh zip không có sẵn trên một số bản Linux, bạn cần cài đặt nó trước.
# Trên Ubuntu/Debian:
sudo apt-get install zip unzip -y
# Trên CentOS/AlmaLinux:
sudo yum install zip unzip -y
Cách nén đệ quy thư mục
zip -r backup-source.zip /var/www/html/
Cách giải nén
unzip backup-source.zip
6. Các tùy chọn cờ (Flags) TAR phổ biến
Để hoàn toàn làm chủ lệnh tar, bạn cần hiểu ý nghĩa của các ký tự cấu thành nên lệnh:
- -c (Create): Lệnh tạo một file nén mới.
- -x (Extract): Lệnh giải nén file.
- -z (Gzip): Chỉ định sử dụng thuật toán nén gzip (.tar.gz).
- -j (Bzip2): Chỉ định sử dụng thuật toán nén bzip2 (.tar.bz2).
- -v (Verbose): Hiển thị chi tiết quá trình nén/giải nén lên màn hình để dễ theo dõi.
- -f (File): Chỉ định tên file đầu ra (luôn phải đặt ở cuối cùng của chuỗi lệnh, ngay trước tên file).
- -t (List): Liệt kê các file bên trong mà không giải nén.
7. So sánh các định dạng nén trên Linux
Việc chọn sai định dạng nén cho một file vài chục GB có thể khiến máy chủ của bạn bị treo CPU nhiều giờ. Hãy tham khảo bảng dưới đây:
| Định dạng | Tỷ lệ nén | Tốc độ | Trường hợp khuyên dùng (Use Case) |
|---|---|---|---|
| .tar.gz | Tốt | Nhanh | Sử dụng hàng ngày, backup source web nội bộ. |
| .tar.bz2 / .tar.xz | Cao nhất | Rất chậm (Tốn CPU) | Lưu trữ file backup dài hạn (Cold storage) để tiết kiệm ổ cứng. |
| .zip | Trung bình | Nhanh | Chia sẻ file đa nền tảng (gửi file từ Linux qua Windows). |
8. Kết luận
Thành thạo các lệnh xử lý .tar.gz và .zip là kỹ năng bắt buộc phải có đối với một quản trị viên hệ thống. Nó giúp bạn chủ động hoàn toàn trong việc sao lưu dữ liệu, chuyển host và tối ưu hóa không gian ổ cứng trên các hệ điều hành mã nguồn mở.
Tùy thuộc vào yêu cầu về hiệu suất và tính linh hoạt, VietHosting luôn có giải pháp hạ tầng phần cứng mạnh mẽ sẵn sàng cho sự tăng trưởng của doanh nghiệp.
Các hướng dẫn kỹ thuật khác
Khám phá thêm các hướng dẫn kỹ thuật, thủ thuật quản trị hệ thống và bài viết phân tích giúp tối ưu hiệu năng và vận hành VPS hoặc máy chủ hiệu quả.