Kiến Thức Cơ Bản Slackware Linux

5.7 Dạng lưu trữ tập tin(Archive Files)

Trong Slackware Linux có một vài chương trình mà có thể sử dụng để nén và lưu trữ tập tin.Những chương trình đặc biệt có lợi khi bạn tạo ra các files backup(sao dự phòng) cho các tài liệu quan trọng hoặc để chuyển đổi giữa các máy tính trọng mạng.Bạn có thể tìm thấy các chương trình làm việc với các dạng lưu trữ này trên các hệ thống Unix cũng như Windows.

5.7.1 gzip

gzip(1) thuộc  GNU là một trong các ứng dụng để nén thông tin.Nó có câu trúc sau:

$gzip infile

Kết quả là sẽ tạo ra infile.gz và tất nhiên sẽ nhỏ hơn tập tin ban đầu rất nhiều.Nhưng chú ý rằng infile.gz thay thế infile cũng có nghĩa là infile chấm rứt sự tồn tại của mình.Còn lại chỉ có bản nén của nó thôi.Tuy nhiên có những tập tin đã ở dạng nén rồi như .jpeg,.jpg....thì chúng không thể nén hơn nữa.Tuy nhiên mức độ nén cao nhất có thể nhờ lệnh sau:

$gzip -9 infile

Tuy nhiên cách này làm mất rất nhiều thời gian nhưng bù lại files tạo thành sẽ nén cực đại.
Việc giải nén gzipped(Giải nén GNU zip) có thể thực hiện với sự giúp đỡ của hai lệnh tuy nhiên cho rằng chúng là một.Ứng dụng gzip sẽ giải nén bất kì một tập tin nào có phần mở rộng .gz
Phương án đầu:

$gunzip infile.gz

Khi thực hiện lệnh này thì vị trí mà files nén trong catalog hiện hành sẽ xuất hiện catalog con giải nén của tập tin nén và phần .gz mở rộng sẽ biến mất.
Phương án hai:

$gzip -d infile.gz

Nói chung gunzip chính là ảnh của /bin/gzip
Thực vây:

$ca /usr/bin
$ls -l gunzip
lrwxrwxrwx 1 root root 9 Feb 2 09:45 gunzip -> /bin/gzip

Chính vì thế khi gọi gunzip thực tế chính là gọi gzip theo tên khác.Chương trình có thể phân biệt được tên ứng dụng nhập vào và cách làm việc với chúng.

5.7.2 bzip2

bzip2  không được coi là chương trình nén tiêu chuẩn trên Slackware Linux.Nó sử dụng một quy trình hoàn toàn khác so với gzip mà có nhiều ưu điểm và nhược điểm.Ưu điểm của bzip2 chính là chất lượng nén tốt hơn so với gzip.Thỉnh thoảng cũng có những tập tin kém hơn so với gzip.Nhưng mà nói chung là rất tốt cho các người dùng với những modem yếu.

Nhược điểm của bzip2 chính là nó có khuynh hướng tăng chỉ số hoạt động của CPU so với gzip.Có nghĩa là khi sử dụng bzip2 sẽ chiếm nhiều thời gian yêu cầu với CPU sẽ cao hơn so với gzip.Khi mà bạn chon ứng dụng nén thì lên chú ý đến tốc độ nén -đấy là điều quan trọng.
Sử dụng bzip2 giống như sử dụng gzip,chúng ta không nên mất nhiều thời gian cho việc bàn luận này.Cấu trúc của nó như sau:

$bzip2 infile

tập tin tạo thành sẽ có dung lượng nhỏ hơn so với tệp ban đầu và tất nhiên bạn sẽ nhận được têp tin dạng nén sau:infile.bz2.

Bạn có thể sử dụng những tham biến khác đi kèm cung bzip2 để tăng thêm khả năng nén.
Cũng giống như gzip khả năng nén cao nhất của  bzip2  khi  đi với tham biến -9

$bzip2 -9 infile

Có hai cách giải  nén tập tin dạng .bz2.Giống như gzip bạn có thể sử dụng  bzip2 hoặc bunzip2

Cách1:

$bzip2 -d infile.bz2

Lệnh  bzip2 sẽ giải  files nén  ở  catalog hiện hành và files sẽ mất phần mở rộng .bz2

Cách 2:

$bunzip2 infile.bz2

Kết quả cũng tương tự như là sử dụng  bzip2 tuy nhien chúng cũng coi như là một.bunzip2 chính là ảnh của bzip2

$ cd /bin
$ ls -l bunzip2
lrwxrwxrwx 1 root root 5 Feb 2 09:45 /bunzip2 -> bzip2

5.7.3 tar

tar(1) thuộc GNU là một băng lưu trữ thông tin.Nó chứa nhiều tập tin hoặc catalog và tạo ra một tập tin lớn.Nó giúp bạn nén cả một hệ thống cây catalog.Tar có rất nhiều tham số mà bạn có thể xem ở trang man của nó để có thêm thông tin.Chúng ta chỉ xem xét các phương án thông dụng khi dùng tar.

