Cách giải nén (Unzip) Tar Gz File

Nếu bạn đang sử dụng phần mềm nguồn mở, rất có thể bạn thường xuyên gặp phải các tệp .tar.gz .

Các gói nguồn mở thường được phân phối ở định dạng .tar.gz.zip.

Kho lưu trữ Tar, thường được gọi là tarballs, được tạo bằng cách chuyển đổi một nhóm tệp thành kho lưu trữ. Những kho lưu trữ này chủ yếu được sử dụng cho mục đích sao lưu hoặc phân phối phần mềm. Trong hệ thống Linux và Unix, bạn có thể tạo kho lưu trữ bằng lệnh tar . Nó hỗ trợ một loạt các chương trình nén như gzip, bzip2, lzip, lzma, lzop, xz và nén. Tar ban đầu được thiết kế để tạo các kho lưu trữ nhằm lưu trữ các tập tin trên băng từ, đó là lý do tại sao nó được đặt tên là “ Tape ARchive”.

Gzip là thuật toán phổ biến nhất để nén các tệp tar. Theo quy ước, tên của kho lưu trữ tar được nén bằng gzip phải kết thúc bằng .tar.gz hoặc .tgz .

Tóm lại, tệp có đuôi .tar.gz là kho lưu trữ .tar được nén bằng gzip.

Bên cạnh việc tạo các kho lưu trữ mới, tarlệnh này cũng có thể được sử dụng cho nhiều hoạt động khác, bao gồm giải nén các kho lưu trữ tar, hiển thị danh sách các tệp có trong kho lưu trữ và thêm các tệp bổ sung vào kho lưu trữ hiện có.

Bài viết này sẽ hướng dẫn bạn cách giải nén (hoặc giải nén) các kho lưu trữ tar.gz và tgz .

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

Lệnh này tarđược cài đặt sẵn theo mặc định trên hầu hết các bản phân phối Linux và macOS.

Để giải nén tệp tar.gz, hãy sử dụng tùy chọn --extract-x) và chỉ định tên tệp lưu trữ sau f tùy chọn:

tar -xf archive.tar.gz

Lệnh tarsẽ tự động phát hiện kiểu nén và giải nén tệp lưu trữ. Bạn có thể sử dụng lệnh tương tự để giải nén các kho lưu trữ tar được nén bằng các thuật toán khác như .tar.bz2 .

Tùy chọn này -v làm cho tar lệnh hiển thị rõ hơn và in tên của các tệp đang được giải nén trên thiết bị đầu cuối.

tar -xvf archive.tar.gz

Theo mặc định, tar trích xuất nội dung lưu trữ trong thư mục làm việc hiện tại . Sử dụng tùy chọn --directory-C) để chỉ định thư mục mà bạn muốn giải nén kho lưu trữ.

Ví dụ: để trích xuất nội dung lưu trữ vào /home/linuxize/files thư mục, bạn có thể sử dụng lệnh sau:

tar -xf archive.tar.gz -C /home/linuxize/files

Nếu bạn là người dùng máy tính để bàn và không muốn sử dụng giao diện dòng lệnh, bạn có thể sử dụng Trình quản lý tệp của mình để thay thế. Để giải nén (giải nén) một file tar.gz, nhấp chuột phải vào file bạn muốn giải nén và chọn “Extract”.

Trên máy tính Windows, bạn có thể sử dụng công cụ phần mềm có tên 7zip để giải nén các tệp tar.gz.

Trích xuất các tệp cụ thể từ tệp tar.gz

Để trích xuất các tệp cụ thể từ kho lưu trữ tar.gz, hãy bao gồm danh sách tên tệp được phân tách bằng dấu cách sau tên lưu trữ:

tar -xf archive.tar.gz file1 file2

Khi giải nén file, bạn phải cung cấp tên chính xác của chúng cùng với đường dẫn, như được liệt kê bởi tar --listtar -t).

Để trích xuất một hoặc nhiều thư mục từ kho lưu trữ, bạn có thể thực hiện quy trình tương tự như trích xuất từng tệp riêng lẻ:

tar -xf archive.tar.gz dir1 dir2

Nếu bạn cố gắng giải nén một tập tin không tồn tại, bạn sẽ thấy thông báo lỗi tương tự như thông báo bên dưới:

tar -xf archive.tar.gz README
tar: README: Not found in archive tar: Exiting with failure status due to previous errors

Bạn cũng có thể trích xuất các tệp từ tệp tar.gz dựa trên mẫu ký tự đại diện, bằng cách sử dụng tùy --wildcards chọn và trích dẫn mẫu để ngăn shell diễn giải nó.

Ví dụ: để trích xuất các tệp có tên kết thúc bằng .js(tệp Javascript), bạn sẽ sử dụng:

tar -xf archive.tar.gz --wildcards '*.js'

Trích xuất tệp tar.gz từ stdin

Nếu bạn đang giải nén một tệp tar.gz đã nén bằng cách đọc kho lưu trữ từ stdin (thường thông qua một đường ống), bạn cần chỉ định tùy chọn giải nén. Tùy chọn yêu cầu tar đọc kho lưu trữ thông qua gzip là -z.

Trong ví dụ sau, chúng tôi đang tải xuống các nguồn Blender bằng wget lệnh và chuyển đầu ra của nó sang tar lệnh:

wget -c https://download.blender.org/source/blender-4.0.2.tar.xz -O - | sudo tar -xz

Nếu bạn không chỉ định tùy chọn giải nén, tar sẽ cho biết bạn nên sử dụng tùy chọn nào:

tar: Archive is compressed. Use -z option tar: Error is not recoverable: exiting now

Liệt kê tập tin tar.gz

Để liệt kê nội dung của tệp tar.gz, hãy gọi tar lệnh với tùy chọn --list-t):

tar -tf archive.tar.gz

Đầu ra sẽ trông giống như thế này:

file1
file2
file3

Nếu bạn thêm tùy chọn --verbose-v)tar sẽ in thêm thông tin như quyền, quyền sở hữu, kích thước và dấu thời gian.

tar -tvf archive.tar.gz
-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file1
-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file2
-rw-r--r-- linuxize/users 0 2023-12-15 01:19 file3

Phần kết luận

Tệp tar.gz là tệp lưu trữ Tar được nén bằng Gzip. Để giải nén tệp tar.gz, hãy sử dụng tar -xflệnh theo sau là tên kho lưu trữ.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *