Giải nén file git trên linux

Nhắc tới các chương trình nén, bạn sẽ nghĩ ngay đến 2 định dạng file phổ biến là RAR và ZIP. Nhưng ở trên Linux thì có rất nhiều định dạng nén khác nhau như: tar, tar.gz, tar.bz2… Sau đây, Vinasupport sẽ hướng dẫn các bạn cách giải nén một số định dạng phổ biến trên Linux.

1. Giải nén file .tar [ TarBall File ]

Để giải nén file .tar

tar -xvf file.tar

Để giảm dung lương lưu trữ và băng thông khi truyền tải qua mạng Internet, thì thường sẽ sử dụng các chương trình như gzip hoặc bzip2 để nén file TarBall tạo ra file có định dạng là tar.gz và tar.bz2. Để giải nén 2 loại file này sử dụng command sau:

– Để giải nén file .tar.gz

tar -xzvf file.tar.gz

– Để giải nén file .tar.bz2

tar -xjvf file.tar.bz2

Giải thích các tham số:

  • -x: Giải nén TarBall file
  • -v: Hiển thị nội dung giải nén
  • -f: Chỉ định tên file
  • -j: Giải nén tệp nén được tạo bởi chương trình bzip2 [phần mở rộng tar.bz2].
  • -z: Giải nén tệp nén được tạo bởi chương trình gzip [phần mở rộng tar.gz].

2. Giải nén file .zip

Zip là 1 định dạng phổ biến trên cả 2 hệ điều hành Windows và Linux, để giải nén định dạng .zip trên Linux các bạn cần chương trình giải nén có tên là unzip.

– Cài đặt chương trình unzip trên Linux

# For Ubuntu, Debian
sudo apt-get update
sudo apt-get install unzip

# For Centos, Redhat, ...
sudo yum install unzip

– Giải nén file .zip

unzip file.zip

3. Giải nén file .rar

Tương tự file .zip, để giải nén định dạng .rar trên Linux các bạn cần chương trình giải nén có tên là unrar

– Cài đặt chương trinh unrar trên Linux

# For Ubuntu, Debian
sudo apt-get update
sudo apt-get install unrar

# For Centos, Redhat, ...
sudo yum install unrar

– Giải nén file .rar

unrar file.rar

4. Giải nén file .tgz

Để giải nén file .tgz, các bạn sử dụng command sau:

tar -xvzf file.tgz

5. Giải nén file .gz

gunzip file.gz

6. Giải nén file .bz2

bunzip2 file.bz2

7. Giải nén file .tbz2

tar -jxvf file.tbz2

7. Giải nén file .7z

Cài đặt:

sudo apt install p7zip-full p7zip-rar

Giải nén:

7z e file.7z

Nguồn: vinasupport.com

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.

Nội dung

  • Tạo nén và giải nén với Tar
    • Tạo file nén .tar
    • Đóng gói và nén dữ liệu
    • Lưu trữ bỏ qua các tập tin theo yêu cầu
    • Hiển thị tổng dung lượng đã được lưu trữ
    • Làm việc với file .tar
    • Giải nén file .tar
  • Hướng dẫn nén và giải nén với file Gzip
    • Tạo file nén Gzip
    • Giải nén file Gzip
  • Hướng dẫn nén và giải nén với file Zip
    • Tạo file nén .zip
    • Giải nén file .zip

Chắc hẳn có nhiều người vẫn chưa biết cách nén, giải nén file Tar, Gzip và Zip trên Linux đúng không? Vậy bạn chỉ cần bỏ ra 5 phút để đọc bài hướng dẫn chi tiết và dễ hiểu bên dưới đây thôi.

Tar, Gzip và Zip là những dạng đóng gói và nén dữ liệu cơ bản trong Linux . Trong đó, ta sử dụng Tar để đóng gói dữ liệu, Gzip để nén dữ liệu và Zip thì có thể thực hiện cả 2 việc trên.

Tạo nén và giải nén với Tar

