Hướng dẫn sử dụng tar nén và giải nén trên linux

Bất kỳ ai sử dụng linux đều đã ít nhiều dùng đến tar để làm việc với file nén. Trong bài này mình sẽ giới thiệu một số tham số thường dùng và ví dụ về cách nén file và folder trong linux, cách bung nén, xem nội dung file nén với các định dạng phổ biến .tar, .tar.gz, .tar.bz2.

Hướng dẫn sử dụng tar trên Linux

1. Các cú pháp (options) sử dụng tar

Các tham số thường dùng với lệnh tar.

  • c – tạo file nén .tar.
  • x – bung file nén .tar.
  • v – show quá trình nén hoặc giải nén dữ liệu ra màn hình.
  • f – chỉ định nén thành file.
  • t – Xem dữ liệu trong file nén.
  • j – tạo file nén với bzip2 có định dạng file.tar.bz2
  • z – tạo file nén với gzip có định dạng file.tar.gz.
  • r – thêm một file và thư mục vào file nén đã tồn tại.
  • --wildcards – tìm và xuất file bất kỳ trong file nén.

2. Tạo file nén với định dạng .tar

[root@srv1 ~]# tar -cvf thuysys-2016.tar /backup/thuysys
/backup/thuysys/
/backup/thuysys/w3-total-cache/
/backup/thuysys/w3-total-cache/changelog.txt
/backup/thuysys/index.php
/backup/thuysys/www.conf

Lệnh nén folder /backup/thuysys sử dụng option -cf tạo file nén có tên thuysys-2016.tar và show quá trình nén ra ngoài màn hình.

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

[root@srv1 ~]# tar -cvzf nginx-19.tar.gz /etc/nginx
/etc/nginx/
/etc/nginx/cache
/etc/nginx/conf.d

Chúng ta sử dụng option -z để tạo file nén nginx-19.tar.gz, chú ý các option phải đứng đúng vị trí cvzf nhé.

4. Tạo file nén với định dạng .tar.bz2

[root@srv1 ~]# tar -cvjf php-fpm-7.tar.bz2 /etc/php-fpm.d
/etc/php-fpm.d/
/etc/nginx/www.conf

Dùng opiton -j để tạo file nén php-fpm-7.tar.bz2.

Nếu cùng một dữ liệu thì .tar.bz2 có tỉ lệ nén cao nhất rồi đến tar.gz cuối cùng là tar.

 

5. Giải nén file .tar .tar.gz .tar.bz2

[root@srv1 ~]# tar -xvf thuysys-2016.tar -C /thuysys/
/thuysys/
/thuysys/w3-total-cache/
/thuysys/w3-total-cache/changelog.txt
/thuysys/index.php
/thuysys/www.conf

Dùng -x để bung nén, với các định dạng .tar.gz .tar.bz2 chúng ta chỉ cần thay thuysys-2016.tar thanh định dạng file nén tương ứng.

Do tar lưu đường dẫn tuyệt đối của file, khi giải nén bạn thêm option -C (C viết hoa) để giải nén với đường dẫn phù hợp.

6. Xem nội dung file nén bằng tar

[root@srv1 ~]# tar -tvf mysql.tar | more

Câu lệnh sẽ cho xem nội dung file nén, bạn có thể kiểm tra dữ liệu được nén có bị thất thoát hay không, ta dùng tham số -t

Khi file nén của bạn có quá nhiều file nó sẽ show một loạt ra màn hình bạn sẽ không kịp thấy gì cả. Bạn thêm | more để xuất từng dòng ra màn hình.

7. Bung một file bất kỳ trong file nén.

tar -xvf /backup/lemp.tar.gz wp-includes/default-filters.php
tar -zxvf /backup/lemp.tar.gz wp-includes/default-filters.php
tar -jxvf /backup/lemp.tar.gz wp-includes/default-filters.php

Lệnh trên sẽ  chỉ bung nén duy nhất file wp-includes/default-filters.php trong lemp.tar/tar.gz/tar.gz.

8. Bung một nhóm file giống nhau

[root@srv1 ~]# tar -xvf /backup/thuysys-2016.tar --wildcards '*default.png'
wp-includes/images/crystal/default.png
wp-includes/images/media/default.png

Lênh trên sẽ tìm và bung tất cả những file có tên là default.png với đường dẫn bất kỳ. Bạn có thể bung tất cả các file có duôi mở rộng giống nhau vd ‘*.php’ chẳng hạn. Các định dạng tar.gz, tar.bz2 làm tương tự.

9. Thêm file và folder vào file nén.

Muốn bổ sung một file hoặc thư mục nào đó vào file nén đã tồn tại chúng ta dùng tham số -r, chỉ áp dụng với định dạng .tar

[root@srv1 ~]# tar -rvf config.tar abc.txt
abc.txt
[root@srv1 ~]# tar -rvf config.tar apache
apache/
apache/index.php
apache/httpd.conf

Trên đây là một số ví dụ hướng dẫn sử dụng tar trên linux, hy vọng các lệnh này giúp bạn làm việc với các file nén linh hoạt hơn. Bạn nào có command hay thì bổ sung vào comment bên dưới để mọi người cùng tham khảo nhé.

Leave a Reply