Tar, hay còn gọi là Tape Archive, là công cụ nén tích hợp sẵn trên Linux, cho phép bạn gom tập hợp nhiều file thành một file lưu trữ đơn lẻ với phần mở rộng .tar
. Lệnh tar
được sử dụng để tạo, nén và giải nén các file lưu trữ theo nhiều định dạng khác nhau, mang lại giải pháp sắp xếp và quản lý dữ liệu khối lượng lớn một cách khoa học và hiệu quả.
Bài viết này sẽ hướng dẫn chi tiết cách sử dụng lệnh tar để giải nén file trên Linux. Bạn sẽ được làm quen với cách giải nén các file lưu trữ, bao gồm cả định dạng đã được nén như tar.gz
, tar.xz
, tar.bz2
cũng như các file chưa nén, nhằm chuyển đổi chúng thành các file riêng biệt.
Cú pháp cơ bản của lệnh tar
Dưới đây là cú pháp cơ bản của lệnh tar:
$ tar [options] [archive-file] [file or directory to extract]
Trong câu lệnh trên:
- [tham số]: Bao gồm các tùy chọn dòng lệnh xác định và điều chỉnh chức năng của lệnh tar.
- [tên file archive]: Xác định tên của file lưu trữ mục tiêu, như .tar, .tar.gz, hoặc .tar.bz2, tùy thuộc vào phương pháp nén.
- [file hoặc thư mục cần giải nén]: Xác định các file hoặc thư mục (tuỳ chọn) cần giải nén từ file lưu trữ. Bạn có thể nhập nhiều file và thư mục để giải nén từ file lưu trữ mục tiêu.
Các tham số của lệnh tar
Lệnh tar hỗ trợ các tham số (options) sau để giải nén các file trên Linux:
- c: Tạo một file lưu trữ mới.
- -x: Giải nén các file từ file lưu trữ.
- -f: Chỉ định file lưu trữ mục tiêu.
- -v: Chế độ verbose; hiển thị quá trình thực thi của lệnh tar.
- -t: Liệt kê nội dung của file lưu trữ.
- -z: Kích hoạt nén Gzip.
- -j: Kích hoạt nén Bzip2.
- -J: Kích hoạt nén XZ.
Tạo file lưu trữ bằng lệnh tar
Tham số c cho phép bạn tạo file lưu trữ (archive) bằng tar trên máy Linux của mình. Thực hiện theo các bước dưới đây để tạo file lưu trữ với các file mẫu mà bạn có thể giải nén sau này.
- Chuyển đến thư mục home của người dùng.
$ cd
- Tạo một thư mục mẫu có tên tar_dir.
$ mkdir tar_dir
- Chuyển đến thư mục tar_dir vừa tạo.
$ cd tar_dir
- Tạo các file mẫu như file.txt sử dụng lệnh touch.
$ touch file.txt file1.txt file2.txt file3.txt nil.txt
- Tạo một file lưu trữ .tar mới sử dụng tham số c với tất cả các file trên.
$ tar -cvf archive.tar file.txt file1.txt file2.txt file3.txt nil.txt
Lệnh trên tạo ra file archive.tar với các file file.txt, file1.txt, file2.txt, file3.txt, nil.txt. Trong lệnh:
- -c: Tạo file lưu trữ mới.
- v: Hiển thị quá trình thực thi của lệnh tar.
- f: Chỉ định tên file lưu trữ.
- file.txt file1.txt file2.txt file3.txt nil.txt: Liệt kê các file cần thêm vào file lưu trữ.
Liệt kê nội dung file lưu trữ bằng lệnh tar
Trước khi giải nén file từ một file lưu trữ, bạn có thể liệt kê nội dung của nó bằng cách sử dụng tham số -t với lệnh tar. Điều này cho phép bạn xác minh nội dung file lưu trữ và xác định các file mục tiêu cần giải nén. Thực hiện theo các bước dưới đây để liệt kê nội dung của archive.tar.
- Liệt kê nội dung của archive.tar.
$ tar -tf archive.tar
Lệnh trên liệt kê tất cả các file có trong archive.tar. Tham số -t kích hoạt việc liệt kê nội dung file lưu trữ, trong khi f chỉ định file lưu trữ mục tiêu.
file.txt file1.txt file2.txt file3.txt nil.txt
Tìm kiếm các file cụ thể trong một file lưu trữ
Bạn có thể tìm kiếm các file cụ thể trong file lưu trữ bằng cách kết hợp lệnh tar với lệnh grep. Lệnh grep sẽ tìm kiếm các file hoặc mẫu ký tự mà bạn mong muốn mà không cần giải nén toàn bộ file lưu trữ. Thực hiện theo các bước dưới đây để tìm các file cụ thể bằng cách liệt kê archive.tar và lọc nội dung sử dụng lệnh grep.
- Liệt kê tất cả các file trong archive.tar và chuyển hướng (pipe) kết quả cho grep để tìm kiếm các file có chứa từ khóa “file”.
$ tar -tf archive.tar | grep "file"
Output của bạn sẽ tương tự như sau:
file.txt file1.txt file2.txt file3.txt
Giải nén file sử dụng lệnh tar
Bạn có thể giải nén tất cả các file từ một file lưu trữ hoặc chỉ giải nén các file cụ thể sử dụng tham số -x của lệnh tar. Thực hiện theo các bước dưới đây để giải nén file từ archive.tar mà bạn đã tạo ở trên.
- Giải nén tất cả các file từ archive.tar.
$ tar -xvf archive.tar
Output của bạn sẽ tương tự như sau:
file.txt file1.txt file2.txt file3.txt nil.txt
- Giải nén các file cụ thể như file1.txt và file3.txt từ archive.tar.
$ tar -xvf archive.tar file1.txt file3.txt
Giải nén file vào một thư mục cụ thể sử dụng lệnh tar
Theo mặc định, lệnh tar sẽ giải nén file vào thư mục làm việc hiện tại trừ khi bạn chỉ định thư mục đích khác. Bạn có thể giải nén các file từ file lưu trữ vào một thư mục cụ thể bằng cách sử dụng tham số -C với lệnh tar. Thực hiện theo các bước dưới đây để giải nén file từ archive.tar vào một thư mục cụ thể.
- Tạo một thư mục mới có tên extract_dir.
$ mkdir extract_dir
- Giải nén toàn bộ nội dung của archive.tar vào thư mục extract_dir.
$ tar -xf archive.tar -C extract_dir
Lệnh trên giải nén tất cả các file từ archive.tar vào thư mục extract_dir.
- Di chuyển đến thư mục extract_dir.
$ cd extract_dir
- Liệt kê tất cả các file và xác nhận rằng các file đã được giải nén.
$ ls
Output:
file1.txt file2.txt file3.txt file.txt nil.txt
Giải nén file từ các file lưu trữ đã nén sử dụng lệnh tar
Các file lưu trữ đã nén giúp giảm dung lượng lưu trữ và thuận tiện cho việc truyền tải. Lệnh tar cho phép bạn giải nén file từ các file lưu trữ đã nén bằng cách chỉ định kiểu nén.
Thực hiện theo các bước dưới đây để giải nén file từ các file lưu trữ đã nén như tar.gz, tar.xz, và tar.bz2 sử dụng lệnh tar.
- Sử dụng tham số -z để giải nén các file lưu trữ được nén bằng Gzip (.tar.gz hoặc .tgz). Ví dụ: chạy lệnh sau để giải nén file từ archive.tar.gz.
$ tar -xzf archive.tar.gz
Tham số -z cho phép lệnh tar tự động giải nén file lưu trữ Gzip.
- Sử dụng tham số -j để giải nén các file lưu trữ được nén bằng Bzip2. Ví dụ: chạy lệnh sau để giải nén file từ archive.tar.bz2.
$ tar -xjf archive.tar.bz2
- Sử dụng tham số -J để giải nén các file lưu trữ được nén bằng XZ. Ví dụ: chạy lệnh sau để giải nén file từ archive.tar.xz.
$ tar -xJf archive.tar.xz
Kết luận
Bạn đã khám phá cách sử dụng lệnh tar để tạo file lưu trữ cũng như giải nén các file bên trong một cách linh hoạt và hiệu quả. Không chỉ giúp bạn gom gọn và bảo quản dữ liệu, lệnh tar còn là công cụ tối ưu để nén file, hỗ trợ chia sẻ nhanh chóng và quản lý thông tin khối lượng lớn. Để mở rộng hiểu biết và khám phá thêm các tùy chọn nâng cao, hãy chạy lệnh man tar và khám phá trang hướng dẫn chi tiết – một nguồn tham khảo quý báu dành cho các chuyên gia và người dùng IT.