Lenh giai nen file git trong linux

Trong hệ thống *nix tồn tại một số dạng nén cơ bản như: zip, tar.gztar.bz2. Dưới đây là một vài ví dụ về cách nén và giải nén với những định dạng đó.

1. Nén và giải nén file có đuôi .gz

1.1 Nén
#gzip [tên file]

1.2 Giải nén
#gunzip [tên file]

2. Gom và bung tập tin hoặc thư mục đuôi .tar

2.1 Gom
#tar -cvf [tênfile.tar] [file1] [file2] …

2.2 Bung
#tar -xvf [file.tar]

2.3 Nén và Gom
#tar -zcvf [file.tar.gz] file1 file2 …

2.4 Giải nén và bung
#tar -zxvf [file.tar.gz]

3. Giải nén file có đuôi .bz2
#tar xjvf [file.tar.bz2]

Các định dạng khác :

1. ZIP

1.1 Nén một thư mục, sử dụng:
# zip -r folder.zip folder
1.2 Giải nén, sử dụng:
# unzip file.zip

2. TAR.GZ

2.1 Nén một thư mục dạng .gz, sử dụng:
# tar -zcf folder.tar.gz folder
2.2 Giải nén, sử dụng:
# tar -zxvf file.tar.gz

3. TAR.BZ2

3.1 Nén một thư mục dạng .bz2, sử dụng:
$ tar -jcf folder.tar.bz2 folder
3.2 Giải nén, sử dụng:
$ tar -jxvf file.tar.bz2
-Để biết thêm cách sử dụng lệnh man.

  • Techblog
  • Thủ thuật

Nội dung chính Show

  • Linux compress/decompress
  • Tạo file lưu trữ từ các tập tin, thư mục
  • Liệt kê file đã có trong file lưu trữ
  • Cập nhật file đã có trong file lưu trữ
  • Xóa file đã có trong file lưu trữ
  • Bung file lưu trữ
  • Nối 2 file nén
  • Nén các các tập tin lưu trữ
  • Hiển thị dung lượng đã lưu trữ
  • GZIP - GUNZIP
  • Nén - giải nén tập tin
  • Liệt kê thuộc tính file nén
  • Thiết lập mức độ nén
  • Tỉ lệ nén
  • ZIP - UNZIP
  • Nén dữ liệu
  • Giải nén tập tin zip
  • Cập nhật tập tin đã có trong tập tin zip
  • Xóa file đã có trong tập tin zip
  • Liệt kê danh sách các file đã có trong tập tin zip

Nén, giải nén file trong Linux

1] ".gz" [ gzip ]

Nén file :

# gzip /etc/file1

Giải nén file :

# gzip -d /etc/file1

= # gunzip /etc/file1

2] ".tar" [ tar ]

Có thể tạo 1 tệp đóng gói định dạng tar mà không nén [ tức là chỉ gom các tệp lại thành 1 tệp mới .tar mà không nén chúng , dung lượng vẫn có thể như cũ ]

Gom file:

# tar -cvf file.tar file1 file2 file3

Options:

-c [create]: tạo 1 file mới

-v [verbose]: hiển thị quá trình gom file lên terminal

-f : khai báo tên file nén trong command

file.tar: file nén

file1 file2 file3: các file thành phần

Bung file:

# tar -xvf file.tar

Options:

-x [ extract ] : giải nén [ untar ] gói định dạng .tar

3] ".tar.gz" , ".tgz" [ gzip ]

Cả 2 định dạng này tương tự như nhau

Nén file:

# tar -czvf file.tar.gz file1 file2 file3

Options:

-z: khai báo sẽ dùng gzip để nén hoặc giải nén

Giải nén file :

# tar -xzvf file.tar.gz

Liệt kê nội dung file nén:

# tar -tvf file.tar.gz

Options:

-t: xem nội dung file nén

4] ".tar.bz", "tar.bz2", ".tbz" [bzip2]

Tương tự như gzip, bzip2 là 1 chương trình nén file mã nguồn mở miễn phí 

Bzip2 không nhanh bằng gzip nhưng tỉ lệ nén tương đối tốt hơn gzip 

Các định dạng ".tar.bz", ".tar.bz2", ".tbz" đều tương tự nhau 

Chỉ cần thay tham số z trong gzip bằng j của bzip2 để thực hiện lệnh .

Nén file:

# tar -cjvf file.tar.bz2 file1 file2 file3

Giải nén file:

# tar -xjvf file.tar.bz2

5] ".zip" [ unzip ]

Trước tiên cần cài đặt chương trình unzip lên Linux

# yum install -y unzip

Nén file / thư mục :

# zip -r file.zip file1 file2 file3

Nén file / thư mục có mật khẩu bảo vệ được mã hóa:

# zip -er file.zip file1 file2 file3

Giải nén file :

# unzip file.zip

Giải nén file vào 1 thư mục cụ thể:

# unzip -d file_dir file.zip

Theo Bizfly Cloud chia sẻ

>> Có thể bạn quan tâm: Hướng dẫn đặt hoặc thay đổi Hostname cho Server Linux

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

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

Bài Viết Liên Quan

Chủ Đề