Hướng dẫn sử dụng lệnh Tar Command Linux

Tar là chữ viết tắt của Tape archive, là một lệnh phổ biến nhất để nén và giải nén file và thư mục trong Linux. Có rất nhiều lợi ích khi dùng lệnh tar, người dùng chuyên nghiệp rất thích lệnh này.

Trong hầu hết các trường hợp, nén file bằng tar sẽ cho kết quả là file .tar. Còn nén mạnh hơn thì dùng gzip với file sau cùng là .tar.gz.

Với tar command, bạn có thể nén và giải nén file. Tar có nhiều lựa chọn cách thực hiện hành động nên có thể bạn cần nhớ những tùy chọn này.

Ưu điểm của Tar Linux:

  • Tar, nói về việc nén thì nó có khả năng nén 50%, tức là khá hiệu quả
  • Giảm thiểu kích cỡ của file và folder
  • Tar không thay đổi tính năng của file và thư mục. Quyền và những tính năng khác không bị ảnh hưởng sau khi nén
  • Tar được dùng rộng khắp mọi phiên bản Linux. Nó cũng dùng được trên firmware Android và được hỗ trợ bởi những hệ điều hành Linux cũ hơn nữa.
  • Nén và giải nén nhanh
  • Dễ sử dụng

Khi nào bạn cần sử dụng tar command?

  • Nếu làm việc với hệ điều hành Linux và cần nén file và giải nén file
  • Cần chuyển file và thư mục lớn từ server này sang server khác
  • Tạo backup cho website, data, vâng vâng
  • Giảm dung lượng sử dụng của hệ điều hành xuống, vì sau khi nén nó sẽ tiết kiệm được không gian
  • Upload và download thư mục.

Cách sử dụng Tar Linux

Cùng chúng tôi tìm hiểu cách sử dụng Tar Linux nhé. Trước khi bắt đầu, bạn chỉ cần truy cập SSH vào VPS server thôi. Nếu chưa biết cách làm, hãy đọc bài hướng dẫn này!

Tạo file archive .tar Linux

Bạn có thể tạo file nén .tar cho file và thư mục. Cấu trúc để lệnh tar để nén file như sau:

tar -cvf sampleArchive.tar /home/sampleArchive

Thư mục /home/sampleArchive sẽ được nén thành file có tên sampleArchive.tar.

Các tùy chọn cvf có nghĩa là:

  • c – Tạo file .tar mới
  • v – Hiển thị quá trình nén lên màn hình
  • f – Tên file

Tạo file nén .tar.gz trong Linux

Nếu bạn muốn nén mạnh hơn, bạn cũng có thể dùng file .tar.gz. Cấu trúc cơ bản để nén file bằng lệnh tar là:

tar -cvzf sampleArchive.tar.gz /home/sampleArchive

Tùy chọn z có nghĩa là sử dụng gzip để nén, cách nén này cho file ra còn nhỏ hơn. Ngoài ra, tên file cũng có thể đặt .tgz cũng tương đồng với file tar.gz. Ví dụ như sau:

tar -cvzf sampleArchive.tgz /home/sampleArchive

Tại file nén .tar.bz2 trong Linux bằng lệnh tar:

File .bz2 sẽ nén nhiều hơn so với gzip. Tuy nhiên, nó cần nhiều thời gian hơn để nén và giải nén. Để nén file .tar.bz2, bạn sẽ cần thêm tùy chọn -j. Ví dụ như sau:

tar -cvjf sampleArchive.tar.bz2 /home/sampleArchive

Cũng giống vậy với .tar.tbz hay .tar.tb2. Bạn thao tác như sau:

tar -cvjf sampleArchive.tar.tbz /home/sampleArchive
tar -cvjf sampleArchive.tar.tb2 /home/sampleArchive

Làm thế nào để giải nén file .tar trong Linux

Lệnh tar cũng có thể dùng để giải nén file. Cấu trúc lệnh giải nén như sau:

tar -xvf sampleArchive.tar

Nếu bạn muốn giải nén sang thư mục khác hãy dùng tùy chọn -C, ví dụ như sau:

tar -xvf sampleArchive.tar -C /home/ExtractedFiles/

Lệnh giải nén file .tar.gz cũng tương tự:

tar -xvf sampleArchive.tar.gz
tar -xvf sampleArchive.tar.gz -C /home/ExtractedFiles/

và để giải nén .tar.bz2 .tar.tbz hoặc .tar.tb2 thì dùng cấu trúc sau:

tar -xvf sampleArchive.tar.bz2

Làm thế nào để liệt kê nội dung của file nén Linux

