18 Ví Dụ để Biết Dùng Lệnh Tar Trên Linux

Tar nó gần giống như là Zip, giúp nén một thư viện các tập tin và cả thư mục. Lệnh tar được sử dụng để nhóm và nén một tập hợp các tập tin và thư mục thành file lưu trữ được thường được gọi là tarball hoặc tar, gzip và bzip trong Linux.

Trong bài viết này, mình sẽ thông qua 18 ví dụ sẽ đưa ra các vấn đề bạn sẽ cần khi sử dụng lệnh tar bao gồm cách tạo tập tin lưu trữ bằng cách sử dụng chuẩn nén (tar, tar.gz và tar.bz2), cách trích xuất tập tin, xem nội dung của tập tin, xác minh một tập tin, thêm tập tin hoặc thư mục vào file tar có sẵn, ước tính kích thước của tập tin lưu trữ tar,…

Contents
  • Tạo tập tin lưu trữ tar
    • Tạo tập tin lưu trữ tar.gz
    • Tạo tập tin lưu trữ tar.bz2
    • Giải nén file tar
    • Giải nén tập tin tar.gz
    • Giải nén tập tin tar.bz2
    • Xem danh sách nội dung của tập tin lưu trữ tar
    • Liệt kê nội dung tập tin lưu trữ tar.gz
    • Liệt kê nội dung tập tin tar.bz2
    • Giải nén một tập tin trong file tar
    • Giải nén một tập tin trong file tar.gz
    • Giải nén một tập tin trong file tar.bz2
    • Giải nén nhiều tập tin từ file tar, tar.gz và tar.bz2
    • Giải nén nhiều tập tin bằng cách dùng ký tự đại diện
    • Thêm tập tin hoặc thư mục vào file tar
    • Thêm tập tin hoặc thư mục vào file tar.gz và tar.bz2
    • Xác thực tập tin tar, tar.gz và tar.bz2
    • Kiểm tra kích thước của tập tin tar, tar.gz và tar.bz2
  • Tạo tập tin lưu trữ tar

    Lệnh ví dụ dưới đây sẽ tạo một tập tin lưu trữ tar có tên nhatphuc-14-06-20.tar cho một thư mục /home/nhatphuc trong thư mục làm việc hiện tại.

    # tar -cvf nhatphuc-14-06-20.tar /home/nhatphuc/

    Chúng ta hãy cùng xem các tham số để hiểu lệnh trên:

    • c – Tạo một tập tin lưu trữ .tar mới.
    • v – Hiển thị rõ ràng tiến trình tạo tập tin .tar.
    • f – Loại tên tập tin của tệp lưu trữ.

    Tạo tập tin lưu trữ tar.gz

    Để tạo một tệp lưu trữ gzip nén, bạn thêm tham số là z . Ví dụ, lệnh dưới đây sẽ tạo tập tin MyImages-14-06-20.tar.gz được nén cho thư mục /home/MyImages. (Lưu ý: cả tar.gz và tgz đều giống nhau),

    # tar cvzf MyImages-14-06-20.tar.gz /home/MyImages HOẶC # tar cvzf MyImages-14-06-20.tgz /home/MyImages

    Tạo tập tin lưu trữ tar.bz2

    Chuẩn bz2 có thể nén và tạo file nhỏ hơn kích thước của gzip . Ngược lại quá trình nén bz2 mất nhiều thời gian hơn để nén và giải nén các tệp so với gzip. Để tạo tập tin tar được nén mạnh nhất, bạn hãy sử dụng tùy chọn là j. Lệnh ví dụ sau sẽ tạo tệp files.tar.bz2 cho một thư mục /home/php . (Lưu ý: tar.bz2 và tbz tương tự như tb2).

    # tar cvfj files.tar.bz2 /home/php HOẶC # tar cvfj files.tar.tbz /home/php HOẶC # tar cvfj files.tar.tb2 /home/php

    Giải nén file tar

    Để giải nén một tập tin tar, chỉ cần sửa dụng tham số x trong câu lệnh tar (x là viết tắt của extract – giải nén). Ví dụ, lệnh dưới đây sẽ giải nén tập tin tệp public_html-2020.tar trong thư mục làm việc hiện tại. Nếu bạn muốn giải nén trong một thư mục khác thì sử dụng tùy chọn là -C (thư mục được chỉ định).

    # tar -xvf public_html-2020.tar ## Giải nén trong Thư mục được chỉ định ## # tar -xvf public_html-2020.tar -C /home/public_html/

    Giải nén tập tin tar.gz

    Để giải nén tập tin tar.gz, chỉ cần chạy lệnh như bên dưới. Nếu muốn giải nén vào một thư mục khác, bạn thêm tham số -C và đường dẫn vào là được.

    # tar -xvf thumbnails-2020.tar.gz -C /home/thumbnails

    Giải nén tập tin tar.bz2

    Để giải nén tập tin tar.bz2, chỉ cần sử dụng lệnh như bên dưới.

    # tar -xvf videos-2020.bz2

    Xem danh sách nội dung của tập tin lưu trữ tar

    Để liệt kê nội dung các tập tin được lưu trữ trong file tar, bạn cchỉ cần chạy lệnh tar với tham số t (liệt kê nội dung). Lệnh dưới đây sẽ liệt kê nội dung của tập tin uploads.tar.

    # tar -tvf uploads.tar

    Nội dung liệt kê sẽ dạng nhau dưới:

    -rw-r--r-- chregu/staff 2276 2011-08-15 18:51:10 package2.xml -rw-r--r-- chregu/staff 7877 2011-08-15 18:51:10 uploadprogress/examples/index.php -rw-r--r-- chregu/staff 1685 2011-08-15 18:51:10 uploadprogress/examples/server.php -rw-r--r-- chregu/staff 1697 2011-08-15 18:51:10 uploadprogress/examples/info.php -rw-r--r-- chregu/staff 367 2011-08-15 18:51:10 uploadprogress/config.m4 -rw-r--r-- chregu/staff 303 2011-08-15 18:51:10 uploadprogress/config.w32

    Liệt kê nội dung tập tin lưu trữ tar.gz

    Sử dụng lệnh dưới để liệt kê nội dung của tệp tar.gz.

    # tar -tvf nhatphuc.com.tar.gz

    Liệt kê nội dung tập tin tar.bz2

    Để liệt kê nội dung của tệp tar.bz2, hãy dùng lệnh sau.

    # tar -tvf php.tar.bz2

    Giải nén một tập tin trong file tar

    Để trích xuất một tập tin có tên là uncover.sh từ file uncover.tar, hãy sử dụng lệnh sau.

    # tar -xvf uncover.tar uncover.sh HOẶC # tar --extract --file=uncover.tar uncover.sh

    Giải nén một tập tin trong file tar.gz

    Để trích xuất một tập tin nhatphucbackup.xml từ tập tin nhatphucbackup.tar.gz , hãy sử dụng lệnh như sau.

    # tar -zxvf nhatphucbackup.tar.gz nhatphucbackup.xml HOẶC # tar --extract --file=nhatphucbackup.tar.gz nhatphucbackup.xml

    Giải nén một tập tin trong file tar.bz2

    Để trích xuất một tập tin có tên index.php từ tập tin phpbackup.tar.bz2, hãy sử dụng tùy chọn sau.

    # tar -jxvf phpbackup.tar.bz2 home/php/index.php OR # tar --extract --file=phpbackup.tar.bz2 /home/php/index.php

    Giải nén nhiều tập tin từ file tar, tar.gz và tar.bz2

    Để lấy ra cùng lúc nhiều tập tin từ file tar, tar.gz và tar.bz2. Bạn có thể theo ví dụ bên dưới:

    # tar -xvf nhatphuc-2020.tar "file 1" "file 2" # tar -zxvf nhatphuc-2020.tar.gz "file 1" "file 2" # tar -jxvf nhatphuc-2020.tar.bz2 "file 1" "file 2"

    Trong đó file 1, file 2 lần lượt là tên file bạn muốn giải nén.

    Giải nén nhiều tập tin bằng cách dùng ký tự đại diện

    Để trích xuất một nhóm các tập tin, chúng ta có thể dùng ký tự đại diện. Ví dụ: để giải nén một nhóm tất cả các tập tin có đuôi là .php từ tập tin tar, tar.gz và tar.bz2, bạn dùng một trong các lệnh dưới:

    # tar -xvf nhatphuc.tar --wildcards '*.php' # tar -zxvf nhatphuc.tar.gz --wildcards '*.php' # tar -jxvf nhatphuc.tar.bz2 --wildcards '*.php'

    Thêm tập tin hoặc thư mục vào file tar

    Để thêm tập tin hoặc thư mục vào file tar hiện có, bạn có thể thêm tham số r . Ví dụ: bạn muốn thêm tập tin xyz.txt và thư mục php vào tập tin nhatphuc-2020.tar đã có.

    # tar -rvf nhatphuc-2020.tar xyz.txt # tar -rvf nhatphuc-2020.tar php

    Thêm tập tin hoặc thư mục vào file tar.gz và tar.bz2

    Không có nhé bạn. Lệnh tar không có tùy chọn để thêm tập tin hoặc thư mục vào file tar.gz và tar.bz2 đã nén hiện có, khi chạy lệnh giống ví dụ 15 bạn sẽ nhận báo lỗi.

    Xác thực tập tin tar, tar.gz và tar.bz2

    Để xác minh bất kỳ tập tin nén nào, bạn hãy sử dụng tham số là W (xác minh). Ví dụ:

    # tar tvfW nhatphuc-2020.tar

    Kiểm tra kích thước của tập tin tar, tar.gz và tar.bz2

    Để kiểm tra kích thước của bất kỳ tập tin tar, tar.gz và tar.bz2 nào, hãy sử dụng lệnh sau.

    # tar -czf - nhatphuc-2020.tar | wc -c

    Mình cũng thường hay quên, có khi cần giải nén một file tar hay cần nhóm một mớ file lại thành tar.gz cho tiện lưu trữ nhưng ít xài nên hay quên. Mình lưu lại bài này để có quên thì lấy ra xem, và cũng hy vọng các bạn cũng thấy có ích.

Từ khóa » Câu Lệnh Tar Trong Linux