Thông thường tar sử dụng để bung hoặc gom lưu trữ các tập tin khác nhau trong một hệ thống .
Hầu hết các tập tin trên internet hoặc ftp có dạng mở rộng .tar.gz. Trên các hệ Unix-truyền thống thường dùng dạng .tar.Z.

Thỉnh thoảng bạn sẽ gặp dạng nén .tar.bz2.Một điều đáng lưu ý là mã gốc kernel thường nằm trong dạng này  để cho dung lượng của nó nhỏ đi so với thực tế.

Bạn có thể bung chúng ra từ những dạng lưu trữ này với lệnh tar cùng với những tham biến đi kèm
Tuy nhiên bạn chú ý khi làm việc với dạng .tar.gz thì cần phải có thêm tham biến -z

$ tar -xvzf mt.tar.gz

Tuy nhiên bạn có thể theo cách sau: Đầu tiên sử dụng gzip sau đó dùng tar đơn thuần.
Với rất nhiều tham biến như vậy nhưng chúng có ý nghĩa như thế nào:

"-x" có ngiã là  bung ra
"-v" khi dùng nó chương trình  sẽ hiển thị danh sách các tập tin trong qúa trình bung
"-vv" với tham biến này thi bạn sẽ nhận được nhiều thông tin hơn
"-z " chỉ dung chuyên dụng với .tar.gz
"-f" chỉ ra rằng khi ở vỏ lệnh tên của tập tin sẽ sử dụng là gì.

Có nhiều phương án ghi câu lệnh dạng này như sau:

$ gzip -dc mt.tar.gz | tar -xvf -

Dòng lệnh này đầu tiên giải nén tập tin sau đó tiến đến tar.Bởi vì gzip ghi trên sản phẩm của mình bằng dạng chính tắc nếu như yêu cầu nó.Chính vì thế sản phẩm tạo thành là dạng chính tắc.Thông qua pipe tập tin này sẽ được gửi đến tar để bung ra."-" có nghĩa là lệnh sẽ làm việc với dạng chính tắc.

$tar xvzf hejaz.tar.gz

Trên Slackware thì tar có thể làm việc như bzip2 nhưng thay vào tham biến "-z" là "-y".

$ tar -xvyf foo.tar.bz2

Chú ý là tar bung các tập tin ở trong catalog hiện hành.Nếu như lưu trữ thông tin của bạn nằm ở /tmp mà bạn lại muốn sau khi bung ra nó nằm ở catalog nhà(home) của chính bạn.Có hai phương án giải quyết như sau:
 Lưư trữ có thể chuyển đến catalog gốc(home) của bạn sau đó sử dụng tar. Hoặc là bạn đơn giản chỉ đường dẫn tới

$  tar -xvzf /tmp/bar.tar.gz

Nội dung của lưu trữ sẽ được chuyển tới catalog gốc(home) của bạn.Còn lưu trữ gốc sẽ nằm lại ỏ /tmp.
Một trong các ứng dụng phổ biến của tar là tạo ra dạng lưu trữ thông tin của mình bằng tar.Tạo lưu trữ thông tin không khó bằng việc bung ra đối với các dạng lưu trữ khác nhau.

Để tạo ra dạng nén thông tin tar từ các tập tin trong catalog hiện hành(bao gồm cả catalog con và tập tin của nó) bạn cần thực hiện lệnh sau:

$tar -cvzf mt.tar.gz

"-c" có nghĩa là tạo dạng lưu trữ
"-z" nén vớ gzip

mt.tar.gz - đấy là sản phẩm tạo thành của bạn.
ví dụ như

$ tar -cvzf /tmp/archive.tar.gz

Trong trường hợp này thì lưu trữ tạo ra sẽ nằm ở /tmp.Bạn có thể chỉ ra tất cả các tập tin cũng như catalog mà bạn muốn dồn vào lưu trữ và nhớ ghi chúng ở cuôi cùng của lệnh.

5.7.4 zip

Vây là cũng kết thúc phần này, tuy nhiên cũng  có hai công cụ làm việc với zip-files. Mặc dù zip được coi là dạng nén phổ biến trong Windows, nhưng Linux cũng co những công cụ làm việc với chúng .

Ứng dụng gọi là zip(1) và unzip(1)-dùng để giải nén.
Nén bằng zip rất đơn giản:

$zip mt *

Kết qủa bạn  tạo ra một tập tin foo.zip mà có chứa tất cả các tập tin ở catalog hiện hành.Zip sẽ tự động bổ sung phần mở rộng .zip cho tập tin tạo thành,bạn không cần phải chỉ rõ trong vỏ lệnh.
Bung nén cũng .zip rất đơn giản

$unzip mt

Nó sẽ bung ra tất cả các tập tin cũng như catalog bên trong mt.zip
Zip cũng có một vài tham số bổ sung khi tạo dịnh dạng zip cũng như tập tin rạng tự bung(self-extracting).Bạn có thể xem thêm thông tin về zip và unzip trong man-pages của chúng.
Mục Lục

Biên dịch: Vũ Dũng(vudung@mail.ru)
website:http://khigiacmoquayve.narod.ru
1-9-2005 Voronezh Russian
Hosted by uCoz