Cách giải nén một tệp hoặc thư mục từ TAR hoặc TAR.GZ

Cách giải nén một tệp hoặc thư mục từ TAR hoặc TAR.GZ

Chia sẻ kiến thức 26/06/2023

Bạn muốn giải nén một tệp hoặc thư mục từ tệp lưu trữ TAR hoặc TAR.GZ? Đây là cách bạn có thể làm điều đó trên Linux với lệnh tar.

 

Tarball (TAR hoặc TAR.GZ) là một tập hợp các tệp được nhóm lại với nhau dưới dạng một tệp lưu trữ (archive) duy nhất giúp dễ dàng lưu trữ và chuyển một số lượng lớn tệp hoặc qua internet. Bất cứ khi nào bạn cần các tệp, bạn chỉ cần giải nén tệp lưu trữ.

Nếu bạn chỉ cần một tệp duy nhất trong một tệp lưu trữ lớn, thay vì giải nén toàn bộ tệp lưu trữ, bạn chỉ có thể giải nén tệp bạn cần. Bài viết này sẽ hướng dẫn bạn cách thực hiện. 

 

Xem nội dung của Tarball

Nếu bạn chỉ muốn xem nội dung của tệp TAR hoặc TAR.GZ thì không cần giải nén. Thay vào đó, hãy sử dụng lệnh sau để xem nội dung bên trong:

tar -tvf [archive.tar]
tar -ztvf [archive.tar.gz]

Thao tác này sẽ trả về danh sách tất cả các tệp và thư mục bên trong tệp lưu trữ.

xem nội dung tập tin tar

Giải nén một tệp từ Tarball

Để giải nén một tệp từ TAR hoặc TAR.GZ, hãy sử dụng lệnh sau:

tar -xvf [archive.tar] [path-to-file]
tar -zxvf [archive.tar.gz] [path-to-file]

Trong đó path-to-file là đường dẫn đầy đủ đến tệp bạn muốn giải nén. Bạn có thể tìm đường dẫn đầy đủ của tệp hoặc thư mục bằng lệnh tar -tvf [archive.tar].

Để trích xuất tệp test1.txt từ tệp test.tar và test.tar.gz , các lệnh sẽ là:

tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

Trong đó:

  1. -x được sử dụng để trích xuất các tệp từ tệp lưu trữ
  2. -v được sử dụng để xem tiến trình khi chúng được trích xuất
  3. -f được sử dụng để chỉ định tên tarball
  4. -z dùng để giải nén file TAR.GZ
 

Các lệnh này sẽ trích xuất tệp được chỉ định trong thư mục terminal hiện tại.

giải nén một tệp từ tar

Trích xuất một thư mục từ Tarball

Để trích xuất một thư mục từ tarball, hãy dùng cú pháp lệnh sau:

tar xvf [archive.tar] [path-to-directory]
tar -zxvf [archive.tar.gz] [path-to-directory]

Chẳng hạn, để trích xuất toàn bộ thư mục con test1 từ tệp lưu trữ test.tar, bạn cần cung cấp đường dẫn đầy đủ của thư mục, tức là test/test1:

tar -xvf test.tar test/test1

Thao tác này sẽ giải nén toàn bộ thư mục con test/test1 trong thư mục terminal hiện tại.

giải nén một thư mục từ tar
 

Trích xuất một tệp hoặc thư mục vào một thư mục khác

Bạn cũng có thể trích xuất một tệp hoặc thư mục từ tarball sang một thư mục khác. Để làm điều này, hãy sử dụng cú pháp tương tự như trên nhưng thêm tùy chọn -C theo sau là thư mục đích:

 
tar -xvf [archive.tar] -C [destination_directory] [file-or-directory]
tar -zxvf [archive.tar.gz] -C [destination_directory] [file-or-directory]

Giả sử chúng ta muốn trích xuất một thư mục test2 từ tệp lưu trữ test.tar vào thư mục Downloads thay vì thư mục làm việc hiện tại. Lệnh, trong trường hợp này, sẽ là:

tar -xvf test.tar -C ~/Downloads/ test/test2
giải nén một thư mục sang một thư mục khác

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

Nếu bạn cần xóa một tệp hoặc thư mục khỏi tệp TAR hoặc TAR.GZ, hãy sử dụng tùy chọn –delete với lệnh tar:

tar -vf [archive.tar] --delete [file-or-directory]

Bạn không thể trực tiếp xóa tệp/thư mục từ tarball nén (TAR.GZ). Điều bạn cần làm trước tiên là giải nén tệp TAR.GZ, xóa tệp hoặc thư mục rồi giải nén lại.

Sử dụng lệnh sau để giải nén tệp TAR.GZ:

gzip -d [archive.tar.gz]

Giải nén tệp TAR.GZ sẽ chuyển đổi tệp thành TAR. Bây giờ bạn có thể xóa tệp khỏi tệp lưu trữ TAR bằng cách sử dụng:

tar -vf [archive.tar] --delete [file-or-directory]

Sau đó, bạn có thể giải nén tệp TAR bằng gzip:

gzip -f [archive.tar]
xóa một tập tin từ tar
 

Tiết kiệm thời gian khi làm việc với tệp lưu trữ trên Linux

Việc chỉ trích xuất các tệp cần thiết từ một tệp lưu trữ giúp bạn tiết kiệm thời gian mà lẽ ra phải dành để tìm kiếm trong một số lượng lớn tệp.

Đôi khi, việc tạo và giải nén các tệp TAR có thể tạo ra nhiều tệp trùng lặp trong hệ thống của bạn. Do đó, bạn nên định kỳ xác định và loại bỏ các tệp trùng lặp đó để dọn dẹp lại không gian của mình.

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/extract-single-file-or-directory-from-tar-or-targz/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại