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.
Biên dịch: Vũ Dũng(vudung@mail.ru)
website:http://khigiacmoquayve.narod.ru
1-9-2005 Voronezh Russian