Lệnh Tar trong Linux: Cách nén và giải nén tệp bằng lệnh Tar

Tác giả: VPS chính hãng 10 tháng 05, 2023

Là quản trị viên hệ thống Linux, bạn phải quen thuộc với lệnh tar – là lệnh được sử dụng nhiều nhất để tạo tệp lưu trữ nén. Đây là dạng lưu trữ băng ngắn được sử dụng để đối phó với sao lưu trình điều khiển và được cài đặt sẵn trong Linux dưới dạng tiện ích lệnh. Rõ ràng, các thư mục nén cần ít dung lượng hơn để chuyển giữa các hệ thống. Vì vậy, bạn nên nén các thư mục và tệp lớn vào một tệp lưu trữ. Các ví dụ của hướng dẫn này giúp bạn tìm hiểu cách lệnh tar trong Linux, cũng như cách nén và giải nén các phần mở rộng “.xz”, “gz”, “.tbz” và “.bz2”. Hãy cùng theo dõi!

Hướng dẫn nén và giải nén tệp bằng lệnh Tar trong Linux

Sau khi mua VPS Linux, bạn cần biết một số lệnh cần thiết để quản lý tệp. Tar là một trong số đó và bạn có thể trích xuất, tạo, sửa đổi và liệt kê các tệp lưu trữ tar. Là một tệp nén, một tệp lưu trữ chứa một hoặc nhiều tệp được nhóm lại với nhau sẽ lưu trữ và truyền tải dễ dàng hơn.

Cú pháp cơ bản của lệnh tar

Để tar một thư mục trong Linux, bạn sẽ sử dụng lệnh bên dưới:

$ tar [options][archive-file] [file or dir to be archived]

Để làm quen với cú pháp này và xem qua các ví dụ của hướng dẫn, hãy xem các tham số bên dưới để xem lệnh tar cung cấp các tùy chọn nào:

  • -c: Tạo tệp tar lưu trữ.
  • -x:  Tệp lưu trữ này sẽ giải nén.
  • -f: Chỉ định tên tệp của tệp lưu trữ.
  • -v: In thông tin chi tiết cho bất kỳ thao tác tar nào trên thiết bị đầu cuối.
  • -t:  Tùy chọn này liệt kê tất cả các tệp bên trong tệp lưu trữ.
  • -u: Lưu trữ tệp và sau đó thêm tệp đó vào tệp lưu trữ hiện có.
  • -r:  Tùy chọn này cập nhật tệp hoặc thư mục nằm bên trong tệp .tar.
  • -z: Thao tác này tạo tệp tar bằng nén gzip.
  • -j: Tạo tệp lưu trữ bằng nén bzip2.
  • -W: Xác minh tệp lưu trữ.
  • -A:  Tùy chọn này nối các tệp lưu trữ.
  • -wildcards: Điều này chỉ định các mẫu trong lệnh UNIX tar.
  • -exclude: Nó loại trừ các tệp và thư mục khi tạo kho lưu trữ.
  • -delete: Tùy chọn này xóa các tệp và thư mục khỏi kho lưu trữ.

=>> Đọc thêm: 16 lệnh Linux nguy hiểm và phá hoại bạn nên tránh

Lệnh tar trong Linux cung cấp đa dạng tùy chọn

Lệnh tar trong Linux cung cấp đa dạng tùy chọn

Ví dụ về lệnh tar Linux

Bạn có thể tạo các tệp lưu trữ bằng tiện ích tar bằng nhiều phương pháp nén khác nhau, bao gồm xz, gzip và bzip2. Tiêu chuẩn là thêm hậu tố nén vào tệp lưu trữ. Chẳng hạn, tệp phải có hậu tố the.tar.gz khi sử dụng nén gzip (với tùy chọn -z).

Tạo tệp lưu trữ

Để tạo tệp lưu trữ tar, bạn có thể chạy lệnh như ví dụ sau:

# tar -cvf vpschinhhang.tar /home/vpschinhhang/

Nếu bạn quan tâm đến việc kiểm tra xem mỗi tùy chọn được sử dụng trong lệnh tar nói gì, hãy xem phần dưới đây:

  • c – tạo tệp lưu trữ fresh.tar.
  • v – Hiển thị tiến trình của tệp .tar rất chi tiết.
  • f – Loại tên tệp của tệp lưu trữ.

Tạo tệp tar.gz

Như bạn đã biết, lệnh tar hỗ trợ định dạng nén gzip có phần mở rộng “tar.gz”, “tgz” và “tar.gzip”. Ví dụ: để tạo tệp nén tar.gz trong Linux, hãy chạy:

