1. Khái niệm lưu trữ và nén
Lưu trữ là gì và tại sao cần nó?
Hãy tưởng tượng một cái tủ đầy sách. Để lưu giữ chúng gọn gàng, bạn có thể cho chúng vào một cái hộp (lưu trữ) và buộc dây để lưu trữ chặt hơn (nén). Trong thế giới máy tính, lưu trữ là quá trình gộp nhiều tệp thành một container (lưu trữ), còn nén là giảm kích thước của nó.
Nhưng tại sao cần điều đó? Dưới đây là vài ví dụ:
- Lưu giữ dữ liệu: Bằng cách đóng gói các tệp vào một lưu trữ, bạn có thể dễ dàng di chuyển hoặc sao chép chúng như một tệp duy nhất.
- Truyền dữ liệu: Nhờ nén, dữ liệu chiếm ít không gian hơn, giúp tăng tốc độ truyền qua mạng.
- Sao lưu dự phòng: Lưu trữ cho phép bảo vệ dữ liệu và làm cho việc khôi phục trở nên dễ dàng hơn.
À này, bạn đã bao giờ thử gửi 1000 tệp qua email chưa? Không lưu trữ thì chẳng khác gì tra tấn đâu!
2. Lệnh tar: tạo và làm việc với các file lưu trữ
Tar là gì?
tar là một công cụ để lưu trữ file trên Linux. Bản thân tar không nén file, mà chỉ kết hợp chúng thành một file duy nhất. Nếu bạn muốn nén file, bạn có thể sử dụng tar kết hợp với các công cụ nén (gzip, bzip2, v.v.).
Cú pháp chung
tar [tùy chọn] <lưu trữ> <file/thư mục>
Các tùy chọn chính
-c: tạo một file lưu trữ mới.-v: hiển thị chi tiết các thao tác (sẽ thông báo tất cả các file được thêm vào).-f: đặt tên file lưu trữ.-x: giải nén file từ lưu trữ.-t: hiển thị nội dung của lưu trữ.
Ví dụ sử dụng
1. Tạo file lưu trữ
tar -cvf archive.tar file1.txt file2.txt
- Tạo file lưu trữ
archive.tartừ hai filefile1.txtvàfile2.txt. -c: tạo một file lưu trữ mới.-v: hiển thị quá trình thêm file vào terminal.-f: chỉ định tên file lưu trữ làarchive.tar.
2. Lưu trữ một thư mục
tar -cvf project.tar /home/user/project
- Tạo file lưu trữ
project.tar, bao gồm toàn bộ thư mục/home/user/project.
3. Giải nén lưu trữ
tar -xvf archive.tar
- Giải nén file lưu trữ
archive.tarvào thư mục hiện tại.
4. Xem nội dung lưu trữ
tar -tvf archive.tar
- Hiển thị danh sách các file và thư mục trong lưu trữ.
3. Nén với gzip
gzip làm gì?
Nếu tar là cái hộp, thì gzip là túi chân không giúp làm giảm kích thước của nó. gzip giảm dữ liệu bằng cách sử dụng các thuật toán nén, lý tưởng để tiết kiệm không gian.
Cú pháp chung
gzip [tùy chọn] <file>
Ví dụ sử dụng
1. Nén file
gzip file1.txt
- Sau khi chạy, lệnh sẽ đổi file
file1.txtthànhfile1.txt.gz.
2. Giải nén file
gunzip file1.txt.gz
- Khôi phục lại file gốc
file1.txt.
3. Lưu trữ và nén bằng tar và gzip
tar -czvf archive.tar.gz file1.txt file2.txt
- Tạo lưu trữ
archive.tar.gz, gộp và nén các filefile1.txtvàfile2.txt.
4. Giải nén lưu trữ nén
tar -xzvf archive.tar.gz
- Giải nén và trích xuất nội dung của lưu trữ
archive.tar.gz.
4. Công cụ zip để tạo lưu trữ nén
Khác biệt so với tar là gì?
Khác với tar, zip ngay lập tức tạo tệp lưu trữ nén, mặc định có thể sử dụng trong Windows và các hệ thống khác.
Cú pháp chung
zip [tùy chọn] <lưu trữ> <tệp/thư mục>
Ví dụ sử dụng
1. Tạo lưu trữ zip
zip archive.zip file1.txt file2.txt
- Tạo lưu trữ
archive.zip, bao gồm các tệpfile1.txtvàfile2.txt.
2. Lưu trữ thư mục
zip -r project.zip /home/user/project
- Tạo lưu trữ
project.zip, bao gồm toàn bộ thư mục/home/user/project. -r: thêm tệp và thư mục đệ quy.
3. Giải nén lưu trữ zip
unzip archive.zip
- Giải nén nội dung của lưu trữ
archive.zip.
5. Sự khác biệt giữa tar, gzip và zip
| Util | Đóng gói | Nén | Cách tiếp cận | Ứng dụng chính |
|---|---|---|---|---|
tar |
✅ | ❌ | Gom nhóm file | Kết hợp các file vào một gói mà không nén |
gzip |
❌ | ✅ | Nén | Giảm kích thước file riêng lẻ hoặc gói |
zip |
✅ | ✅ | All-in-one | Tạo gói di chuyển được |
6. Bài tập thực hành
- Tạo lưu trữ
backup.tartừ nội dung thư mục/home/user/documents. - Nén lưu trữ bằng
gzip, để đượcbackup.tar.gz. - Giải nén lưu trữ vào một thư mục khác, ví dụ:
/tmp/backup. - Tạo zip-lưu trữ
docs.ziptừ các filedoc1.txtvàdoc2.txt. - Thử trích xuất nội dung của
docs.zipbằng lệnhunzip.
7. Lỗi thường gặp và điểm đặc biệt
1. Lỗi "Permission denied" Nếu bạn cố gắng lưu trữ các file mà bạn không có quyền truy cập, một thông báo lỗi sẽ xuất hiện. Hãy chạy lệnh với quyền quản trị: sudo.
2. Lẫn lộn với các tùy chọn? Các tùy chọn của tar đôi khi có thể gây nhầm lẫn. Đừng quên rằng thứ tự rất quan trọng: ví dụ, trước tiên bạn cần chỉ định hành động -c hoặc -x, sau đó mới đến các tùy chọn khác.
3. File nén không mở được Nếu bạn vô tình thêm nén vào file đã nén trước đó (ví dụ: gzip archive.tar.gz), đừng lo. Chỉ cần giải nén hai lần.
4. Lưu trữ quá lớn Khi sử dụng lệnh zip, loại bỏ các file tạm thời hoặc bộ nhớ đệm để giảm kích thước lưu trữ: zip -r archive.zip folder -x "*.tmp".
5. Vấn đề tương thích Nếu bạn cần chuyển file cho người dùng Windows, hãy chọn zip, vì nó được hỗ trợ tốt hơn trên hệ điều hành này.
Vậy là chúng ta đã học được cách lưu trữ và nén dữ liệu trong Linux. Các công cụ này sẽ rất hữu ích để làm việc với dữ liệu lớn, để truyền tải hoặc bảo vệ khỏi mất mát. Hãy chuyển sang chủ đề tiếp theo — kiến thức sẽ ngày càng tích lũy! 🎉
GO TO FULL VERSION