Tar giúp đóng gói các files/thư mục vào trong 1 files, nó giúp ích cho rất nhiều việc sao lưu dữ liệu. Tar file thông thường có đuôi là .tar. Để giảm tối đa kích thước của tệp tin, bạn cần thêm các tùy chọn nén gzip hoặc bunzip2. Tổng hợp các tùy chọn bao gồm:

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].

izma: Nén với Izma – 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ị các tập tin đang làm việc trên màn hình.

r: Thêm tập tin và 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ữ.

totals: Hiển thị thông số file tar.

exclude: Loại bỏ file theo yêu cầu trong quá trình nén.

Tạo file nén .tar

# tar -cvf filename.tar file1 file2 folder1 folder2

Filename.tar là tên file tar bạn sẽ tạo ra. File 1, folder 1,… là các file, thư mục bạn muốn đóng gói trong file tar.

Chẳng hạn bạn đang làm việc tại /usr, cần đóng gói folder /usr/bin, folder /boot/grub và file /boot/abc.img

# tar -cvf filename.tar bin /boot/grub /boot/abc.img

File được lưu trữ có thể ở dạng filename [abc.img] hoặc ở dạng file kèm đường dẫn [boot/abc.img]. Khi đó, trong quá trình bung dữ liệu, file sẽ được đặt ở đúng đường dẫn đã lưu.

Đóng gói và nén dữ liệu

Tar thông thường chỉ giúp đóng gói dữ liệu. Để nén dữ liệu giảm thiểu dung lượng, bạn dùng cần các tùy chọn nén z cho gzip [định dạng .gz] hoặc j cho bunzip [định dạng .bz2]

# tar -czvf filename.tar.gz file1 file2 folder1 folder2

hoặc

# tar -cjvf filename.tar.bz2 file1 file2 folder1 folder2

Lưu trữ bỏ qua các tập tin theo yêu cầu

Trong quá trình đóng gói và lưu trữ dữ liệu, bạn có thể loại bỏ các tập tin theo yêu cầu bằng cách sử dụng tùy chọn exclude.

Ví dụ, loại bỏ các file .pyc khỏi việc đóng gói dữ liệu thư mục /usr/lib/python2.6/site-packages

# tar -cvf filename.tar /usr/lib/python2.6/site-packages --exclude='*.pyc'

Hiển thị tổng dung lượng đã được lưu trữ

Sử dụng tùy chọn totals giúp hiển thị tổng dung lượng đã được lưu trữ.

# tar -cvf filename.tar file1 folder1 --totals

Total bytes written: 20561920 [20MiB, 354MiB/s]

Làm việc với file .tar

Liệt kê nội dung bên trong file lưu trữ

Để xem nội dung bên trong 1 file tar, sử dụng tùy chọn v để cho ra các thông tin chi tiết trên màn hình bao gồm permission, owner, date/time…

# tar -tvf filename.tar

Thêm mới, cập nhập nội dung vào file lưu trữ

Sử dụng tùy chọn -r để thêm nội dung vào file lưu trữ.

# tar -rvf filename.tar add_file1 add_file2

Để cập nhập dữ liệu vào file lưu trữ đã có, sử dụng tùy chọn -u [đặc biệt cần trong việc update các file backup].

# tar -uf filename.tar

Câu lệnh trên sẽ so sánh thời gian sửa đổi của nội dung bên ngoài và bên trong của file lưu trữ. File bên trong sẽ được cập nhật nếu tập tin bên ngoài mới hơn.

Xóa dữ liệu trong file lưu trữ

Sử dụng tùy chọn -delete để xóa nội dung theo yêu cầu trong file lưu trữ

# tar -f filename.tar --delete file1 file2

Giải nén file .tar

# tar -xvf filename.tar

Câu lệnh trên sẽ không xóa file .tar mà sẽ chỉ giải nén dữ liệu bên trong file .tar vào thư mục hiện tại. Trong trường hợp file được lưu có kèm đường dẫn, nếu đường dẫn đó không tồn tại, hệ thống sẽ tự tạo thư mục tương ứng để đặt file. Tùy theo cách bạn đóng gói dữ liệu mà khi bung ra vị trí file có thể thay đổi.