tar cvzf vpsvideos.tar.gz /home/vpsvideos

Vì tar.gz và tgz giống nhau nên bạn cũng có thể gõ:

tar cvzf vpsvideos.tgz /home/vpsvideos

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

Lệnh Tar trong Linux cũng được sử dụng để giải nén các tệp lưu trữ tar.gz. Vì vậy, bạn chỉ cần sử dụng lệnh bên dưới để giải nén tệp lưu trữ tar.gz trong Linux:

# tar -xvf vpschinhhang.tar.gz

Để gỡ lỗi trong các thư mục khác nhau, hãy sử dụng tùy chọn -C và đường dẫn thư mục.

Liệt kê nội dung của tệp tar

Bạn có thể chạy lệnh bên dưới để liệt kê nội dung của tệp lưu trữ tar trong Linux:

# tar -tvf vpschinhhang.tar

Tạo tệp tar.bz2 trong Linux

Lệnh Tar trong Linux giúp bạn tạo một tệp lưu trữ tar được nén ở mức độ cao. Bz2 là một tính năng nén dữ liệu và tạo tệp lưu trữ nhỏ hơn gzip. So với gzip mất ít thời gian hơn, nén bz2 mất nhiều thời gian hơn để nén và giải nén tệp.

Ví dụ: khi bạn muốn tạo tệp Phpfiles-org.tar.bz2 trong Linux, hãy nhập:

# tar cvfj Phpfiles-org.tar.bz2 /home/php

hoặc:

# tar cvfj Phpfiles-org.tar.tbz /home/php

hoặc:

# tar cvfj Phpfiles-org.tar.tb2 /home/php

Giải nén tệp tar.bz2

Bạn có thể dễ dàng sử dụng lệnh sau khi cần giải nén tệp tar.bz2 được nén ở mức độ cao trong Linux:

# tar -xvf vpsvideos.tar.bz2

Untar tệp đơn từ tệp tar

Lệnh tar trong Linux có thể giúp bạn giải nén một tệp. Hãy xem ví dụ bên dưới nơi cleanfiles.sh sẽ được trích xuất từ ​​cleanfiles.sh.tar.

# tar -xvf cleanfiles.sh.tar cleanfiles.sh

hoặc:

# tar --extract --file=cleanfiles.sh.tar cleanfiles.sh

Loại trừ thư mục và tập tin

Trong khi tạo tệp tar.gz trong Linux, bạn có thể loại trừ các tệp và thư mục. Để làm điều này, hãy chạy:

# tar --exclude='file1.txt' -zcvf backup.tar.gz /home/vpschinhhang

# tar --exclude='/home/vpschinhhang/uploads' -zcvf backup.tar.gz /home/vpschinhhang

Xác minh kích thước tar, tar.gz và tar.bz2

Lệnh Tar trong Linux cho phép bạn kiểm tra kích thước của tệp lưu trữ tar, tar.gz và tar.bz2. Chạy lệnh bên dưới để xem kích thước của tệp lưu trữ tính bằng Kilobyte (KB).

# tar -czf - vpschinhhang.tar | wc -c 

# tar -czf – vpschinhhang.tar.gz | wc -c 

# tar -czf - Phpfiles-org.tar.bz2 | wc -c

Untar tập tin tar

Sử dụng lệnh sau để giải nén/giải nén tệp lưu trữ tar trong Linux:

## Untar files in Current Directory ## 

# tar -xvf public_html.tar

Để gỡ bỏ trong một thư mục khác, hãy sử dụng tùy chọn -C.

## Untar files in specified Directory ## 

# tar -xvf public_html.tar -C /home/public_html/videos/

Giải nén nhóm tệp trong Linux

Sử dụng Wildcard, bạn có thể trích xuất một nhóm tệp. Theo dõi ví dụ sau để xem cách bạn có thể sử dụng lệnh này để trích xuất một nhóm gồm tất cả các tệp .php từ tệp lưu trữ tar, tar.gz và tar.bz2.

# tar -xvf Phpfiles-org.tar --wildcards '*.php' 

# tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php' 

# tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'

Xóa tệp/thư mục khỏi tar

Lệnh Tar trong Linux giúp bạn xóa các tệp và thư mục khỏi kho lưu trữ tar. Để thực hiện việc này, chỉ cần chạy lệnh bên dưới và xóa chúng khỏi tệp tar đã tạo.

# tar --delete -f backup.tar.gz file1.txt 

# tar --delete -f backup.tar.gz '/home/vpschinhhang/uploads'

