Câu lệnh giải nén trong linux

Lênh tar trên Linux thường được sử dụng để tạo các file lưu trữ .tar.gz hoặc .tgz, hay còn được gọi là tarballs. Lệnh này chứa một loạt các tùy chọn, tuy nhiên bạn chỉ cần nhớ một số tùy chọn để tạo file lưu trữ nhanh chóng với tar. Ngoài ra bạn cũng có thể sử dụng lệnh tar để giải nén các file lưu trữ. Bài viết này Taimienphi.vn sẽ hướng dẫn bạn cách giải nén file Tar trên Linux.

Nếu như trên Windows bạn sẽ phải giải nén file RAR, ZIP, ISO để lấy dữ liệu bằng các phần mềm giải nén như WinRAR, 7 Zip ... thì trên hệ điều hành Linux, bạn sẽ phải giải nén tệp tin có định dạng Tar. Lệnh GNU tar được bổ sung trên các bản phân phối Linux đã được tích hợp giải nén. Lênh này có thể tạo file lưu trữ .tar, sau đó nén file bằng gzip hoặc bzip2 chỉ với một lệnh duy nhất. Đó là lý do giải thích tại sao có file .tar.gz hoặc .tar.bz2. Tham khảo cách giải nén file Tar trên Linux trong bài viết dưới đây của Taimienphi.vn.

Câu lệnh giải nén trong linux

Nén toàn bộ thư mục hoặc một file duy nhất

Sử dụng lệnh dưới đây để nén toàn bộ thư mục hoặc một file trên Linux. Lệnh cũng nén tất cả các thư mục khác bên trong thư mục mà bạn chỉ định, nói cách khác lệnh hoạt động đệ quy:

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file
Dưới đây là ý nghĩa các phần của lệnh:
-c: Tạo một kho lưu trữ.
-z: Nén file lữu trữ bằng gzip.
-v: Hiển thị tiến trình trong Terminal trong quá trình tạo kho lưu trữ, còn được gọi là chế độ “verbose”. v luôn luôn là tùy chọn trong các lệnh này, nhưng nó thực sự hữu ích.
-f: Cho phép bạn chỉ định tên file của kho lưu trữ.

Giả sử bạn có thư mục tên là stuff trong thư mục hiện tại và bạn muốn lưu thư mục vào file có tên archive.tar.gz. Tất cả những gì bạn cần làm là chạy lệnh dưới đây:

tar -czvf archive.tar.gz stuff

Hoặc giả sử có thư mục nào đó trong /usr/local/something trên hệ thống và bạn muốn nén thư mục đó vào file có tên archive.tar.gz, chạy lệnh dưới đây:

tar -czvf archive.tar.gz /usr/local/something

Câu lệnh giải nén trong linux

Nén nhiều thư mục hoặc file cùng một lúc

Thường thì lệnh tar được sử dụng để nén một thư mục duy nhất, tuy nhiên bạn cũng có thể sử dụng lệnh này để nén nhiều thư mục, file cá nhân hoặc cả 2. Chỉ cần cung cấp danh sách các file hoặc thư mục thay vì một file, thư mục.

Ví dụ giả sử bạn muốn nén thư mục /home/ubuntu/Downloads, /usr/local/stuff, và file /home/ubuntu/Documents/notes.txt. Chỉ cần chạy lệnh dưới đây:

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Chỉ cần liệt kê danh sách các thư mục hoặc file giống như cách mà bạn muốn sao lưu các thư mục, file.

Câu lệnh giải nén trong linux

Loại bỏ các thư mục hoặc file cụ thể

Trong trường hợp nếu muốn nén toàn bộ thư mục, nhưng không muốn nén một vài file và thư mục cụ thể trong thư mục đó. Bạn có thể làm được điều này bằng cách nối thêm --exclude vào mỗi thư mục hoặc file mà bạn muốn loại bỏ.

Ví dụ, giả sử bạn muốn nén thư mục /home/ubuntu, nhưng không muốn nén các thư mục /home/ubuntu/Downloads và /home/ubuntu/.cache. Chỉ cần chạy lệnh dưới đây:

tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache

