final answer.## 1. Kiến thức cơ bản về nén và giải nén trên Ubuntu
Mục đích chính của việc thực hiện “nén” trên Ubuntu bao gồm ba mục sau:
- Giảm kích thước tệp để tiết kiệm không gian lưu trữ
- Gộp nhiều tệp thành một tệp để gửi và chia sẻ
- Tạo bản sao lưu và lưu trữ (một bộ gói để lưu trữ)
Trên Ubuntu, thao tác dòng lệnh (Terminal) là tiêu chuẩn. Bạn cũng có thể thực hiện qua giao diện GUI (trình quản lý tệp), nhưng trong môi trường làm việc thực tế và máy chủ, việc sử dụng dòng lệnh là chuẩn mực.
Điểm quan trọng đầu tiên bạn cần hiểu là “nén” và “lưu trữ” là hai khái niệm khác nhau.
- 1 2. Cách nén và giải nén định dạng zip trên Ubuntu
- 2 3. Cách Nén với tar.gz (tgz) (Tiêu chuẩn Linux)
- 3 4. Chọn Định dạng Nén Cao (bz2 / xz)
- 4 5. Cách Nén Sử Dụng Giao Diện Đồ Họa (Trình Quản Lý Tập Tin)
- 5 6. Kỹ Thuật Nén Thực Tiễn cho Công Việc Thực Tế
1.1 Sự khác biệt giữa Nén và Lưu trữ
Đây là điểm mà hầu hết người mới bắt đầu cảm thấy bối rối.
- Compression → Quá trình giảm kích thước dữ liệu Ví dụ: gzip, bzip2, xz
- Archive → Quá trình gộp nhiều tệp và thư mục thành một tệp duy nhất Ví dụ: tar
Một sự thật quan trọng
Lệnh tar không phải là “nén.”
Nói một cách chính xác, nó là lệnh chỉ “gộp”.
Nếu bạn muốn nén đồng thời, bạn kết hợp nó với gzip hoặc xz.
Ví dụ:
tar -czvf archive.tar.gz folder/
Ý nghĩa:
c= tạoz= nén gzipv= hiển thị chi tiết (hiển thị các mục đã xử lý)f= chỉ định tên tệp đầu ra
1.2 Các định dạng nén phổ biến trên Ubuntu
Các định dạng sau thường được sử dụng trên Ubuntu.
| Format | Features | Main use |
|---|---|---|
| zip | High Windows compatibility | Sharing with other OSes |
| tar.gz | Linux standard format | General-purpose compression |
| tar.bz2 | Higher compression than gzip | Prioritize smaller size |
| tar.xz | Very high compression | Large datasets |
Cách chọn
- Chia sẻ với Windows → zip
- Giữ trong Linux → tar.gz
- Kích thước là ưu tiên hàng đầu → tar.xz
1.3 Các lệnh cơ bản để kiểm tra trước khi nén
Kiểm tra thư mục hiện tại:
pwd
Liệt kê các tệp:
ls -l
Kiểm tra kích thước:
du -sh folder/
Các điểm thường gặp
- Chạy lệnh mà không kiểm tra thư mục hiện tại và tạo tệp ở vị trí không mong muốn
- Gõ sai đường dẫn tương đối (ví dụ,
../folder) - Bỏ qua việc kiểm tra kích thước trước khi nén và hết dung lượng đĩa
1.4 Những hiểu lầm phổ biến và lưu ý
1. Hình ảnh và video không giảm nhiều
Bởi vì JPEG và MP4 đã là các định dạng nén, kích thước của chúng thường không giảm đáng kể.
2. tar một mình không giảm kích thước
Phần sau chỉ “gộp”.
tar -cvf archive.tar folder/
Kích thước sẽ gần như không thay đổi.
3. Tệp lớn làm tăng tải CPU
Việc sử dụng CPU có thể tăng cao, đặc biệt khi dùng xz.
4. Cẩn thận với lỗi quyền truy cập
Nếu bạn thao tác với các thư mục hệ thống, bạn sẽ cần sudo.
2. Cách nén và giải nén định dạng zip trên Ubuntu
Định dạng zip cung cấp khả năng tương thích tốt nhất khi trao đổi tệp giữa Ubuntu và Windows.
Nhiều người dùng tìm kiếm “ubuntu compression” thường muốn zip trước tiên.
Trên Ubuntu, bạn sử dụng các lệnh zip và unzip.
Đầu tiên, kiểm tra xem chúng đã được cài đặt chưa.
2.1 Kiểm tra xem zip đã được cài đặt chưa
Bạn có thể kiểm tra bằng lệnh sau:
zip -v
Nếu nhận được lỗi, hãy cài đặt:
sudo apt update
sudo apt install zip unzip
Những lỗi thường gặp
- Không thể giải nén vì unzip chưa được cài đặt
- Quên dùng sudo và nhận “Permission denied”
2.2 Cách nén tệp bằng zip
Nén một tệp đơn:
zip sample.zip file.txt
Kết quả:
- Đã tạo
sample.zip - Tệp gốc không bị xóa
Nén nhiều tệp cùng lúc
zip sample.zip file1.txt file2.txt
2.3 Cách nén một thư mục (Quan trọng)
Khi nén một thư mục, tùy chọn -r (đệ quy) là bắt buộc.
zip -r sample.zip folder/
Nếu bỏ qua -r, các tệp bên trong thư mục sẽ không được nén.
Các điểm thường gặp
- Quên
-r - Gõ sai đường dẫn tương đối
- Sắp xếp lệnh sai thứ tự (tên tệp đầu ra phải đứng trước)
Thứ tự đúng:
zip -r output.zip target_folder
2.4 Cách giải nén tệp zip
Lệnh cơ bản:
unzip sample.zip
Giải nén vào một thư mục chỉ định:
unzip sample.zip -d extracted_folder
Ghi chú
- Nếu đích đã tồn tại, bạn sẽ được nhắc xác nhận ghi đè
- Nếu các tệp có cùng tên tồn tại, chúng có thể bị ghi đè
- Nếu đường dẫn chứa khoảng trắng, hãy bọc nó trong dấu ngoặc kép
Ví dụ:
unzip "sample file.zip"
2.5 Tạo zip được bảo vệ bằng mật khẩu
Bạn có thể mã hóa nó vì mục đích bảo mật.
zip -e secure.zip file.txt
Bạn sẽ được nhắc nhập mật khẩu.
Ghi chú
- Mã hóa zip không mạnh lắm (không phù hợp cho sử dụng bảo mật cao)
- Mất mật khẩu = khó khôi phục
2.6 Kiểm tra Kích thước và Tỷ lệ Nén
Hiển thị thông tin tệp zip:
unzip -l sample.zip
So sánh với kích thước gốc:
ls -lh
Tại sao Tỷ lệ Nén Có Thể Thấp
- Hình ảnh/video đã được nén rồi
- Văn bản và nhật ký thường nén tốt
3. Cách Nén với tar.gz (tgz) (Tiêu chuẩn Linux)
Định dạng được sử dụng phổ biến nhất trong môi trường Linux là tar.gz.
Nó được sử dụng rộng rãi trên Ubuntu cho phân phối mã nguồn và sao lưu.
tar.gz là quy trình hai bước:
- Gộp tệp với tar (lưu trữ)
- Nén với gzip
Hiểu cơ chế này làm cho việc sử dụng nâng cao dễ dàng hơn.
3.1 Lệnh Cơ bản để Tạo Lưu trữ tar.gz
Ví dụ: nén một thư mục
tar -czvf archive.tar.gz folder/
Ý nghĩa của từng tùy chọn:
c= tạoz= nén gzipv= verbose (hiển thị các mục đã xử lý)f= tệp (chỉ định tên tệp đầu ra)
Tệp Đơn
tar -czvf archive.tar.gz file.txt
Nhiều Tệp
tar -czvf archive.tar.gz file1.txt file2.txt
3.2 Cách Giải nén Lưu trữ tar.gz
Lệnh cơ bản:
tar -xzvf archive.tar.gz
Phân tích tùy chọn:
x= giải nénz= giải nén gzipv= hiển thị các mục đã giải nénf= chỉ định tệp
Giải nén vào Thư mục Cụ thể
tar -xzvf archive.tar.gz -C target_folder/
-C chỉ định thư mục đích.
3.3 Ghi chú Quan trọng Khi Sử dụng tar
1. Theo dõi Cấu trúc Đường dẫn Đã Giải nén
Cấu trúc thư mục tại thời điểm tạo được bảo tồn trong quá trình giải nén.
Ví dụ:
tar -czvf archive.tar.gz folder/
Khi giải nén:
folder/
└─ contents
Nếu bạn muốn “chỉ giải nén nội dung,” bạn cần điều chỉnh đường dẫn khi tạo lưu trữ.
2. Cẩn thận Với Việc Ghi đè Ngẫu nhiên
Nếu tệp đã tồn tại, chúng có thể bị ghi đè.
Để kiểm tra trước:
tar -tzvf archive.tar.gz
-t liệt kê nội dung lưu trữ.
3. Không Đủ Không gian Đĩa
Nén có thể tạm thời sử dụng thêm không gian.
Kiểm tra trước:
df -h
3.4 Chỉ Nén với gzip
Chỉ nén một tệp:
gzip file.txt
Kết quả:
file.txt.gz
Giải nén:
gunzip file.txt.gz
Ghi chú
- gzip xóa tệp gốc (nó thay thế sau khi nén)
- Không phù hợp để gộp nhiều tệp
3.5 Lỗi Phổ biến
- Trộn lẫn thứ tự tùy chọn
- Quên đặt tên tệp sau
f - Đặt
-Cở vị trí sai - Hiểu lầm rằng tar đơn lẻ giảm kích thước
4. Chọn Định dạng Nén Cao (bz2 / xz)
Nếu bạn muốn giảm kích thước càng nhiều càng tốt, sử dụng bzip2 (bz2) hoặc xz, chúng thường nén tốt hơn gzip.
Tuy nhiên, tỷ lệ nén càng cao, tải CPU càng cao và thời gian xử lý càng dài.
Hướng dẫn cơ bản như sau:
- Ưu tiên tốc độ → gzip
- Ưu tiên tỷ lệ nén → xz
- Trung bình → bzip2
4.1 Tạo và Giải nén tar.bz2
Cách Nén
tar -cjvf archive.tar.bz2 folder/
Phân tích tùy chọn:
c= tạoj= nén bzip2v= đầu ra verbosef= chỉ định đầu ra
Cách Giải nén
tar -xjvf archive.tar.bz2
4.2 Tạo và Giải nén tar.xz
xz hiện là một trong những định dạng nén cao nhất trên Linux.
Cách Nén
tar -cJvf archive.tar.xz folder/
Lưu ý: J phải viết hoa (quan trọng).
Cách Giải Nén
tar -xJvf archive.tar.xz
4.3 Sự Khác Biệt về Tỷ Lệ Nén và Thời Gian Xử Lý
Xu hướng chung (có thể thay đổi tùy môi trường):
- gzip → nhanh, tỷ lệ nén tiêu chuẩn
- bzip2 → nén cao hơn gzip, chậm hơn một chút
- xz → nén rất cao, chậm nhất
Kiểm Tra Tải CPU
top
Việc sử dụng CPU tăng lên khi nén các tệp lớn bằng xz là bình thường.

