Linux

Nén và giải nén file bằng lệnh TAR trên Linux (Ubuntu)

Tar (viết tắt của tape archive) là một trong những dòng lệnh cơ bản được sử dụng phổ biến nhất trên Linux. Lệnh tar được dùng để tạo một hay nhiều file nén trên Linux với nhiều định dạng như .tar, tar.gz, .tgz hay tar.bz2 ,..chỉ với một dòng lệnh đơn giản. Bạn cũng có thể dùng lệnh tar để giải nén các loại file trên một cách dễ dàng.

Trong bài viết này, mình sẽ cùng tìm hiểu cách tạo mới một file nén (.tar.gz, tgz, .tar.bz2,..) cũng như giải nén các tệp trên sử dụng lệnh tar trên terminal Ubuntu.

Xem thêm: 

Tạo tập tin đóng gói TAR

Bạn có thể tạo một tệp đóng gói định dạng .tarkhông nén (tức chỉ gom các tệp lại là một tệp mới .tar mà không nén chúng, dung lượng có thể vẫn như cũ) với lệnh tar trên Terminal như sau:

tar -cvf tep_tin.tar tệp/thưmuc/đườngdẫn

Trong đó:

  • c (create): tạo một file mới
  • v (verbose): hiển thị kết quả lên terminal, tham số này không bắt buộc nhưng bạn nên dùng.
  • f: có thể hiểu là báo với tar bạn sẽ cung cấp cho nó file hay thư mục để đóng gói.

Ví dụ mình muốn đóng gói các file test, test2, test3 (ở thư mục hiện hành) thành tệp tin Testing.tar

Nén và giải nén file với lệnh TAR trên Linux (Ubuntu)

Tạo file nén định dạng .tar.gz, .tgz với gzip

Gzip là một định dạng tệp tin và cũng là một phần mềm được sử dụng để nén và giải nén tệp tin. Kết hợp với lệnh tar bạn có thể dễ dàng tạo một hay nhiều file nén với định dạng đuôi .tar.gz hoặc .tgz ( cả hai định dạng này đều tương tự nhau). Cú pháp cũng tương tự như khi tạo tệp .tar chỉ cần thêm vào tham số z như sau:

tar -czvf tep_tin.tar.gz tệp/thưmuc/đườngdẫn

Với tham số z để báo với tar sẽ dùng gzip để nén file lại. Các tham số còn lại đều tương tự như trên, nhớ thay phần đuôi mở rộng thành định dạng bạn muốn tạo (.tar.gz, .tgz).

Tạo file nén định dạng tar.bz, tar.bz2, tbz với bzip2

Tương tự như gzip, bzip2 là một chương trình nén và giải nén file mã nguồn mở miễn phí. Trong một số bài so sánh về tốc độ nén và giải nén cho thấy bzip2 không nhanh bằng gzip nhưng tỷ lệ nén tương đối tốt hơn gzip.

Cùng với định dạng tar.gz, bz2 cũng là một định dạng tập tin phổ biến được sử dụng để nén tập tin hay các gói cài đặt phần mềm trên Linux (Ubuntu)

Bạn chỉ cần thay tham số z thành j trong cú pháp lệnh là có thễ tạo file nén với định dạng .tar.bz, .tar.bz2 hoặc .tbz (chúng cũng tương tự nhau). Tùy chọn z giúp báo cho tar dùng bzip2 để nén hay giải nén file.

tar -cjvf tep_tin.tar.bz2 tệp/thưmuc/đườngdẫn

Liệt kê danh sách nội dung file nén

Để xem chi tiết nội dung trong tệp tin nén dưới dạng danh sách bạn có thể dùng lệnh:

tar -tvf tên_têp_tin

Ví dụ mình có xem chi tiết về ngày tháng, quyền truy cập, các file được nén trong gói cài đặt của phần mềm đọc file pdf Foxit Reader

Nén và giải nén file với lệnh TAR trên Linux (Ubuntu)

Có thể bạn cần: Các lệnh Terminal thông dụng trên Ubuntu

Untar tập tin .tar

Nếu bạn đã biết được cách đóng gói tập tin với lệnh tar thì việc untar nó cũng rất đơn giản với lệnh:

tar -xvf tên_têp.tar

Trong đó tùy chọn x (extract) được dùng để báo với tar sẽ giải nén (hay untar) gói định dạng .tar. Ví dụ dưới đây mình sẽ untar file tên Testing.tar

Nén và giải nén file với lệnh TAR trên Linux (Ubuntu)

Giải nén file định dạng .tar.gz, .tgz

Đã nén được thì cũng giải nén được, với gzip và TAR bạn cũng chỉ cần một dòng lệnh:

tar -xzvf tên_tệp

Lệnh này sẽ giải nén file của bạn ra vi trị làm việc hiện hành dùng gzip.

Trong đó các tùy chọn z,v,f có ý nghĩa tương tự như bên trên, x cũng là extract để báo tar giải nén file. tên_tệp bạn phải khi chính xác và có cả phần mở rộng (.tar.gz, .tgz).

Nén và giải nén file với lệnh TAR trên Linux (Ubuntu)

Nếu muốn giải nén file ra một vi trí thư mục khác bạn có thể thêm tham số -C và đường dẫn thư mục cần lưu vào phía sau. Ví dụ mình cần giải nén file ra vị trí thự mục tại đường dẫn /home/ngdat/Desltop

Giải nén file định dạng .tar.bz2, .tar.bz, .tbz

Tương tư như trên khi dùng gzip, bạn chỉ cần thay tùy chọn z thành j trong cú pháp lệnh để báo với tar sẽ dùng bzip2 để giải nén tập tin:

tar -xjvf tên_tệp

Đừng quên ghi đúng tên tệp với phần mở rộng tar.bz2, tar.bz hay tbz nhé vì định dạng khác bzip2 có thể không hỗ trợ giải nén đâu.

Lưu ý: Trong cú pháp các lệnh trên có các tùy chọn c,x,v,j,f,.. bạn không cần viết theo đúng thứ tự như czvf hay cjvf,.. hãy ghi theo cách nhớ của bạn là được. Ví dụ thay vì nén file nhập czvf mình có thể gõ zfcv, fczv,.. vẫn được. Dấu trừ “-” trước các tùy chọn cũng không bắt buộc.

Có thể bạn cần: Đặt mật khẩu cho file nén trên Linux và Windows.

Kết:

Trên đây là hướng dẫn chi tiết cách tạo file nén và giải nén chúng với lệnh TAR trên Linux(Ubuntu). Lệnh TAR còn rất nhiều tùy chọn khác để làm việc với tập tin cũng như thư mục. Bạn có thể xem chi tiết hơn về các tùy chọn khác bằng cách gõ man tartrên terminal.

Nếu bạn sử dụng những bản phân phối Linux có giao diện đồ họa như Ubuntu Desktop,.. bạn có thể nén hay giải nén file, thư mục bằng cách click chuột phải vào nó và chọn tùy chọn compress hay extract tương tự như trên Windows. Nhưng đối với mình dùng lệnh vẫn có nhiều tùy chọn hơn và cũng chuyên nghiệp hơn.

Nén và giải nén file bằng lệnh TAR trên Linux (Ubuntu)
Đành giá bài viết!

3 Comments

  1. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get four e-mails with the same comment. Is there any way you can remove me from that service? Thanks a lot!

    Reply
  2. Pingback:

  3. Hi i am kavin, its my first time to commenting anywhere, when i read this paragraph i thought i could also create comment due to this good piece of writing.

    Reply

Post Comment