tar command in linux

Tar Command in Linux: Hướng Dẫn Chi Tiết Từ A Đến Z Cho Người Mới Bắt Đầu

Chào mừng bạn đến với thế giới của Linux! Nếu bạn đang tìm kiếm một công cụ mạnh mẽ để quản lý và nén các tệp tin, thì tar command chính là thứ bạn cần. Trong bài viết này, chúng ta sẽ cùng nhau khám phá mọi ngóc ngách của tar, từ những khái niệm cơ bản đến những ứng dụng thực tế, giúp bạn tự tin sử dụng nó trong công việc hàng ngày.

tar, viết tắt của "tape archiver," là một tiện ích dòng lệnh phổ biến trong hệ điều hành Linux và Unix. Nó cho phép bạn tạo các tệp lưu trữ (archives) chứa nhiều tệp tin và thư mục, giúp bạn dễ dàng sao lưu, di chuyển hoặc chia sẻ dữ liệu. Mặc dù tên gọi có liên quan đến băng từ (tape), nhưng tar thường được sử dụng để tạo các tệp lưu trữ trên ổ cứng hoặc các thiết bị lưu trữ khác.

Tại Sao Nên Sử Dụng Tar Command?

Có rất nhiều lý do khiến tar trở thành một công cụ không thể thiếu đối với người dùng Linux:

  • Nén và Lưu Trữ: tar cho phép bạn kết hợp nhiều tệp tin và thư mục thành một tệp duy nhất, giúp tiết kiệm không gian lưu trữ và dễ dàng quản lý.
  • Sao Lưu Dữ Liệu: Tạo bản sao lưu toàn bộ hệ thống hoặc các thư mục quan trọng một cách nhanh chóng và hiệu quả.
  • Di Chuyển Dữ Liệu: Dễ dàng di chuyển dữ liệu giữa các máy tính hoặc hệ thống khác nhau.
  • Chia Sẻ Dữ Liệu: Chia sẻ nhiều tệp tin và thư mục với người khác thông qua một tệp lưu trữ duy nhất.

Cú Pháp Cơ Bản Của Tar Command

Cú pháp cơ bản của tar command như sau:

tar [options] [archive-file] [file1] [file2] ...

Trong đó:

  • tar: Lệnh gọi chương trình tar.
  • [options]: Các tùy chọn điều khiển hành vi của lệnh tar.
  • [archive-file]: Tên của tệp lưu trữ (ví dụ: myarchive.tar).
  • [file1] [file2] ...: Danh sách các tệp tin và thư mục bạn muốn thêm vào tệp lưu trữ.

Các Tùy Chọn Quan Trọng Của Tar Command

tar cung cấp rất nhiều tùy chọn khác nhau, nhưng đây là một số tùy chọn quan trọng và thường được sử dụng nhất:

  • -c: Tạo một tệp lưu trữ mới (create).
  • -x: Giải nén một tệp lưu trữ (extract).
  • -v: Hiển thị chi tiết các tệp tin được xử lý (verbose).
  • -f: Chỉ định tên của tệp lưu trữ (file).
  • -z: Nén tệp lưu trữ bằng gzip (compress with gzip).
  • -j: Nén tệp lưu trữ bằng bzip2 (compress with bzip2).
  • -t: Liệt kê nội dung của tệp lưu trữ (list).

Ví Dụ Thực Tế Về Cách Sử Dụng Tar Command

Để hiểu rõ hơn về cách sử dụng tar, chúng ta sẽ cùng xem xét một số ví dụ cụ thể:

1. Tạo Tệp Lưu Trữ

Để tạo một tệp lưu trữ tên là myarchive.tar chứa các tệp tin file1.txt, file2.txt và thư mục mydir, bạn sử dụng lệnh sau:

tar -cvf myarchive.tar file1.txt file2.txt mydir

Giải thích:

  • -c: Tạo tệp lưu trữ.
  • -v: Hiển thị chi tiết các tệp tin được thêm vào.
  • -f myarchive.tar: Chỉ định tên tệp lưu trữ là myarchive.tar.
  • file1.txt file2.txt mydir: Danh sách các tệp tin và thư mục cần thêm vào.

2. Giải Nén Tệp Lưu Trữ

Để giải nén tệp lưu trữ myarchive.tar, bạn sử dụng lệnh sau:

tar -xvf myarchive.tar

Giải thích:

  • -x: Giải nén tệp lưu trữ.
  • -v: Hiển thị chi tiết các tệp tin được giải nén.
  • -f myarchive.tar: Chỉ định tên tệp lưu trữ là myarchive.tar.

