"Nhiều hơn" và "nhanh hơn" luôn là hai thứ chúng ta muốn, đặc biệt khi nói đến dữ liệu. Vấn đề là "nhiều hơn" và "nhanh hơn" thường đối nghịch với nhau, nên chúng ta có nén file. Có một số cách để zip và unzip file trong Linux, và chúng tôi sẽ chỉ cho bạn các phương pháp đằng sau chúng.
Linux có một số công cụ nén tích hợp sẵn trong hầu như mọi bản phân phối, thường được gọi là Linux distros. Zip có lẽ là phổ biến nhất. Tiện ích Zip có thể được sử dụng trong giao diện người dùng đồ họa (GUI) hoặc terminal.
Zip Trong Linux GUI
- Điều hướng đến các file cần nén và chọn chúng. Sau đó nhấp chuột phải và chọn Nén (Compress).
- Nhập tên cho kho lưu trữ zip. Lưu ý rằng bạn cũng có thể chọn hai loại nén khác. Điều này có thể khác nhau giữa các distros.
- Ngay sau đó bạn sẽ thấy kho lưu trữ zip của mình. Lưu ý rằng kích thước kho lưu trữ nhỏ hơn nhiều so với tổng kích thước các file được đặt vào đó.
Unzip Trong Linux GUI
- Tìm kho lưu trữ zip cần giải nén và nhấp chuột phải vào nó. Chọn Giải nén tại đây (Extract Here) hoặc Giải nén đến... (Extract to...). Giải nén tại đây đặt nội dung vào thư mục này. Giải nén đến... cho phép bạn chọn nơi khác để đặt nội dung.
Các file được giải nén. Lưu ý rằng chúng quay lại kích thước đầy đủ 100 MB mỗi file.
Trình Quản Lý Kho Lưu Trữ Để Unzip Trong Linux GUI
Một số distros Linux có các cách khác để unzip tích hợp sẵn. Trong ví dụ này, bạn có thể sử dụng Trình quản lý kho lưu trữ (Archive Manager).
- Nhấp chuột phải vào kho lưu trữ và chọn Mở với Trình quản lý kho lưu trữ (Open With Archive Manager).
- Chọn các file để giải nén bằng cách nhấp chuột trái đơn. Bạn có thể chọn một, vài hoặc tất cả. Sau đó chọn Giải nén (Extract) ở góc trên bên trái.
- Lúc này, bạn có thể chọn nơi giải nén file bằng trình quản lý file. Sau đó chọn Giải nén (Extract) ở góc trên bên phải.
- Khi giải nén xong, bạn có thể tiếp tục hoặc Hiển thị các file (Show the Files).
File quay lại kích thước đầy đủ. Một bản sao được để lại bên trong kho lưu trữ.
Zip File Trong Linux Terminal
Mở terminal và điều hướng đến thư mục chứa các file cần zip. Nhập lệnh zip ziptest.zip *.
Zip bảo Linux sử dụng tiện ích zip, ziptest.zip nói cho nó biết tên mong muốn cho kho lưu trữ, dấu sao (*) là ký tự đại diện nghĩa là zip tất cả file trong thư mục này.
Nó nén các file, liệt kê chúng và nói bao nhiêu phần trăm đã nén (deflated).
Nhiều hành động có thể dùng với lệnh zip. Để xem chúng, nhập zip –help, và bạn sẽ thấy tương tự như hình sau.
Unzip File Trong Linux Terminal
Trong Terminal, sử dụng lệnh unzip ziptest.zip, nơi unzip là lệnh và ziptest.zip là tên kho lưu trữ cần giải nén.
Nó sẽ hiển thị các file đang được giải nén, để bạn biết khi nào xong.
Giống như lệnh zip, nhiều hành động có thể dùng với lệnh unzip. Để xem chúng, nhập unzip –help, và bạn sẽ thấy tương tự như hình sau.
Bzip2 Cho Việc Zip Và Unzip File Trong Linux
Bzip2 là tiện ích nén khác tích hợp trong hầu hết các distros Linux. Một khác biệt lớn là bzip2 không thể nén nhiều file vào một kho lưu trữ. Mỗi file có kho lưu trữ zip riêng.
Zip File Trong Linux Terminal Với Bzip2
Nhập lệnh bzip2 -kv9 testfile1.txt testfile2.txt nơi bzip2 là lệnh.
-kv9 phân tích thành k nghĩa là keep (giữ nguyên file gốc), v nghĩa là verbose (hiển thị chi tiết) để chúng ta thấy gì đang xảy ra, và 9 cho mức nén cao nhất. Bạn có thể chọn giữa 1 và 9. Mức nén càng cao, việc nén file càng mất thời gian.
Đầu ra cho chúng ta biết nhiều hơn zip, nhưng kết quả cuối cùng gần như giống nhau.
Unzip File Trong Linux Terminal Với Bzip2
Nhập lệnh bzip2 -kvd testfile.1.txt.bz2 testfile2.txt.bz2. Tùy chọn -kvd phân tích là k cho keep kho lưu trữ, v cho verbose output, và d cho decompress (giải nén).
Bạn thấy các file đang được giải nén và biết khi nào xong.
Để xem tùy chọn bzip2, nhập bzip2 –help, và bạn sẽ thấy như sau. Hãy thử các tùy chọn trên file không quan trọng để xem chúng có thể làm gì.
Gzip Cho Việc Zip Và Unzip File Trong Linux
Đây là tiện ích nén phổ biến cuối cùng được tích hợp với hầu hết các distros. Nó nhẹ hơn bzip2 và zip về tùy chọn. Tuy nhiên, chất lượng nén vẫn gần như giống nhau.
Zip File Trong Linux Terminal Với Gzip
Nhập lệnh gzip -kv9 testfile1.txt testfile2.txt. (Lưu ý: lệnh gốc viết gzip2 nhưng đúng là gzip). Tùy chọn -kv9 phân tích là k cho keep file, v cho verbose output, và 9 cho mức nén cao nhất giữa 1 và 9.
Như đầu ra verbose hiển thị, gzip hoạt động cũng tốt như các phương pháp nén khác.
Unzip File Trong Linux Terminal Với Gzip
Có hai cách để giải nén kho lưu trữ gzip. Một là dùng gzip, cái kia là gunzip.
Với lệnh gzip, dùng gzip -kvd testfile1.txt.gz testfile2.txt.gz. Chú ý tùy chọn d. Nghĩa là decompress.
Với lệnh gunzip, dùng gunzip testfile1.txt.gz testfile2.txt.gz. Khác biệt duy nhất với gzip là gunzip không yêu cầu tùy chọn cho giải nén cơ bản.
Tar Để Zip Và Unzip File Trong Linux Có Gì Khác?
Tại sao tar chưa được nhắc đến? Nó là công cụ lưu trữ (archiving), lấy một loạt file và đặt chúng vào một kho lưu trữ để vận chuyển dễ dàng. Bất kể kích thước file, kích thước file tar sẽ khoảng giống nhau.
Nhưng nếu bạn kết hợp phương pháp zip với tar, bạn sẽ có thứ thực sự tuyệt vời. Bạn gói gọn một gói file đơn lẻ được nén đẹp.
Sử dụng các phương pháp zip khác trên thư mục file, bạn sẽ có kho lưu trữ nén cho mỗi file trong thư mục. Sử dụng tar với tùy chọn gzip trên thư mục sẽ nén mọi thứ và tạo một kho lưu trữ duy nhất.
Zip File Trong Linux Terminal Với Tar Và Gzip
Nhập lệnh tar -czvf Documents.tgz Documents.
Tùy chọn -czvf phân tích là c cho create kho lưu trữ mới, z cho nén với gzip, v cho verbose output, và f cho file equals archive, nghĩa là kho lưu trữ giữ cấu trúc file của thư mục gốc.
Kho lưu trữ mới phải được đặt tên, là Documents.tgz trong ví dụ này. Bằng cách dùng phần mở rộng .tgz, người khác sẽ biết đây là kho lưu trữ tar đã được gzip. Cuối cùng Documents là thư mục để lưu trữ và nén.
Đầu ra trông như sau.
Trong Trình quản lý file, bạn có thể thấy kho lưu trữ tar và nó đã được nén.
Unzip File Trong Linux Terminal Với Tar Và Gzip
Để giải nén kho lưu trữ tar đã gzip, dùng cùng lệnh tar với tùy chọn hơi khác.
Nhập lệnh tar -xzvf Documents.tgz Documents.
Tùy chọn -xzvf phân tích là x cho extract (giải nén), z cho unzip với gzip, v cho verbose để chúng ta xem quá trình, và f cho file=archive nghĩa là giữ cấu trúc file. Documents.tgz là kho lưu trữ cần giải nén và unzip, và Documents là thư mục bạn muốn nội dung đi vào.
Kết quả hiển thị trong hình dưới. Hai file quay lại kích thước đầy đủ, và chúng ở trong thư mục Documents.
Để xem tùy chọn tar, nhập tar –help, và bạn sẽ có vài trang tùy chọn. Lưu ý có các phương pháp zip khác nhau ngoài gzip, nên bạn có thể chọn cái bạn thích.
Các Công Cụ Zip Ít Phổ Biến Hơn Trong Linux
Có hai tiện ích nén khác tìm thấy trong hầu hết các distros Linux. Tuy nhiên, chúng không phổ biến lắm. Tuy nhiên, chúng được liệt kê ở đây để bạn biết đến chúng.
LZMA
LZMA là tiện ích nén dòng lệnh khác thường thấy trong distros Linux. Nó là thuật toán nén được 7-Zip sử dụng.
XZ
Tiện ích XZ là công cụ nén dòng lệnh thường được bao gồm trong distros Linux. Tùy chọn của nó tương tự như bzip2. Nó dựa trên thuật toán LZMA2, dựa trên LZMA.
Thêm thông tin về các tiện ích này có thể tìm thấy bằng cách dùng lệnh lzma –help và xz –help.
Còn Có Cách Khác Để Zip Và Unzip Trong Linux Không?
Chúng tôi chỉ đi sâu vào các công cụ nén tích hợp trong hầu hết các distros Linux. Vẫn còn, Linux có một số cách khác để zip và unzip file. Một số có GUI, một số là tiện ích dòng lệnh, và một số có thể dùng cả GUI và dòng lệnh. Bạn có dùng một trong các công cụ zip này trong Linux không? Cái nào là yêu thích của bạn và tại sao? Hãy cho chúng tôi biết trong bình luận.