Gỡ bỏ nhiều tệp từ tệp tar, tar.gz và tar.bz2

Việc sử dụng các ví dụ bên dưới cho phép bạn gỡ bỏ/giải nén các tệp được của mình khỏi các tệp lưu trữ tar, tar.gz và tar.bz2.

# tar -xvf vpschinhhang.tar "vpsfileA" "fileB" 

# tar -zxvf vpsvideos.tar.gz "vpsfileA" "fileB" 

# tar -jxvf Phpfiles-org.tar.bz2 "vpsfileA" "vpsfileB"

Trích xuất một phần mở rộng tệp nhất định trong tar

Sử dụng lệnh tar trong Linux giúp bạn trích xuất các phần mở rộng tệp cụ thể trong kho lưu trữ tar. Để làm điều này, hãy chạy:

# tar -xvf backup.tar.gz --wildcards '*.png'

Lệnh trên trích xuất các tệp có phần mở rộng cụ thể .png từ tệp lưu trữ tar.

=>> Đọc thêm: Cách khắc phục sự cố khởi động Ubuntu

Liệt kê nội dung tệp tar.gz

Để liệt kê nội dung của tệp tar.gz trong Linux, hãy nhập:

# tar -tvf staging.vpschinhhang.com.tar.gz

Thêm tệp/thư mục vào tệp tar

Để thêm tệp hoặc thư mục vào tệp lưu trữ tar hiện có trong Linux, hãy sử dụng ví dụ bên dưới với tệp xyz.txt và thư mục php.

# tar -rvf vpschinhhang.tar xyz.txt 

# tar -rvf vpschinhhang.tar php

Gỡ bỏ tệp đơn từ tệp tar.gz

Để trích xuất một tệp duy nhất từ tệp lưu trữ tar.gz trong Linux, hãy sử dụng lệnh sau như sau:

# tar -zxvf vpschinhhangbackup.tar.gz vpschinhhangsbackup.xml

hoặc:

# tar --extract --file=vpschinhhangbackup.tar.gz vpschinhhangtbackup.xml

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

Để liệt kê nội dung của tệp lưu trữ tar.bz2 trong Linux, hãy nhập:

# tar -tvf Phpfiles-org.tar.bz2

Thêm tệp/thư mục vào tệp tar.gz và tar.bz2

Vì lệnh tar không có tùy chọn để thêm tệp hoặc thư mục vào tệp lưu trữ tar.gz và tar.bz2 được nén hiện có, nên lỗi dưới đây sẽ hiển thị khi bạn cố thực hiện việc này:

# tar -rvf vpsvideos.tar.gz xyz.txt 

# tar -rvf Phpfiles-org.tar.bz2 xyz.txt
Lỗi hiển thị khi cố thêm tệp hoặc thư mục vào file lưu trữ

Lỗi hiển thị khi cố thêm tệp hoặc thư mục vào file lưu trữ

Gỡ bỏ tệp đơn từ tệp tar.bz2

Lệnh Tar trong Linux cũng được sử dụng để gỡ một tệp duy nhất khỏi Tệp tar.bz2. Để làm điều này, hãy chạy:

# tar -jxvf Phpfiles-org.tar.bz2 home/php/index.php

hoặc:

# tar --extract --file=Phpfiles-org.tar.bz2 /home/php/index.php

Các lệnh trên trích xuất index.php từ tệp Phpfiles-org.tar.bz2.

Xem tệp tar

Bạn có thể sử dụng lệnh sau để hiển thị tất cả các tệp và thư mục tar trong Linux trong thiết bị đầu cuối:

$ tar -tf vpschinhhang.tar.gz

Xác minh tệp tar, tar.gz và tar.bz2

Để xác minh bất kỳ tệp lưu trữ tar hoặc tệp nén nào trong Linux, hãy chạy lệnh bên dưới:

# tar tvfW vpschinhhang.tar

Trong bài viết này, bạn đã biết cách sử dụng lệnh tar trong Linux để nén, tạo và giải nén tệp bằng tar. Nó cung cấp nhiều tùy chọn lệnh để hỗ trợ bạn quản lý các tệp lưu trữ được tạo bởi một số thuật toán, bao gồm gzip, xz và bzip2. Các ví dụ thực tế về lệnh tar trong bài viết này sẽ giúp bạn hiểu thêm về cách sử dụng tar như một lệnh thiết yếu. Chia sẻ chúng với chúng tôi và những người dùng VPS Linux về những thắc mắc của bạn qua vpschinhhang.com. Cảm ơn đã theo dõi bài viết!