Lệnh --exclude chuyển đổi khá hữu ích. Lệnh này không lấy tên của các thư mục và các file. Bạn có thể sử dụng lệnh để thực hiện nhiều thứ khác. Chẳng hạn bạn có thể lưu trữ toàn bộ thư mục và loại trừ tất cả các file .mp4 bằng lệnh dưới đây:

tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4

Câu lệnh giải nén trong linux

Sử dụng nén Bzip2 thay thế

Mặc dù nén gzip được sử dụng thường xuyên để tạo các file .tar.gz hoặc .tgz, lệnh tar cũng hỗ trợ nén Bzip2. Điều này cho phép bạn tạo các file nén bzip2, thường được gọi là các file .tar.bz2, .tar.bz, hoặc .tbz. Để làm được điều này, chỉ cần thay thế -z cho gzip trong các lệnh ở trên bằng -j cho bzip2.

Gzip nhanh hơn, nhưng nén ít hơn nên các file nén của bạn có kích thước lớn. Bzip2 nén chậm hơn nhưng nén sâu hơn, vì vậy các file nén có kích thước nhỏ hơn. Gzip cũng phổ biến hơn, một số hệ thống hỗ trợ gzip theo mặc định, nhưng không hỗ trợ bzip2. Nhưng nói chung là cả gzip và bzip2 đều hoạt động giống nhau.

Ví dụ, thay vì sử dụng lệnh đầu tiên được cung cấp ở trên để nén thư mục stuff, bạn chạy lệnh dưới đây:

tar -cjvf archive.tar.bz2 stuff

Câu lệnh giải nén trong linux

Giải nén file

Sau khi đã có file nén, bạn có thể sử dụng lệnh tar để giải nén file. Lệnh dưới đây sẽ giải nén nội dung file archive.tar.gz vào thư mục hiện tại:

tar -xzvf archive.tar.gz

Cũng giống như lệnh để nén file được sử dụng ở trên, ngoại trừ thay thế -x bằng -c, cho phép bạn giải nén file lưu trữ.

Nếu muốn giải nén một file vào thư mục cụ thể, bạn có thể làm được điều này bằng cách nối thêm -c vào cuối lệnh. Ví dụ, lệnh dưới đây sẽ giải nén file archive.tar.gz vào thư mục /tmp:

tar -xzvf archive.tar.gz -C /tmp

Câu lệnh giải nén trong linux

Nếu file được nén bằng bzip2, thay thế “z” bằng “j” trong các lệnh trên.

Cách khác giải nén file Tar trên Linux

Thực hiện theo các bước dưới đây để giải nén file Tar trên Linux:

Bước 1: Mở Terminal, bạn có thể thực hiện một số cách truy cập Terminal nhanh để mở cửa sổ này nhanh hơn.

Câu lệnh giải nén trong linux

Bước 2: Nhập tar vào cửa sổ Terminal.

Câu lệnh giải nén trong linux

Bước 3: Gõ dấu cách.

Câu lệnh giải nén trong linux

Bước 4: Nhập -x vào đó.

Câu lệnh giải nén trong linux

Bước 5: Nếu file tar được nén bằng gzip (có phần đuôi mở rộng là .tar.gz hoặc .tgz), nhập z vào đó.

Câu lệnh giải nén trong linux

Bước 6:Nhập f.

Câu lệnh giải nén trong linux

Bước 7: Gõ dấu cách.

Câu lệnh giải nén trong linux

Bước 8: Nhập tên file mà bạn muốn giải nén.

Câu lệnh giải nén trong linux

Bước 9: Nhấn Enter.

Câu lệnh giải nén trong linux

Mặc dù lệnh tar bao gồm nhiều tùy chọn bổ sung khác nhau, tuy nhiên Taimienphi.vn chỉ giới thiệu cho bạn một số tính năng cơ bản để nén và giải nén các file Tar. Để biết thêm thông tin chi tiết của lệnh Tar, bạn chạy lệnh info tar. Nhấn phím q để thoát khỏi trang thông tin sau khi hoàn tất, hoặc ngoài ra bạn có thể tham khảo hướng dẫn sử dụng lệnh tar trực tuyến.