Câu lệnh nén - giải nén thường dùng trong Linux
Linux compress/decompress
Một số câu lệnh nén - giải nén hay dùng trong Linux. Các câu lệnh thường dùng như tar, gzip, zip, unzip, gunzip… Cách ứng dụng để đóng gói, sao lưu dữ liệu.
TAR
tar -[option] file_archive files/directories
TAR chỉ dùng để đóng gói các tập tin thành 1 khối, vì vậy chúng ta cần thêm các tùy chọn nén để có thể giảm tối đa kích thước tập tin. Các tập tin tarball thường được nén ở dạng GZ hoặc BZ2 hoặc LZMA.
Tùy chọn:
- c: Tạo file lưu trữ.
- x: Giải nén file lưu trữ.
- z: Nén với gzip - Luôn có khi làm việc với tập tin gzip (.gz).
- j: Nén với bunzip2 - Luôn có khi làm việc với tập tin bunzip2 (.bz2).
- lzma: Nén với lzma - Luôn có khi làm việc với tập tin LZMA (.lzma).
- f: Chỉ đến file lưu trữ sẽ tạo - Luôn có khi làm việc với file lưu trữ.
- v: Hiển thị những tập tin đang làm việc lên màn hình.
- r: Thêm tập tin vào file đã lưu trữ.
- u: Cập nhật file đã có trong file lưu trữ.
- t: Liệt kê những file đang có trong file lưu trữ.
- –delete: Xóa file đã có trong file lưu trữ.
Sử dụng kết hợp các tùy chọn để áp dụng hợp lý.
Tạo file lưu trữ từ các tập tin, thư mục
tar -cvf file_archive.tar file1 file2 folder1 folder2
Hoặc nén với Gzip
tar -czvf file_archive.tgz file1 file2 folder1
Hoặc
tar -czvf file_archive.tar.gz file1 file2 folder1
Nếu có quá nhiều file cần lưu trữ thì bạn có thể đưa vào folder hoặc dùng tùy chọn “r”.
tar -rvf file_archive.tar add_file1 add_file2
Sau câu lệnh trên thì file mới sẽ được thêm vào trong file lưu trữ.
Bỏ qua các tập tin khỏi việc lưu trữ bằng cách sử dụng tùy chọn
--exclude
:tar -cf file_archive.tar * --exclude "*.bak"
Liệt kê file đã có trong file lưu trữ
Sử dụng tùy chọn “v” hoặc “vv” để cho ra các thông tin chi tiết hơn trên màn hình bao gồm permission, owner, date/time…
tar -tvf file_archive.tar
Cập nhật file đã có trong file lưu trữ
tar -uf file_archive.tar file1
Câu lệnh trên sẽ so sánh thời gian sửa đổi của
file1
bên ngoài và file1
bên trong file lưu trữ. File bên trong file lưu trữ sẽ được cập nhật nếu tập tin bên ngoài mới hơn tập tin bên trong.
Để so sánh các tập tin bên trong với các tập tin bên ngoài ta làm như sau:
tar -df file_archive.tar
Xóa file đã có trong file lưu trữ
tar -f file_archive.tar --delete file1 file2
Hoặc
tar --delete --file file_archive.tar [LISTFILE]
Bung file lưu trữ
tar -xvf file_archive.tar
Hoặc với file
.tar.gz
- .tgz :
tar -xzvf file_archive.tar.gz
Hoặc
$ tar -xzvf file_archive.tgz
Bung đến 1 thư mục định sẵn với tùy chọn
-C
:tar -xvf file_archive.tar -C /path/to/extraction_directory
Chỉ bung nén một vài tập tin bên trong:
tar -xvf file_archive.tar file1 file2
Câu lệnh trên sẽ chỉ bung nén tập tin
file1
, file2
và bỏ qua các tập tin khác.Nối 2 file nén
tar -Af file_archive1.tar file_archive2.tar
Câu lệnh trên sẽ ghép nội dung
file_archive2.tar
vào file_archive1.tar
.Nén các các tập tin lưu trữ
Sử dụng các tùy chọn để thực hiện nén các tarball như
-z
, -j
, -lzma
.
TAR có thể xem phần mở rộng của tập tin nén hoặc tập tin đưa vào để quyết định các định dạng nén một cách tự động thông qua tùy chọn
-a
hoặc --auto-compress
.tar -acvf file_archive.tar.lzma file1 file2 file3
Hiển thị dung lượng đã lưu trữ
In ra tổng số dung lượng dữ liệu đã đưa vào file lưu trữ thông qua tùy chọn –totals khi đóng gói file:
$ tar -cf file_archive.tar * --exclude "*.bak" --totals
Total bytes written: 2048000 (20MB, 22MiB/s)
GZIP - GUNZIP
GZIP được dùng khá phổ biến trong nền tảng Unix/Linux. GZIP chỉ có thể làm việc trên 1 tập tin hoặc 1 dòng dữ liệu. Do đó nó không thể lưu trữ được nhiều tập tin. Vì vậy nếu muốn sử dụng cho nhiều tập tin thì chúng ta phải sử dụng TAR đóng gói chúng lại trước.
Nén - giải nén tập tin
Nén:
gzip file_compress
Giải nén:
$ gzip -d file_compress.ext.gz
hoặc
$ gunzip file_compress.ext.gz
Nén với dòng dữ liệu:
cat file_to_compress | gzip –c > file_compressed.gz
Liệt kê thuộc tính file nén
gzip -l file_compress.ext.gz
Thiết lập mức độ nén
$ gzip --fast file_compress
hoặc
$ gzip --best filename
Tỉ lệ nén
- 1: Thấp nhất - nhưng nhanh nhất
- 9: Cao nhất - nhưng chậm nhất
Chúng ta có thể sử dụng tỉ lệ nén trong khoảng cho phép trên.
gzip -5 file_compress.ext
ZIP - UNZIP
zip -[option] file_compress.zip [files/directories]
ZIP được dùng như 1 định dạng phổ biến nhất trên Internet. Nó thực hiện cả việc lưu trữ và nén dữ liệu.
Tùy chọn:
- r: Sử dụng đệ quy - Dùng trong trường hợp nén nhiều file hay folder.
- 9: Mức độ nén cao nhất.
- d: Xóa dữ liệu đã có trong file nén.
- l: Liệt kê tập tin đang có bên trong file zip.
- u: Cập nhật file đã có trong file zip.
Nén dữ liệu
Nén 1 file
zip file_compress.zip file1
Nén nhiều file, hoặc folder
zip -r file_compress.zip file1 file2 folder1 folder2
Thêm tùy chon “-9” để nén với mức cao nhất
$ zip -9 file_compress.zip file1
Hoặc
$ zip -9 -r file_compress.zip file1 file2 folder1 folder2
Giải nén tập tin zip
unzip file_compress.zip
Giải nén đến folder được chỉ định:
unzip file_compress.zip -d /path/to/decompress_directory
Cập nhật tập tin đã có trong tập tin zip
zip file_compress.zip -u newfile
Xóa file đã có trong tập tin zip
zip -d file_compress.zip "file1"
Xóa tập tin có tên
file1
trong tập tin zip.Liệt kê danh sách các file đã có trong tập tin zip
zip -l file_compress.zip
Không có nhận xét nào:
Đăng nhận xét