Đối với hệ điều hành Windows chúng ta thường nén giả giải nén bằng các phần mềm như : Winrar, 7Zip, …. Việc giải nến rất đơn giản, chỉ việc click chuột phải vào tập tin đến nén và giải nén. Nhưng trên nền tảng Linux thì việc nén và giải nén tập tin lại không như vậy. Làm việc với linux,chúng ta thường xuyên phải sử dụng lệnh tar. Trong bài viết này chúng ta sẽ làm quen các lệnh và option cơ bản nén và giải nén trong Linux. TAR techshare[~]# tar -[option] file_techshare 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.
1. Tạo file lưu trữ từ các tập tin, thư mục techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder2 Hoặc nén với Gzip techshare[~]# tar -czvf file_techshare.tgz file1 file2 folder1 Hoặc techshare[~]# tar -czvf file_techshare.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”. techshare[~]# tar -rvf file_techshare.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ữ. techshare[~]# tar -cf file_techshare.tar * --exclude "*.bak" 2. Liệt kê file đã có trong file lưu trữ techshare[~]# tar -tvf file_techshare.tar 3. Cập nhật file đã có trong file lưu trữ techshare[~]# tar -uf file_techshare.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. techshare[~]# tar -df file_techshare.tar 4. Xóa file đã có trong file lưu trữ techshare[~]# tar -f file_techshare.tar --delete file1 file2 Hoặc techshare[~]# tar --delete --file file_techshare.tar [LISTFILE] 5. Bung file lưu trữ techshare[~]# tar -xvf file_techshare.tar Hoặc với file .tar.gz – .tgz : techshare[~]# tar -xzvf file_techshare.tar.gz Hoặc techshare[~]# tar -xzvf file_techshare.tgz Bung đến 1 thư mục định sẵn với tùy chọn “-C”: techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder20 Chỉ bung nén một vài tập tin bên trong: techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder21 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. 6. Nối 2 file nén techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder22 Câu lệnh trên sẽ ghép nội dung file_techshare2.tar vào file_techshare1.tar. 7. Nén các các tập tin lưu trữ techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder23 8. Hiển thị dung lượng đã lưu trữ techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder24
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. techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder25 Giải nén: techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder26 Nén với dòng dữ liệu: techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder27 2. Liệt kê thuộc tính file nén techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder28 3. Thiết lập mức độ nén techshare[~]# tar -cvf file_techshare.tar file1 file2 folder1 folder29 4. Tỉ lệ nén 1: Thấp nhất – nhưng nhanh nhất techshare[~]# tar -czvf file_techshare.tgz file1 file2 folder1 Hoặc techshare[~]# tar -czvf file_techshare.tar.gz file1 file2 folder10
ZIP – UNZIP techshare[~]# tar -czvf file_techshare.tgz file1 file2 folder1 Hoặc techshare[~]# tar -czvf file_techshare.tar.gz file1 file2 folder11 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. |