4.7 Các câu lệnh lưu trữ và nén tập tin
89
môi trường giao diện đồ hoạ như KDE, GNOME. Và các tiện ích và môi trường
đó giúp bạn làm việc dễ dàng với các tập tin nén sẽ nói tới. Nhưng là người
dùng Linux thực sự bạn cũng nên biết những câu lệnh nén và giải nén làm việc
trong hệ vỏ shell. Chúng sẽ giúp bạn làm việc nhanh hơn với những tập tin nén
thường gặp trong Internet.
Phương tiện chính để làm việc với các tập tin nén trong UNIX và Linux là
hai chương trình tar và gzip. Mặc dù không ai cấm bạn sử dụng các chương
trình arj, pkzip, lha, rar v.v. . . Nhưng truyền thống của Unix đó là tar và gzip
và phần lớn mã nguồn (và không chỉ mã nguồn) của các chương trình ứng dụng
được phân phối ở dạng này. Vì thế biết cách làm việc với tar và gzip đó là danh
dự của bất kỳ người dùng Linux nào, cũng giống như samurai phải biết sử dụng
kiếm vậy.
4.7.1
Chương trình tar
Những người dùng đã quen với những chương trình nén dạng winzip (đưa tất
cả tập tin vào một “kho” rồi sau đó nén chúng) thì có thể sẽ hỏi “Tại sao lại cần
hai chương trình?”. Chúng ta sẽ tìm thấy câu trả lời cho câu hỏi này sau khi đọc
xong hai phần tới đây, và sẽ thấy đây không phải là một yếu điểm của Linux mà
còn là điểm mạnh nếu biết cách kết hợp “nhịp nhàng” hai chương trình này.
Tên chương trình tar có nghĩa là tape archiver, tức là chương trình này
không nén các dữ liệu mà chỉ kết hợp chúng vào một tập tin chung sau đó ghi tập
tin này lên cách băng nhớ (tape) thường dùng để lưu trữ thông tin. Nếu muốn
tạo tập tin này trên đĩa cứng, thì cần sử dụng lệnh tar với tùy chọn f, sau đó chỉ
ra tên tập tin. Chương trình tar có 8 tùy chọn khác với những tùy chọn còn lại ở
chỗ khi chạy lệnh tar thì cần phải đưa ra một trong số 8 tùy chọn này. Tám tùy
chọn này xác định các chức năng chính của chương trình (xem bảng
Bảng 4.5: Những tùy chọn chính của tar
Tùy chọn
Ý nghĩa
-A, --catenate, --concatenate
Thêm tập tin vào kho đã có.
-c, --create
Tạo kho mới.
-d, --diff, --compare
Tìm sự khác nhau giữa các tập tin trong kho
và trên hệ thống tập tin (so sánh).
--delete
Xóa tập tin khỏi kho (không dùng cho băng
ghi).
-r, --append
Thêm tập tin vào cuối kho.
-t, --list
Đưa ra danh sách các tập tin trong kho.
-u, --update
Chỉ thêm những tập tin mới hơn bản sao
trong kho (cập nhật kho).
-x, --extract, --get
Lấy tập tin ra khỏi kho (“giải phóng”).
Nếu bạn làm việc với các tập tin kho trên đĩa chứ không phải với băng ghi
(đây là đa số trường hợp sử dụng máy tính cá nhân), thì nhất định phải dùng
tùy chọn f. Những tùy chọn khác (trừ 8 tùy chọn bắt buộc kể trên) là không cần
thiết, chúng chỉ dùng để thêm vào các chức năng phụ cụ thể nào đó. Ví dụ, tùy
chọn v bắt buộc chương trình phải đưa ra danh sách các tập tin đưa vào kho.