Tháng 6
28
2012

Giới thiệu lệnh tar trong Linux

tar (Tape ARchive) là công cụ được sử dụng để gom 1 nhóm file(s) (folder là 1 loại file đặc biệt) thành 1 file duy nhất – file này được gọi là archive, hoặc để bung (xả) các file trong archive. Điểm đáng lưu ý là lệnh tar không thực hiện việc nén các file vào archive.

1 Archive là 1 file đơn lẻ mà chứa nhiều file khác + thông tin phụ để giúp các chương trình quản lý archive bung các file trong archive mà vẫn đảm bảo tính toàn vẹn dữ liệu của các file này. Archive rất thuận tiện trong việc quản lý, lưu trữ các file cũng như truyền qua mạng để phân phối chương trình.

Ban đầu tar được thiết kế để sao lưu tài liệu lên các băng từ (magnetic tape – 1 loại thiết bị lưu trữ dữ liệu), giờ thì nó được sử dụng để tạo các file archive ở bất cứ đâu trên filesystem (ổ cứng, ổ Flash,..). Các archive được tạo với tar thì thường được gọi là tarball.

tar-command

Tar không thực thi việc nén file. Tuy nhiên, bạn có thể sử dụng các tiện ích nén chuyên biệt để nén file archive như bzip2, gzip, compress.

Cú pháp cơ bản của tar

tar option(s) archive_name file_name(s)

Tar có nhiều tùy chọn (option), nhiều trong số đó ít được sử dụng. Không giống với nhiều lệnh khác, tar yêu cầu phải có ít nhất 1 option, và thường bạn sử dụng >=2 option.

2/ Tạo file archive .tar

Bạn sử dụng 2 option –c (create) và –f (file)để tạo file .tar. Option –c ra lệnh cho tar “hãy tạo 1 file archive”, option –f ngụ ý là đối số kế tiếp (argument – dữ liệu đầu vào trong 1 lệnh) sẽ là tên của file archive sẽ tạo.

Ví dụ dưới đây sẽ tạo ra 1 file archive có tên file.tar từ 3 file (file1, file2, file3) nằm trong folder hiện hành (current directory – folder mà dấu nhắc lệnh đang ở đó, khi user gõ lệnh thì lệnh đó sẽ làm việc với folder này)

tar -cf file.tar file1 file2 file3

File archive mới tạo không cần tới phần mở rộng (extension) .tar cũng được, các archive manager vẫn open được các file không có đuôi .tar này. Tuy nhiên, việc sử dụng extension thì trực quan hơn khi nhận diện loại file nào đó.

–f là option cuối cùng trong 1 chuỗi liên tiếp các option chỉ có 1 ký tự (không bị tách ra bới khoảng trắng). Option –f là cần thiết để không gây nhầm lẫn cho hệ thống, khi filename.tar mà ta mong muốn sẽ không phải là option kế tiếp trong chuỗi

Option –v (verbose) thường được sử dụng với –c và –f để hiển thị danh sách các file đang được đưa vào trong archive

tar -cvf file.tar file1 file2 file3

tar cũng được dùng để tạo file archive từ 1 hoặc nhiều folder

tar -cvf dir.tar dir1 dir2

Bạn cũng có thể sử dụng wildcard – 1 ký tự đặc biệt mà có thể đại diện cho 1 lớp (chuỗi) các ký tự khác. VD sau sử dụng wildcard là ký tự * – đại diện cho bất kỳ ký tự hoặc chuỗi ký tự nào.

tar -cf *

Lệnh trên sẽ tạo ra 1 archive bao gồm tất cả các đối tượng (file, folder) trong thư mục hiện hành

3/ Nén file archive .tar

Vì tar không có tính năng nén và giải nén nên tar thường được sử dụng kết hợp với 1 tiện ích nén/giải nén mở rộng. Ví dụ sau sẽ tạo ra 1 file archive của các file (file4, file5, file6), sau đó file archive này được nén bởi chương trình bz2, cuối cùng ta được file có tên files.tar.bz2

tar -cvjf files.tar.bz2 file4 file5 file6

bạn thay option j bằng z (cho gzip) và Z (cho compress)

4/ Bung tarball

Lệnh tar cũng được dùng để bung gói .tar. Nếu file.tar được nén, nó phải được giải nén bằng 1 chương trình thích hợp trước khi bung file.tar

Để bung 1 file.tar, sử dụng 2 option là –x(extract) và –f. Nếu cần bạn thêm vào –v để thấy được danh sách các file đang được bung ra

tar -xvf file.tar

Các option được sử dụng để chương trình nén tự động nén file.tar vừa được tạo cũng được sử dụng để giải nén file.tar trước khi bung file.tar này.

tar -xjvf files.tar.bz2

bạn thay option j bằng z (cho gzip) và Z (cho compress)

5/ 1 số option khác

* option –remove-files 
sau khi gom các file vào archive, tar sẽ delete các file gốc này
* option –r
Dùng để thêm các file vào 1 archive có sẵn bạn dùng. VD sau sẽ thêm file7 vào .tar (file.tar nằm trong thư mục hiện hành).

tar -rf file.tar file7

* option –delete 
VD này sẽ xóa trực tiếp file1, file2 trong file.tar

tar -f file.tar –delete file1 file2

* option –t

tar -tf file.tar

tar sẽ liệt kê các file có trong file.tar mà không thực hiện việc bung

–help: cung cấp danh sách các option
–version: hiện số phiên bản của chương trình tar cũng như thông tin về tác quyền

Các bài hay khác

Về tác giả: Dũng Phạm Trung

Cách cài đặt là trang cung cấp hướng dẫn cấu hình, cài đặt và sử dụng phần mềm. Nội dung trên website được chúng tôi sưu tầm hoặc tạo ra nhằm giúp mọi người nắm bắt được những kiến thức CNTT một cách đơn giản nhất.

Với lời bình

CommentLuv badge

Comments links could be nofollow free.

Bài nhiều người đọc

Sử dụng Nginx và memcached để tăng tốc Apache trên Debian Lenny
Comments9
Hướng dẫn cài đặt Nginx, PHP trên CENTOS, REDHAT
Comments6
[Kiến thức cơ bản] 10 cách dùng Nmap hiệu quả
Comments5
Sử dụng Crontab trên Linux
Comments4
Di chuyển file giữa các hệ thống Linux với SCP
Comments3
Cách cài đặt Teamviewer 6 trên Ubuntu 10.10 Maverick Meerkat
Comments3
Di chuyển file giữa các hệ thống Linux với SCP
Comments3
Cấu hình SSHd server dùng Private Key
Comments2
[Kiến thức cơ bản] Dùng lệnh date trên Linux.
Comments2
[Cách cài đặt] Thiết lập hệ thống WebDAV với Apache2 trên OpenSUSE 11.3
Comments2

Bình luận mới nhất

  • Loading...