Giải thích lệnh tar của Linux

theanh

Administrator
Nhân viên
Lệnh tar của Linux là con dao đa năng của quản trị viên Linux khi lưu trữ hoặc phân phối tệp. Các kho lưu trữ Gnu Tar có thể chứa nhiều tệp và thư mục, quyền tệp có thể được bảo toàn và hỗ trợ nhiều định dạng nén. Tên tar là viết tắt của "Tape Archiver", định dạng này là chuẩn POSIX chính thức.

Định dạng Tarfile​

Giới thiệu ngắn gọn về các mức nén tar.
  • Không nén Các tệp không nén có phần mở rộng tệp là .tar.
  • Nén GzipĐịnh dạng Gzip là định dạng nén được sử dụng rộng rãi nhất cho tar, định dạng này nhanh để tạo và giải nén tệp. Các tệp có nén gz thường có phần mở rộng tệp là .tar.gz hoặc .tgz. Dưới đây, bạn sẽ tìm thấy một số ví dụ về cách tạo và giải nén tệp tar.gz.
  • Nén Bzip2 Định dạng Bzip2 cung cấp khả năng nén tốt hơn định dạng Gzip. Tạo tệp chậm hơn, phần mở rộng tệp thường là .tar.bz2.
  • Nén Lzip (LZMA) Nén Lzip kết hợp tốc độ của Gzip với mức độ nén tương tự như Bzip2 (hoặc thậm chí tốt hơn). Không phụ thuộc vào các thuộc tính tốt này, định dạng này không được sử dụng rộng rãi.
  • Nén Lzop Tùy chọn nén này có lẽ là định dạng nén nhanh nhất cho tar, nó có mức độ nén tương tự như gzip và không được sử dụng rộng rãi.
Các định dạng phổ biến là tar.gz và tar.bz2. Nếu mục tiêu của bạn là nén nhanh, hãy sử dụng gzip. Khi kích thước tệp lưu trữ là quan trọng, hãy sử dụng tar.bz2.

Lệnh tar được sử dụng để làm gì?​

Sau đây là một số trường hợp sử dụng phổ biến của lệnh tar.
  • Sao lưu Máy chủ và Máy tính để bàn.
  • Lưu trữ tài liệu.
  • Phân phối phần mềm.

Cài đặt tar​

Theo mặc định, lệnh này được cài đặt trên hầu hết các hệ thống Linux. Sau đây là hướng dẫn cài đặt tar trong trường hợp lệnh bị thiếu.

CentOS​

Thực hiện lệnh sau với tư cách là người dùng root trên shell để cài đặt tar trên CentOS.
Mã:
yum install tar

Ubuntu​

Lệnh này sẽ cài đặt tar trên Ubuntu. Lệnh "sudo" đảm bảo lệnh apt được chạy với quyền root.
Mã:
sudo apt-get install tar

Debian​

Lệnh apt sau đây cài đặt tar trên Debian.
Mã:
apt-get install tar

Windows​

Lệnh tar cũng khả dụng cho Windows, bạn có thể tải xuống từ dự án Gunwin. http://gnuwin32.sourceforge.net/packages/gtar.htm

Tạo tệp tar.gz​

Đây là lệnh tar phải chạy trên shell. Tôi sẽ giải thích các tùy chọn dòng lệnh bên dưới.
Mã:
tar pczfmyarchive.tar.gz /home/till/mydocuments
Lệnh này tạo kho lưu trữ myarchive.tar.gzchứa các tệp và thư mục từ đường dẫn/home/till/mydocuments. Giải thích các tùy chọn dòng lệnh:
  • [p] Tùy chọn này là viết tắt của "preserve", nó hướng dẫn tar lưu trữ thông tin chi tiết về chủ sở hữu tệp và quyền tệp trong kho lưu trữ.
  • [c] Là viết tắt của create. Tùy chọn này là bắt buộc khi tạo tệp.
  • [z] Tùy chọn z cho phép nén gzip.
  • [f] Tùy chọn file yêu cầu tar tạo tệp lưu trữ. Tar sẽ gửi đầu ra đến stdout nếu tùy chọn này bị bỏ qua.

Ví dụ về lệnh Tar​

Ví dụ 1: Sao lưu thư mục /etc Tạo bản sao lưu của thư mục cấu hình /etc. Bản sao lưu được lưu trữ trong thư mục gốc.
Mã:
tar pczvf /root/etc.tar.gz /etc


Lệnh này phải được chạy dưới dạng root để đảm bảo rằng tất cả các tệp trong /etc đều được bao gồm trong bản sao lưu. Lần này, tôi đã thêm tùy chọn [v] vào lệnh. Tùy chọn này có nghĩa là verbose, nó yêu cầu tar hiển thị tất cả các tên tệp được thêm vào kho lưu trữ. Ví dụ 2: Sao lưu thư mục /home của bạn Tạo bản sao lưu của thư mục home của bạn. Bản sao lưu sẽ được lưu trữ trong thư mục /backup.
Mã:
tar czf /backup/myuser.tar.gz /home/myuser
Thay thế myuser bằng tên người dùng của bạn. Trong lệnh này, tôi đã bỏ qua công tắc [p], vì vậy các quyền không được bảo toàn. Ví dụ 3: Bản sao lưu dựa trên tệp của cơ sở dữ liệu MySQL Cơ sở dữ liệu MySQL được lưu trữ trong /var/lib/mysql trên hầu hết các bản phân phối Linux. Bạn có thể kiểm tra điều đó bằng lệnh:
Mã:
ls /var/lib/mysql


Dừng máy chủ cơ sở dữ liệu để có bản sao lưu tệp MySQL nhất quán với tar. Bản sao lưu sẽ được ghi vào thư mục /backup. 1) Tạo thư mục sao lưu
Mã:
mkdir /backupchmod 600 /backup
2) Dừng MySQL, chạy bản sao lưu bằng tar và khởi động lại máy chủ cơ sở dữ liệu.
Mã:
service mysql stoptar pczf /backup/mysql.tar.gz /var/lib/mysqlservice mysql startls -lah /backup



Trích xuất các tệp tar.gz​

Lệnh để trích xuất các tệp tar.gz là:
Mã:
tar xzfmyarchive.tar.gz

Giải thích các tùy chọn lệnh tar​

  • [x] X là viết tắt của extract (trích xuất), đây là tùy chọn bắt buộc khi muốn trích xuất một tệp tar.
  • [z] Tùy chọn z cho tar biết rằng tệp lưu trữ sẽ được giải nén ở định dạng gzip.
  • [f] Tùy chọn này hướng dẫn tar đọc nội dung tệp lưu trữ từ một tệp, trong trường hợp này là filemyarchive.tar.gz.
Lệnh tar ở trên sẽ tự động giải nén tệp tar.gz đó, nó sẽ chỉ hiển thị thông báo lỗi. Nếu bạn muốn xem những tệp nào được giải nén, hãy thêm tùy chọn "v".
Mã:
tar xzvfmyarchive.tar.gz
Tùy chọn [v] có nghĩa là verbose, nó sẽ hiển thị tên tệp trong khi chúng được giải nén.
 
Back
Bên trên