4.4 Cách Lựa Chọn trong Công Việc Thực Tế
Đối Với Sao Lưu
→ tar.xz (ưu tiên kích thước nhỏ hơn)
Đối Với Lưu Trữ Log Máy Chủ
→ tar.gz (cân bằng)
Đối Với Việc Chuyển Tệp Tạm Thời
→ tar.gz hoặc zip
4.5 Những Sai Lầm Thường Gặp và Lưu Ý
- Gõ
Jthường và gặp lỗi - xz không được cài đặt trên môi trường cũ
- Máy chủ chậm do tải CPU
- Hết dung lượng trong quá trình nén
Nếu xz chưa được cài đặt:
sudo apt install xz-utils
5. Cách Nén Sử Dụng Giao Diện Đồ Họa (Trình Quản Lý Tập Tin)
Nếu bạn không quen với các thao tác dòng lệnh, bạn có thể nén bằng trình quản lý tệp của Ubuntu (thường là “Files” = Nautilus).
Trong môi trường desktop, đây là cách dễ nhất.
5.1 Các Bước Nén Bằng Click Chuột Phải
Các Bước
- Chọn tệp hoặc thư mục bạn muốn nén
- Click chuột phải
- Chọn “Compress”
- Chọn định dạng wp:list /wp:list
- .zip
- .tar.xz
- .7z (may appear depending on the environment)
- Nhấn “Create”
Tệp nén sẽ được tạo trong cùng thư mục.
5.2 Cách Giải Nén
Các Bước
- Click chuột phải vào tệp nén
- Chọn “Extract Here” hoặc “Extract To…”
- Hoàn tất giải nén
5.3 Kiểm Tra Khi Không Thể Sử Dụng Giao Diện Đồ Họa
Trong môi trường cài đặt tối thiểu hoặc Ubuntu Server, giao diện đồ họa không khả dụng.
Trong trường hợp đó, bạn phải sử dụng các thao tác dòng lệnh.
Kiểm tra môi trường desktop:
echo $XDG_CURRENT_DESKTOP
Nếu không có gì hiển thị, có thể bạn không có môi trường GUI.
5.4 Lưu Ý Khi Sử Dụng Giao Diện Đồ Họa
1. Xử Lý Có Thể Chậm Khi Nhiều Tệp
Chỉ báo tiến độ có thể khó hiểu.
2. Không Thể Chỉ Định Mức Nén Chi Tiết
Bạn không thể đặt mức gzip trong giao diện.
3. Khó Nhìn Thấy Mức Sử Dụng CPU
Nếu PC chậm trong quá trình xử lý, có thể khó hiểu nguyên nhân.
4. Không Thích Hợp cho Máy Chủ
Không khả dụng trong môi trường dựa trên SSH.
5.5 Sai Lầm Thường Gặp
- Chọn định dạng nén mà không hiểu sự khác nhau
- Không kiểm tra đích và “mất” các tệp đã giải nén
- Ghi đè lên các tệp đã tồn tại
6. Kỹ Thuật Nén Thực Tiễn cho Công Việc Thực Tế
Ở đây chúng tôi giải thích các kỹ thuật thường gặp trong công việc thực tế và vận hành máy chủ, vượt ra ngoài nén/giải nén đơn giản.
Các kỹ thuật này bao gồm loại trừ log, nén chỉ các phần mở rộng cụ thể, và zip có mật khẩu—các thao tác rất thực tiễn.
6.1 Nén Chỉ Các Phần Mở Rộng Tập Tin Cụ Thể
Ví dụ: nén chỉ các tệp log
tar -czvf logs.tar.gz *.log
Lưu Ý
*(ký tự đại diện) được shell mở rộng tự động- Chỉ áp dụng cho các tệp trong thư mục hiện tại
- Các thư mục con không được bao gồm
Để bao gồm cả các thư mục con:
find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-
6.2 Loại Trừ Các Tệp Cụ Thể Khi Nén
Ví dụ: loại trừ các tệp .log
tar --exclude="*.log" -czvf archive.tar.gz folder/
Loại trừ nhiều mẫu:
tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/
Sai Lầm Thường Gặp
- Bỏ qua dấu ngoặc kép khiến ký tự đại diện được mở rộng
- Gõ sai đường dẫn loại trừ
6.3 Chỉ Định Mức Nén (gzip)
gzip cho phép chỉ định mức nén (1–9).
gzip -9 file.txt
- 1 = nhanh, nén thấp
- 9 = chậm, nén cao
Khi chỉ định qua tar:
.“` tar -czvf archive.tar.gz folder/ –gzip -9
Lưu ý: cú pháp có thể khác nhau tùy vào môi trường.
### 6.4 Tạo file zip được bảo vệ bằng mật khẩu
zip -e secure.zip file.txt
Để buộc mã hoá:
zip -P password secure.zip file.txt
#### Lưu ý
* `-P` không được khuyến nghị vì nó vẫn còn trong lịch sử shell
* mã hoá zip không mạnh lắm (không phù hợp cho việc sử dụng bảo mật cao)
### 6.5 Chia nhỏ các archive (cho tệp lớn)
Để chia một archive lớn:
zip -r -s 100m split.zip folder/
Nó sẽ được chia thành các phần 100MB.
#### Ghi chú
* Tất cả các phần đã chia đều cần thiết để giải nén
* Nếu bất kỳ phần nào bị thiếu/hỏng, không thể khôi phục
### 6.6 So sánh kích thước Trước và Sau khi Nén
Trước khi nén:
du -sh folder/
Sau khi nén:
ls -lh archive.tar.gz
Các nguyên nhân phổ biến gây tỷ lệ nén thấp:
* Dữ liệu đã được nén sẵn như hình ảnh/video
* Dữ liệu đã được mã hoá nén kém
## 7. Các lỗi thường gặp khi nén và cách khắc phục
Khi nén/giải nén trên Ubuntu, người mới thường gặp các lỗi phổ biến.
Dưới đây là các lỗi tiêu biểu và giải pháp cụ thể.
### 7.1 Lỗi “command not found”
Ví dụ:
zip: command not found
#### Nguyên nhân
Lệnh chưa được cài đặt.
#### Giải pháp
sudo apt update sudo apt install zip unzip
Đối với các công cụ liên quan đến tar:
sudo apt install xz-utils
### 7.2 “Permission denied”
Ví dụ:
tar: folder/file.txt: Cannot open: Permission denied
#### Nguyên nhân
Quyền không đủ để truy cập tệp hoặc thư mục.
#### Giải pháp
Kiểm tra quyền sở hữu:
ls -l
Sử dụng sudo:
sudo tar -czvf archive.tar.gz folder/
#### Lưu ý
Sử dụng sudo quá mức sẽ tăng rủi ro bảo mật.
### 7.3 “No space left on device”
Ví dụ:
No space left on device
#### Nguyên nhân
Không đủ dung lượng đĩa.
#### Cách kiểm tra
df -h
Xóa các tệp không cần thiết:
sudo apt clean
Kiểm tra việc sử dụng đĩa:
du -sh *
### 7.4 Tên tệp bị lỗi khi giải nén
Điều này có thể xảy ra khi bạn nhận một file zip được tạo trên Windows.
#### Nguyên nhân
Sự khác nhau về mã ký tự (UTF-8 vs Shift-JIS, v.v.).
#### Ví dụ sửa lỗi
unzip -O cp932 sample.zip
Lưu ý: tùy môi trường.
### 7.5 Ghi đè vô tình
Các tệp hiện có có thể bị ghi đè khi giải nén.
Kiểm tra trước:
tar -tzvf archive.tar.gz
Đối với zip:
unzip -l sample.zip
### 7.6 Tải CPU cao
Việc sử dụng CPU tăng lên trong quá trình nén xz là bình thường.
Kiểm tra:
top
Nếu cần, giảm mức nén, hoặc chuyển sang gzip.
## 8. Tóm tắt: Lệnh nén Ubuntu nào nên dùng (Tham khảo nhanh)
Dưới đây là bản tóm tắt thực tế, dựa trên các trường hợp sử dụng của những gì chúng ta đã đề cập.
Điều này giúp người dùng tìm kiếm “ubuntu compression” nhanh chóng đưa ra kết luận.
### 8.1 Định dạng đề xuất theo trường hợp sử dụng
Use case Recommended format Reason Sharing with Windows zip High compatibility Standard use within Linux tar.gz Good balance Size is the top priority tar.xz High compression Backup storage tar.gz / tar.xz Prioritize stability Temporary transfer tar.gz Prioritize speed
### 8.2 So sánh định dạng (Tốc độ vs Tỷ lệ nén)
Format Compression ratio Speed CPU load zip Normal Fast Low tar.gz Normal Fast Low to medium tar.bz2 High Slow Medium tar.xz Very high Very slow High
Lưu ý: tỷ lệ nén và tốc độ thay đổi tùy vào dữ liệu và môi trường.
### 8.3 Các lệnh tối thiểu bạn nên ghi nhớ
#### Nén zip
zip -r archive.zip folder/
#### Nén tar.gz
tar -czvf archive.tar.gz folder/
#### Giải nén tar.gz
tar -xzvf archive.tar.gz “`
8.4 Kết luận đơn giản cho người mới bắt đầu
- Nếu không chắc, hãy dùng tar.gz
- Nếu cần chia sẻ với Windows, hãy dùng zip
- Nếu muốn kích thước nhỏ nhất có thể, hãy dùng tar.xz
Ưu tiên hàng đầu của bạn là ghi nhớ tar -czvf và tar -xzvf.
8.5 Các lựa chọn sai thường gặp
- Hiểu lầm rằng tar tự nó có thể nén
- Luôn chọn xz và làm chậm quá trình
- Không hiểu sự khác biệt giữa GUI và CLI
- Không kiểm tra dung lượng đĩa trước khi nén