Sau khi file archive được tạo, bạn có thể liệt kê nội dung của nó ra bằng lệnh tar theo cấu trúc:

tar -tvf sampleArchive.tar

Nó sẽ hiển thị toàn bộ danh sách file và mốc thời gian, cùng quyền hạn của file. Tương tự, đối với file .tar.gz, bạn dùng lệnh sau:

tar -tvf sampleArchive.tar.gz

Lệnh này cũng làm được với file .tar.bz2 như sau:

tar -tvf sampleArchive.tar.bz2

Làm thế nào để giải nén 1 file trong file .tar

Bạn có thể giải nén riêng lẻ từng file trong file .tar như sau:

tar -xvf sampleArchive.tar example.sh

Ở đây example.sh là file lẻ được giải nén từ bên trong file sampleArchive.tar. Ngoài ra, bạn cũng có thể dùng lệnh này cũng cho kết quả tương tự:

tar --extract --file= sampleArchive.tar example.sh

Để giải nén file lẻ trong file .tar.gz bạn có thể dùng lệnh tương tự như trên:

tar -zxvf sampleArchive.tar.gz example.sh

Hoặc là:

tar --extract --file= sampleArchive.tar.gz example.sh

Để giải nén file lẻ từ file .tar.bz2, bạn dùng lệnh sau:

tar -jxvf sampleArchive.tar.bz2 example.sh

Hoặc bạn dùng lệnh sau:

tar --extract --file= sampleArchive.tar.bz2 example.sh

Như bạn thấy, tar command rất dễ nhớ và khá linh hoạt trong cấu trúc.

Làm thế nào để giải nén nhiều file trong file .tar

Trường hợp bạn muốn giải nén nhiều file trong file .tar, sử dụng lệnh sau:

tar -xvf sampleArchive.tar "file1" "file2"

Đối với file .tar.gz bạn có thể dùng:

tar -zxvf sampleArchive.tar.gz "file1" "file2"

Đối với file .tar.bz2 bạn có thể dùng:

tar -jxvf sampleArchive.tar.bz2 "file1" "file2"

Giải nén nhiều file theo mẫu

Nw61u bạn muốn giải nén nhiều file chỉ có định dạng .jpg từ fil earchive, vậy hãy dùng wildcards. Ví dụ lệnh sẽ chạy như sau:

tar -xvf sampleArchive.tar --wildcards '*.jpg'

Đối với .tar.gz là:

tar -zxvf sampleArchive.tar.gz --wildcards '*.jpg'

Và đối với .tar.bz2 bạn có thể dùng:

tar -jxvf sampleArchive.tar.bz2 --wildcards '*.jpg'

Làm thế nào để thêm file vào file nén .tar

Sẽ có lúc bạn cần thêm file vào một file nén archive phải không. Để làm vậy, bạn sẽ cần dùng tùy chọn -r (viết theo từ append – thêm vào). Tar có thể thêm cả file và thư mục vào.

Bên dưới là ví dụ thêm file example.jpg vào trong file tar đã tồn tại là sampleArchive.tar.

tar -rvf sampleArchive.tar example.jpg

Bạn cũng có thể thêm thư mục bằng cách sau:

tar -rvf sampleArchive.tar image_dir

Bạn không thể thêm file hoặc thư mục vào file .tar.gz hoặc .tar.bz2.

Làm thế nào để kiểm tra file .tar Archive Linux

Lệnh tar cũng có thể dùng để kiểm tra một file archive:

tar -tvf sampleArchive.tar

Tuy nhiên bạn không kiểm được file .tar.gz hoặc .tar.bz2.

Làm thế nào kiểm tra kích thước file archive trong Linux

Sau khi tạo một file archive, bạn cũng có thể xem kích thước của nó. Kích thước sẽ được hiển thị dưới dạng KB (Kilobytes).

Bên dưới là ví dụ kiểm tra kích thước của nhiều file archive khác nhau:

tar -czf - sampleArchive.tar | wc -c
tar -czf - sampleArchive.tar.gz | wc -c
tar -czf - sampleArchive.tar.bz2 | wc -c

Lời kết

Như bạn thấy, tar không chỉ dùng để nén và giải nén file mà còn là công cụ mạnh mẽ để làm nhiều việc khác với file nén. Bạn có thể xem thêm tài liệu chính thức của tar command để biết thêm cách sử dụng công cụ mạnh mẽ này. Hy vọng bài viết này giúp bạn làm việc tốt hơn với hệ thống Linux! Hẹn gặp bạn ở bài sau nhé!

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.