Sử dụng lệnh tar để nén và giải nén trong Linux
Tar là chữ viết tắt của chữ Tape Archive, đây là một trong những lệnh phổ biến trong Linux/Unix. Lệnh này được dùng để nén một hoặc nhiều file/folder lại với nhau thành một file duy nhất để lưu trữ hoặc để tiết kiệm không gian đĩa (bạn có thể coi nó giống file rar của Windows vậy).
Những file nén này được gọi là tarball hay tarfile và chúng thường có phần mở rộng là .tar, .tar.gz, .tar.bz2 (trong Windows, bạn hoàn toàn có thể dùng WinRAR, 7-Zip hoặc nếu bạn thích dùng command line thì có thể dùng TarTool để giải nén những file này). Trong bài viết này, chúng ta sẽ bàn về những cơ bản trong việc sử dụng lệnh tar để nén và giải nén file trong Linux.
#1 Nén một file/folder lại với nhau
Để nén 1 file/folder lại thành một file nén duy nhất, ta dùng lệnh như sau
tar -czvf tên-của-file-nén.tar.gz /đường/dẫn/tới/file-hoặc-folder
nếu muốn tạo file nén gzip (sẽ tạo ra file có đuôi là .tar.gz). Hoặc
tar -cjvf tên-của-file-nén.tar.bz2 /đường/dẫn/tới/file-hoặc-folder
nếu muốn tạo file nén bzip2 (sẽ tạo ra file có đuôi là .tar.bz2), bzip2 sẽ nén lâu hơn chút.
Các tham số lần lượt như sau:
- -c: viết tắt của chữ Create nghĩa là tạo ra file nén.
- -z: đại diện của gzip, nghĩa là nén file bằng gzip, bạn có thể dùng tham số tương đương là --gzip.
- -j: đại diện của bzip2, nghĩa là nén file bằng bzip2, bạn có thể dùng tham số tương đương là --bzip2.
- -v: viết tắt của chữ Verbose, dùng để hiển thị tiến trình nén file ra màn hình, nến bạn không muốn xem thì có thể bỏ tham số này đi.
- -f: viết tắt của chữ file, dùng để đặt tên cho file nén.
Một vài ví dụ sau đây sẽ cho bạn thấy cách sử dụng các lệnh ở trên, giả sử bạn muốn nén 1 file tên là hello.txt và một folder tên là My Images thì bạn gõ như sau (ở đây tôi dùng gzip để nén):
tar –czvf hello.tar.gz hello.txt
Lệnh trên sẽ nén file hello.txt và tạo ra một file nén tên hello.tar.gz
tar –czvf myimages.tar.gz "My Images"
Cũng tương tự như trên, nó sẽ nén cả thư mục My Images và tạo ra file nén tên là myimages.tar.gz. Lưu ý là nếu tên folder của bạn có khoảng trắng thì bạn nên bỏ nó vào trong dấu nháy đơn (') hoặc nháy kép (")
#2 Nén nhiều file/folder lại với nhau
Các lệnh trên lấy ví dụ về cách nén 1 file/folder, vậy nếu bạn muốn nén nhiều file/folder thì gõ thế nào? tương tự như vậy, để nén nhiều file hoặc folder, chỉ việc gõ tất cả tên các file/folder mà bạn muốn nén thay vì chỉ gõ tên 1 file/folder duy nhất
tar -czvf tên-của-file-nén.tar.gz /đường/dẫn/thư-mục-1 /đường/dẫn/thư-mục-2 /tên/file-1.txt /tên/file-2.txt
hoặc
tar -cjvf tên-của-file-nén.tar.gz /đường/dẫn/thư-mục-1 /đường/dẫn/thư-mục-2 /tên/file-1.txt /tên/file-2.txt
#3 Giải nén file
Khi bạn đã có 1 file nén, bạn có thể dùng lệnh tar để giải nén nó ra
nếu là file gzip
tar -xvf tên-của-file-nén.tar.gz
nếu là file bzip2
tar -xvf tên-của-file-nén.tar.bz2
Các tham số đều giống như trên, chỉ khác là bạn sẽ dùng tham số -x (extract) thay cho tham số -c để giải nén file. Ngoài ra bạn có thể dùng tham số -C (chữ c viết hoa) để chỉ định cần giải nén tới thư mục nào
tar -xvf tên-của-file-nén.tar.gz -C /thư/mục/sẽ/giải/nén/file
#4 Xem nội dung trong file nén mà không cần giải nén
Giả sử như bạn muốn xem các file được nén trong file nén thì làm thế nào? Tất nhiên là không cần phải giải nén ra để xem rồi, vì như thế sẽ rất phiền phức. Để xem những file được nén đó bạn dùng lệnh sau
tar -tvf tên-file-nén.tar.gz
hoặc
tar --list -vf tên-file-nén.tar.gz
nếu như là file gzip
tar -tvf tên-của-file-nén.tar.bz2
hoặc
tar --list -vf tên-của-file-nén.tar.bz2
nếu như là file bzip2
Tham số -t trong lệnh trên dùng để liệt kê các file trong file nén, và nó có tham số tương đương là --list
No comments: