Lệnh gzip là cách phổ biến để nén file trong Linux.
Mặc định khi bạn nén một file hoặc thư mục bằng lệnh gzip, file sẽ giữ nguyên tên nhưng có thêm phần mở rộng .gz.
Lưu ý: Các ảnh chụp màn hình dưới đây áp dụng cho Ubuntu cụ thể, nhưng lệnh gzip hoạt động trên các hệ điều hành Unix-like khác.
Cách nén file bằng gzip
Cách đơn giản nhất để nén một file đơn lẻ bằng gzip là chạy lệnh sau:
gzip filename
Để nén file tên mydocument.odt, chạy lệnh:
gzip mydocument.odt
Nếu tên file chứa khoảng trắng, hãy đặt nó trong dấu ngoặc kép:
gzip "this is my file.png"
Một số file nén tốt hơn file khác. Ví dụ: tài liệu, file text, ảnh bitmap, và một số định dạng âm thanh/video như WAV và MPEG nén rất tốt. Các loại file khác như ảnh JPEG và âm thanh MP3 không nén tốt và file thậm chí có thể tăng dung lượng sau khi chạy lệnh gzip.
Mẹo: Ảnh JPEG và file âm thanh MP3 đã được nén sẵn nên lệnh gzip chỉ thêm vào chứ không nén thêm được.
Lệnh gzip chỉ cố gắng nén các file và thư mục thông thường.
Cách giải nén file bằng lệnh gzip
Sử dụng lệnh sau để giải nén kho lưu trữ gzip:
gzip -d filename.gz
Để giải nén file mydocument.odt.gz, dùng lệnh:
gzip -d mydocument.odt.gz
Buộc nén file
Đôi khi một file không thể nén. Để buộc lệnh gzip thực hiện, chạy lệnh:
gzip -f filename
Cách giữ lại file gốc sau khi nén
Mặc định khi nén file bằng gzip, bạn sẽ có file mới với phần mở rộng .gz. Để nén và giữ file gốc, phải chỉ định cờ -k:
gzip -k filename
Nếu chạy lệnh sau, bạn sẽ có cả mydocument.odt và mydocument.odt.gz:
gzip -k mydocument.odt
Xem thống kê dung lượng tiết kiệm được
Mục đích nén file là tiết kiệm dung lượng ổ cứng hoặc giảm kích thước file trước khi gửi qua mạng. Lệnh gzip cung cấp thống kê hiệu suất nén.
Để lấy danh sách thống kê, chạy lệnh:
gzip -l filename.gz
Lưu ý: Trong lệnh trên, tùy chọn là chữ L thường, không phải số 1 hay chữ I hoa.
Thông tin trả về bao gồm:
- Kích thước đã nén
- Kích thước chưa nén
- Tỷ lệ nén (phần trăm)
- Tên file chưa nén
Nén mọi file trong thư mục và thư mục con
Nén mọi file trong thư mục và thư mục con bằng lệnh:
gzip -r foldername
Quy trình này không tạo một file tên foldername.gz. Thay vào đó, nó duyệt cấu trúc thư mục và nén từng file trong cấu trúc đó.
Để nén toàn bộ cấu trúc thư mục thành một file, tốt hơn là tạo file tar rồi gzip file tar đó.
Dùng lệnh sau để giải nén nhiều file:
gzip -d *.gz
Cách kiểm tra tính hợp lệ của file nén
Để xác minh file hợp lệ, chạy lệnh:
gzip -t filename
Nếu file hợp lệ, sẽ không có đầu ra nào.
Cách thay đổi mức độ nén
Bạn có thể nén file theo các cách khác nhau. Ví dụ: nén nhẹ để chạy nhanh hơn hoặc nén tối đa với đánh đổi là chạy chậm hơn.
Để nén tối thiểu ở tốc độ nhanh nhất:
gzip -1 filename
Để nén tối đa ở tốc độ chậm nhất:
gzip -9 filename
Bạn có thể thay đổi tốc độ và mức nén bằng cách chọn số khác nhau từ 1 đến 9.
File Zip tiêu chuẩn
Lệnh gzip không nên dùng khi làm việc với file zip tiêu chuẩn. Bạn có thể dùng lệnh zip và unzip cho các file đó.