15 lệnh Tar nên thử trong Linux
Đôi khi người dùng cần đóng gói nhiều file và/hoặc thư mục vào một file duy nhất. Sẽ dễ dàng hơn nếu chuyển một file qua mạng và thậm chí là tất cả các file trong USB (nhưng càng nhiều file thì việc chuyển sẽ càng bị chậm). Trên các hệ điều hành như Windows, điều này thường được thực hiện bằng cách lưu trữ vào các file .zip hoặc .rar. Trên các hệ điều hành *nix, chẳng hạn như Linux, tiện ích thường dùng là tar. Tên của lệnh này xuất phát từ Tape ARchive, vì ban đầu nó được thiết kế để sao lưu dữ liệu trên băng từ. Ngày nay, nó vẫn có thể được sử dụng cho mục đích này, nhưng trong hầu hết các trường hợp, nó chỉ đơn giản là phương pháp tạo ra “tarball”. Mục đích của tarball là để tạo điều kiện upload, download và di chuyển dữ liệu hoặc giữ bản sao lưu.
Các lệnh Tar phổ biến trong Linux
- 1. Tham khảo hướng dẫn sử dụng tar
- 2. Tạo một Tarball thư mục
- 3. Thêm nội dung vào một Tarball hiện có
- 4. Danh sách nội dung của file tar
- 5. Trích xuất nội dung từ Tarball
- 6. Tạo Tarball nén (gzip)
- 7. Tạo Tarball nén nhỏ hơn (bzip)
- 8. Trích xuất một file hoặc thư mục
- 9. Chỉ trích xuất các file/thư mục phù hợp với một mẫu
- 10. Bảo toàn các quyền truy cập
- 11. Xóa tệp hoặc thư mục khỏi Tarball
- 12. Loại trừ các file hoặc thư mục khỏi bị thêm vào Tarball
- 13. Ở trong một hệ thống file
- 14. Bảo toàn các thuộc tính mở rộng
- 15. Tạo thư mục mới cho các file được giải nén
1. Tham khảo hướng dẫn sử dụng tar
Mỗi lệnh trong Linux có một trang hướng dẫn. Bạn có thể tham khảo hướng dẫn sử dụng tar bằng cách nhập lệnh sau vào terminal:
man tar
Xem qua phần nội dung bằng cách sử dụng các phím mũi tên, PAGE UP và PAGE DOWN. Nhấn q để thoát khỏi hướng dẫn.
2. Tạo thư mục Tarball
Tạo thư mục với 9 tệp trống để có thể kiểm tra các lệnh tar:
mkdir $HOME/test9 && touch $HOME/test9/{1..9}
Bây giờ chuyển sang thư mục chính:
cd
Để chuyển nội dung của một thư mục đến một file tar:
tar -cvf test.tar test9
- c - Là viết tắt của “create”
- v - Verbose, xuất ra file hiện đang được thêm vào kho lưu trữ; hữu ích cho các tác vụ cần nhiều thời gian và kiểm tra được tiến độ
- f - Thông báo cho tiện ích tạo file tar, với tên được chỉ định là test.tar
3. Thêm nội dung vào một Tarball hiện có
Tạo một thư mục khác với các file trống có tên được sắp xếp từ a đến z:
mkdir $HOME/test-az && touch $HOME/test-az/{a..z}
Bây giờ, thêm nó vào kho lưu trữ tar đã có (tham số r):
tar -rvf test.tar test-az
Nếu mở test.tar trong trình quản lý lưu trữ đồ họa, bạn sẽ thấy nội dung sau.
4. Danh sách nội dung của file tar
Sử dụng flag -t để liệt kê nội dung của file tar.
tar -tf test.tar
5. Trích xuất nội dung từ Tarball
Nội dung sẽ được trích xuất trong thư mục hiện tại. Tạo một thư mục mới và sau đó chuyển nội dung sang đó:
mkdir $HOME/test-extract && cd $HOME/test-extract
Bây giờ giải nén test.tar trong thư mục hiện hành:
tar -xvf $HOME/test.tar
6. Tạo Tarball nén (gzip)
Nếu có ý định chuyển file tar qua mạng, làm dung lượng của nó nhỏ hơn sẽ là ý tưởng tuyệt vời để tăng tốc độ truyền. Thay đổi trở lại thư mục chính.
cd
Và tạo một file tar nén:
tar -cvzf test.tar.gz test9
Như có thể thấy, sự khác biệt duy nhất là tham số z được thêm vào nhằm hướng dẫn tar sử dụng gzip để nén file.
7. Tạo Tarball nén nhỏ hơn (bzip)
Thay vì tham số z, người dùng có thể sử dụng j để nén bằng bzip.
tar -cvjf test.tar.bz test9
Điều này sẽ tiếp tục giảm kích thước file nhưng mất nhiều thời gian hơn để nén và giải nén.
8. Trích xuất một file hoặc thư mục
Chỉ cần thêm tên chính xác của file hoặc thư mục, như nó xuất hiện trong kho lưu trữ tar:
tar -xvf test.tar test9/7
Điều này chỉ trích xuất file test9/7.
9. Chỉ trích xuất các file/thư mục phù hợp với một mẫu
Nếu bạn muốn trích xuất tất cả các file kết thúc bằng phần mở rộng .jpg:
tar -xvf test.tar --wildcards '*.jpg'
10. Bảo toàn các quyền truy cập
Quyền truy cập không quan trọng khi tạo tarball từ tài liệu, hình ảnh và các file media tương tự. Nhưng nếu đang sao lưu hệ thống, bạn có thể thêm tham số p để duy trì quyền truy cập file:
tar -cvpf test-allow.tar test9
11. Xóa tệp hoặc thư mục khỏi Tarball
Chỉ hoạt động trên các file tar không nén.
tar -f test.tar --delete test-az
Thao tác này sẽ xóa thư mục test-az khỏi tarball, bao gồm các file chứa trong đó:
tar f test.tar --delete test-az/z sẽ chỉ xóa file test test-az/z.
12. Loại trừ các file hoặc thư mục khỏi bị thêm vào Tarball
tar -cvf test-exclude.tar --exclude test9/9 test9
Như có thể thấy, file 9 đã bị loại khỏi kho lưu trữ tar. Có thể thêm nhiều tham số loại trừ:
tar cvf test-exclude.tar --exclude test9/9 --exclude test9/8 test9
13. Ở trong một hệ thống file
--one-file-system có thể được thêm vào trong một lệnh như:
tar -cvpzf backup.tar.gz --one-file-system /
Điều này sẽ sao lưu hệ thống file gốc, ngoại trừ các hệ thống file khác mà bạn có thể đã mount trong /home, /mnt, /media, /proc, v.v...
14. Bảo toàn các thuộc tính mở rộng
Bên cạnh quyền truy cập file, một số bản phân phối Linux cũng có các thuộc tính file mở rộng. Để bảo toàn tất cả chúng, hãy thêm các tham số sau: --acls --selinux --xattrs.
Lệnh ví dụ:
tar -cvpzf backup.tar.gz --one-file-system --acls --selinux --xattrs /
15. Tạo thư mục mới cho các file được giải nén
Thông thường, tar sẽ trích xuất vào thư mục hiện tại của người dùng. Có thể sử dụng mkdir new_directory và cd new_directory trước khi sử dụng tar, nếu thư mục muốn giải nén không tồn tại. Nhưng hướng dẫn tar làm mọi thứ cho bạn sẽ tốt hơn:
tar -xvf test.tar --one-top-level=new_directory
Đây là những lệnh tar được sử dụng phổ biến nhất. Nhưng tiện ích này rất linh hoạt và có thể được sử dụng theo nhiều cách khác nhau. Nếu không thích đọc hướng dẫn trong terminal, có thể tìm phiên bản HTML của hướng dẫn tar để dễ đọc hơn.
Xem thêm:
Bạn nên đọc
-
5 ứng dụng ghi chú hữu ích nhất trong Linux
-
Cách xóa cache DNS trên Linux
-
Cách xóa lịch sử trong Ubuntu
-
Cách xây dựng công cụ tạo từ ngẫu nhiên bằng Bash trong Linux
-
Cách trích xuất một file hoặc thư mục từ file TAR hoặc TAR.GZ
-
4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian
-
Tại sao lệnh tldr tốt hơn lệnh man trong Linux?
-
8 lệnh Linux mọi sysadmin cần biết
-
Cách cài đặt Umami trên Linux
Cũ vẫn chất
-
Cách kích hoạt Dynamic Lighting trên Windows 11
Hôm qua -
8 cách mở bàn phím ảo trên Windows 10
Hôm qua -
Cách sửa lỗi âm thanh trên Windows 10, khắc phục lỗi âm thanh Win 10
Hôm qua -
Hướng dẫn đổi thông tin học sinh trên VnEdu
Hôm qua -
Cách trải nghiệm Apple Music trên máy tính Windows
Hôm qua -
Cách ẩn danh sách bạn bè trên Facebook điện thoại, máy tính
Hôm qua -
Hướng dẫn chèn link vào nội dung trên Canva
Hôm qua -
Hướng dẫn chèn ảnh dưới chữ trong PowerPoint
Hôm qua -
CD Key CS các phiên bản, CD Key CS 1.1, Key CS 1.3, Key CS 1.6
Hôm qua -
Cách đếm ô checkbox trong Google Sheets
Hôm qua