3. Tạo Tệp Lưu Trữ Nén Gzip

Để tạo một tệp lưu trữ nén bằng gzip với tên là myarchive.tar.gz chứa các tệp tin file1.txt, file2.txt và thư mục mydir, bạn sử dụng lệnh sau:

tar -czvf myarchive.tar.gz file1.txt file2.txt mydir

Giải thích:

  • -c: Tạo tệp lưu trữ.
  • -z: Nén bằng gzip.
  • -v: Hiển thị chi tiết các tệp tin được thêm vào.
  • -f myarchive.tar.gz: Chỉ định tên tệp lưu trữ là myarchive.tar.gz.
  • file1.txt file2.txt mydir: Danh sách các tệp tin và thư mục cần thêm vào.

4. Giải Nén Tệp Lưu Trữ Nén Gzip

Để giải nén tệp lưu trữ nén gzip myarchive.tar.gz, bạn sử dụng lệnh sau:

tar -xzvf myarchive.tar.gz

Giải thích:

  • -x: Giải nén tệp lưu trữ.
  • -z: Giải nén gzip.
  • -v: Hiển thị chi tiết các tệp tin được giải nén.
  • -f myarchive.tar.gz: Chỉ định tên tệp lưu trữ là myarchive.tar.gz.

5. Liệt Kê Nội Dung Tệp Lưu Trữ

Để liệt kê nội dung của tệp lưu trữ myarchive.tar mà không cần giải nén, bạn sử dụng lệnh sau:

tar -tvf myarchive.tar

Giải thích:

  • -t: Liệt kê nội dung tệp lưu trữ.
  • -v: Hiển thị chi tiết các tệp tin trong tệp lưu trữ.
  • -f myarchive.tar: Chỉ định tên tệp lưu trữ là myarchive.tar.

So Sánh Tar với Gzip, Bzip2 và Xz

tar thường được sử dụng kết hợp với các công cụ nén như gzip, bzip2xz để giảm kích thước tệp lưu trữ. Dưới đây là bảng so sánh ngắn gọn:

Công Cụ Đuôi Mở Rộng Ưu Điểm Nhược Điểm
gzip .gz Nhanh, phổ biến Tỉ lệ nén thấp hơn
bzip2 .bz2 Tỉ lệ nén tốt hơn gzip Chậm hơn gzip
xz .xz Tỉ lệ nén tốt nhất Chậm nhất

Ứng Dụng Thực Tế Của Tar Command

Dưới đây là một số tình huống thực tế mà bạn có thể sử dụng tar command:

  • Sao Lưu Website: Sao lưu toàn bộ mã nguồn, cơ sở dữ liệu và các tệp tin cấu hình của website.
  • Di Chuyển Dự Án: Đóng gói toàn bộ dự án phần mềm để di chuyển giữa các môi trường phát triển.
  • Tạo Bản Sao Lưu Định Kỳ: Tạo các bản sao lưu định kỳ của dữ liệu quan trọng để đảm bảo an toàn.
  • Chia Sẻ Tệp Tin Lớn: Chia sẻ các bộ dữ liệu lớn với đồng nghiệp hoặc khách hàng.

Câu Hỏi Thường Gặp (FAQ)

Làm thế nào để giải nén tệp tar vào một thư mục cụ thể?

Bạn có thể sử dụng tùy chọn -C để chỉ định thư mục đích. Ví dụ: tar -xvf myarchive.tar -C /path/to/destination

Làm thế nào để loại trừ một số tệp hoặc thư mục khi tạo tệp tar?

Bạn có thể sử dụng tùy chọn --exclude. Ví dụ: tar -cvf myarchive.tar --exclude=".log" --exclude="temp/"

Tại sao tôi nhận được lỗi "tar: Removing leading /' from member names"?

Đây là một cảnh báo thông thường khi tar loại bỏ dấu / ở đầu đường dẫn để đảm bảo tính tương thích. Bạn có thể bỏ qua cảnh báo này, hoặc sử dụng tùy chọn -P (hoặc --absolute-names) để giữ lại đường dẫn tuyệt đối.

Kết Luận

tar command là một công cụ vô cùng mạnh mẽ và linh hoạt trong Linux. Với những kiến thức đã học trong bài viết này, bạn đã có thể tự tin sử dụng tar để quản lý, nén và lưu trữ dữ liệu một cách hiệu quả. Hãy thử nghiệm với các tùy chọn khác nhau và khám phá thêm những khả năng tuyệt vời mà tar mang lại.

Chúc bạn thành công!

Last Updated : 22/08/2025