Chẳng hạn bạn đang làm việc tại /boot/grub và muốn đóng gói file 1.map tại thư mục đó.

  • Nếu bạn đóng gói 1.map, khi giải nén đường dẫn file sẽ là /boot/grub/1.map

  • Nếu bạn đóng gói /boot/grub/1.map, khi giải nén đường dẫn file sẽ là /boot/grub/boot/grub/1.map

Bung file nén

Đối với các file nén gzip .tar.gz bạn cần sử dụng thêm tùy chọn -z [với file nén gzip] hay tùy chọn -j [với file nén bunzip]

# tar -xzvf filename.tar.gz

# tar -xjvf filename.tar.bz2

Bung một vài file/thư mục cụ thể

# tar -xvf filename.tar file1 file2

Bung vào 1 thư mục khác

Để bung dữ liệu vào nơi khác thư mục hiện tại, bạn cần chỉ rõ đường dẫn của thư mục đích với tùy chọn -C

# tar -xvf filename.tar -C /directory

Ví dụ, # tar -xvf test.tar -C /boot/efi thì toàn bộ file của test.tar sẽ được bung ra trong thư mục /boot/efi

Hướng dẫn nén và giải nén với file Gzip

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 đó 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.

Tạo file nén Gzip

# gzip filename

Khi đó, file gốc tự động chuyển đổi thành file nén. Ví dụ # gzip test.php sẽ chuyển đổi test.php thành test.php.gz

Thiết lập mức độ nén

Mức độ nén được tùy chỉnh trong khoảng từ 1 đến 9. Trong đó, 1 ~ fast nén nhanh nhất nhưng mức độ nén thấp nhất còn 9 ~ best mức độ nén cao nhất nhưng nén chậm nhất.

# gzip --fast filename hoặc # gzip -1 filename

# gzip --best filename hoặc # gzip -9 filename

Kiểm tra thuộc tính file nén

# gzip -l filename.gz

Giải nén file Gzip

# gzip -d filename

Khi đó, file nén tự động chuyển đổi thành file gốc. Ví dụ, # gzip -d test.php.gz sẽ chuyển đổi test.php.gz thành test.php

Hướng dẫn nén và giải nén với file Zip

Đầu tiên, bạn cần kiểm tra cài đặt zip trong systems.

# rpm -q zip

package zip is not installed

hoặc

Package zip-3.0-1.el6_7.1.x86_64 already installed and latest version

Tiến hành cài đặt Zip nếu chưa có.

# yum install zip -y

Installed:

zip.x86_64 0:3.0-1.el6_7.1

Tạo file nén .zip

# zip filename.zip filename1 filename2

Trong đó, filename.zip là file zip sẽ được tạo từ việc nén filename1 và filename2.

Nén folder thành 1 file zip

Sử dụng tùy chọn -r để zip nén toàn bộ folder và các file bên trong.

# zip -r test.zip folder1

Tạo file nén ở chế độ yên lặng

Sử dụng tùy chọn -q để tạo file nén ở chế độ yên lặng – quiet, không hiển thị thông tin gì trong quá trình nén.

# zip -rq test.zip folder

Giải nén file .zip

Lệnh giải nén file Zip trên Linux như sau:

# unzip filename.zip

Khi đó, file trong filename.zip sẽ được giải nén vào thư mục hiện tại, file nén vẫn giữ nguyên.

Nếu file đó còn tồn tại ở thư mục giải nén, chương trình sẽ hỏi bạn về các tùy chọn thay thế.

[y]es, [n]o, [A]ll, [N]one, [r]ename

Giải nén ở chế độ yên lặng

Sử dụng tùy chọn -q để giải nén ở chế độ yên lặng – quiet, không hiển thị thông tin gì trong quá trình giải nén.

# unzip -q test.zip

Mong rằng chỉ sau ít phút tham khảo bài hướng dẫn nén, giải nén file Tar, Gzip và Zip trên Linux trên đây sẽ mang lại nhiều kiến thức hữu ích cho bạn đọc.

Bài Viết Liên Quan

Chủ Đề