Ví dụ thực tế của lệnh Zip

Có rất nhiều thứ bạn có thể làm với lệnh zip Linux

Có một số cách khác nhau để nén tệp bằng dòng lệnh Linux . Bài viết này bao gồm các ví dụ thực tế cho thấy cách sử dụng lệnh zip để nén và sắp xếp các tệp trong hệ thống tệp của bạn.

Các tệp nén được sử dụng khi bạn cần tiết kiệm dung lượng và sao chép các tệp lớn từ nơi này sang nơi khác.

Nếu bạn có 10 tệp có kích thước 100 megabyte và bạn cần chuyển chúng sang trang ftp , quá trình chuyển có thể mất một lượng thời gian đáng kể tùy thuộc vào tốc độ xử lý của bạn.

Nếu bạn nén tất cả 10 tệp vào một kho lưu trữ nén và nén sẽ giảm kích thước tệp xuống 50MB cho mỗi tệp thì bạn chỉ phải chuyển một nửa số lượng dữ liệu.

Làm thế nào để tạo một kho lưu trữ của tất cả các tập tin trong một thư mục

Hãy tưởng tượng bạn có một thư mục các bài hát với các tệp MP3 sau trong đó:

Đường cao tốc AC / DC đến địa ngục
Đêm Prowler.mp3
Love hungry man.mp3
Get It Hot.mp3
Đi khắp mọi nơi.mp3
Highway to hell.mp3
Nếu bạn muốn máu bạn có nó.mp3
Hiển thị trong flames.mp3
Chạm vào quá nhiều.mp3
Đánh bại xung quanh bush.mp3
Girls Got Rhythm.mp3

Lệnh Linux đơn giản này minh họa cách tạo một tệp lưu trữ của tất cả các tệp trong thư mục hiện tại có tên ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

Văn bản cuộn lên màn hình hiển thị các tệp khi chúng đang được thêm vào.

Cách để Bao gồm Tệp Ẩn trong Lưu trữ

Lệnh trước đó là tốt để lưu trữ tất cả các tệp trong một thư mục nhưng nó chỉ bao gồm các tệp không bị ẩn.

Nó không phải luôn luôn đơn giản như vậy. Hãy tưởng tượng bạn muốn nén thư mục gốc của bạn để bạn có thể sao lưu nó vào một ổ đĩa USB hoặc ổ cứng gắn ngoài . Thư mục chính của bạn bao gồm các tệp ẩn.

Để nén tất cả các tệp bao gồm các tệp ẩn trong một thư mục, hãy chạy lệnh sau:

zip nhà *. *

Điều này tạo ra một tập tin gọi là home.zip với tất cả các tập tin trong thư mục chủ.

(Bạn phải ở trong thư mục chính để làm việc này). Vấn đề với lệnh này là nó chỉ bao gồm các tệp trong thư mục chính chứ không phải các thư mục, đưa chúng ta đến ví dụ tiếp theo.

Làm thế nào để lưu trữ tất cả các tập tin và thư mục con trong một tập tin Zip

Để bao gồm tất cả các tệp và cặp con trong một tệp lưu trữ, hãy chạy lệnh sau:

zip -r nhà.

Cách thêm tệp mới vào kho lưu trữ đã nén hiện có

Nếu bạn muốn thêm tệp mới vào kho lưu trữ hiện có hoặc cập nhật tệp trong lưu trữ, hãy sử dụng cùng tên cho tệp lưu trữ khi chạy lệnh zip.

Ví dụ, hãy tưởng tượng bạn có một thư mục nhạc với bốn album trong đó và bạn tạo một tệp lưu trữ có tên music.zip để giữ làm bản sao lưu. Bây giờ hãy tưởng tượng một tuần sau, bạn tải xuống hai album mới . Để thêm album mới vào tệp zip, chỉ cần chạy cùng một lệnh zip giống như bạn đã làm trong tuần trước.

Để tạo kho lưu trữ nhạc gốc, hãy chạy đoạn mã sau:

zip -r nhạc / home / yourname / music /

Để thêm tệp mới vào kho lưu trữ, hãy chạy lại lệnh đó.

Nếu tệp zip có danh sách tệp trong đó và một trong các tệp trên đĩa đã thay đổi, thì tệp được sửa đổi sẽ được cập nhật trong tệp zip.

Cách cập nhật các tệp hiện có trong kho lưu trữ đã nén

Nếu bạn có tệp zip được cho là chứa cùng tên tệp mỗi lần và bạn muốn cập nhật tệp đó với bất kỳ thay đổi nào đã được thực hiện đối với các tệp đó thì chuyển đổi -f sẽ giúp bạn thực hiện việc này.

Ví dụ, hãy tưởng tượng bạn có một tệp nén với các tệp sau:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4
/ home / yourname / documents / file5
/ home / yourname / documents / file6

Bây giờ hãy tưởng tượng rằng trong tuần bạn thêm hai tập tin mới và sửa đổi hai tập tin để các thư mục / home / yourname / tài liệu bây giờ trông như thế này:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4 (cập nhật)
/ home / yourname / documents / file5 (cập nhật)
/ home / yourname / documents / file6
/ home / yourname / documents / file7
/ home / yourname / documents / file8

Khi bạn chạy lệnh sau, tệp zip sẽ chứa các tệp được cập nhật (tệp4 và tệp5) nhưng tệp7 và file8 sẽ không được thêm vào.

zip zipfilename -f -r / home / tên / tài liệu của bạn

Làm thế nào để xóa tập tin từ một kho lưu trữ nén

Vì vậy, bạn đã tạo một tệp zip lớn với hàng trăm tệp và bây giờ nhận ra rằng có bốn hoặc năm tệp trong tệp zip mà bạn không cần ở đó. Không cần phải nén tất cả các tệp đó một lần nữa, bạn chỉ có thể chạy lệnh zip bằng công tắc -d như sau:

zip zipfilename -d [tên của tệp trong kho lưu trữ]

Ví dụ, nếu bạn có một tập tin trong kho lưu trữ với tên home / documents / test.txt, bạn xóa nó bằng lệnh này:

zip zipfilename -d home / documents / test.txt

Làm thế nào để sao chép tập tin từ một tập tin Zip khác

Nếu bạn có tệp trong một tệp zip và bạn muốn sao chép chúng vào một tệp zip khác mà không cần giải nén chúng trước và bổ sung chúng, hãy sử dụng nút chuyển đổi -u .

Giả sử bạn có một tệp zip có tên "variousmusic.zip" với nhạc từ nhiều nghệ sĩ khác nhau, một trong số đó là AC / DC. Bạn có thể sao chép các bài hát AC / DC ra khỏi tệp variousmusic.zip vào tệp ACDC.zip của bạn bằng cách sử dụng lệnh sau:

zip variousmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

Lệnh trên sao chép tệp "Back in black" từ tệp differmusic.zip sang ACDC.zip. Nếu tệp zip bạn đang sao chép không tồn tại, nó sẽ được tạo.

Cách sử dụng Pattern Matching và Piping để tạo một bản lưu trữ

Công tắc tiếp theo thực sự hữu ích vì nó cho phép bạn sử dụng đầu ra của các lệnh khác để chèn tệp vào tệp zip của bạn. Giả sử bạn muốn tạo một tệp có tên là lovesongs.zip, chứa tất cả các bài hát có từ tình yêu trong tiêu đề.

Để tìm các tệp có tình yêu trong tiêu đề, bạn có thể sử dụng lệnh sau:

tìm / home / yourname / Music -name * tình yêu *

Lệnh trên không hoàn hảo 100% vì nó cũng chọn những từ như "clover", nhưng bạn có ý tưởng. Để thêm tất cả các kết quả trả về từ lệnh trên vào một tệp zip có tên là lovesongs.zip, hãy chạy lệnh sau:

tìm / home / yourname / Music -name * tình yêu * | zip lovesongs.zip - @

Làm thế nào để tạo một kho lưu trữ Split

Nếu bạn đang sao lưu máy tính của mình nhưng phương tiện duy nhất bạn có sẵn để sao lưu là một tập hợp các đĩa DVD trắng , thì bạn có lựa chọn. Bạn có thể giữ các tệp nén cho đến khi tệp nén là 4,8 gigabyte và ghi đĩa DVD hoặc bạn có thể tạo một tệp được gọi là tệp lưu trữ được chia để lưu trữ mới trong bộ sau khi đạt đến giới hạn mà bạn chỉ định.

Ví dụ:

zip mymusic.zip -r / home / myfolder / Âm nhạc -s 670m

Làm thế nào để tùy chỉnh báo cáo tiến độ của quá trình nén

Có nhiều cách khác nhau để tùy chỉnh đầu ra xuất hiện trong khi quá trình nén đang diễn ra.

Các công tắc có sẵn như sau:

Ví dụ:

zip myzipfilename.zip -dc -r / home / nhạc

Cách sửa tệp zip

Nếu bạn có một kho lưu trữ zip bị hỏng, bạn có thể thử và sửa nó bằng lệnh -F và nếu điều đó không thành công, lệnh FF .

Điều này rất hữu ích nếu bạn đã tạo một kho lưu trữ chia nhỏ bằng cách sử dụng chuyển đổi -s và bạn đã mất một trong các tệp lưu trữ.

Ví dụ: thử cái này trước:

zip -F myfilename.zip --out myfixedfilename.zip

và sau đó

zip -FF myfilename.zip --out myfixedfilename.zip

Cách mã hóa lưu trữ

Nếu bạn có thông tin nhạy cảm mà bạn muốn lưu trữ trong một tệp zip, hãy sử dụng lệnh -e để mã hóa nó. Bạn được yêu cầu nhập mật khẩu và lặp lại mật khẩu.

Ví dụ:

zip myfilename.zip -r / home / wikileaks -e

Làm thế nào để hiển thị những gì sẽ được nén

Nếu bạn biết bạn sẽ tạo một kho lưu trữ lớn, hãy đảm bảo rằng các tệp chính xác sẽ được thêm vào tệp zip. Bạn có thể thấy kết quả mong đợi của một lệnh zip bằng cách chỉ định chuyển đổi - sf .

Ví dụ:

zip myfilename.zip -r / home / music / -sf

Cách kiểm tra bản lưu trữ

Sau khi sao lưu các tập tin vào một tập tin nén, bạn có thể tiết kiệm dung lượng đĩa bằng cách xóa các tập tin gốc. Trước khi bạn làm điều đó, bạn nên kiểm tra tệp zip hoạt động đúng cách.

Bạn có thể sử dụng công tắc -T để kiểm tra xem tệp zip có hợp lệ không.

Ví dụ:

zip myfilename.zip -T

Đầu ra từ lệnh này khi lưu trữ không hợp lệ có thể trông giống như sau:

Hãy nhớ rằng bạn có thể thử lệnh -F để sửa các tệp zip bị hỏng.

Nó là đáng chú ý rằng -T có thể sản xuất tích cực sai ở chỗ nó nói rằng một tập tin zip bị hỏng mặc dù khi bạn mở nó, bạn có thể trích xuất tất cả các tập tin.

Cách loại trừ tệp

Đôi khi bạn muốn loại trừ một số tệp nhất định khỏi tệp zip. Ví dụ: nếu bạn sao chép các tệp từ điện thoại hoặc máy ảnh kỹ thuật số, bạn có hỗn hợp video và hình ảnh. Bạn có thể muốn nén ảnh lên photos.zip và video thành videos.zip.

Dưới đây là một cách để loại trừ video khi tạo ảnh.zip

zip photos.zip -r / home / photos / -x * .mp4

Cách xác định mức độ nén

Khi bạn nén tệp vào tệp zip, hệ thống sẽ quyết định có nên nén tệp hay chỉ lưu trữ tệp đó. Các tệp Mp3, ví dụ, đã được nén, do đó, có rất ít điểm trong việc nén chúng hơn nữa; chúng thường được lưu trữ như trong một tệp zip.

Tuy nhiên, bạn có thể chỉ định mức nén từ 0 đến 9 để nén thêm tệp. Việc này mất nhiều thời gian hơn, nhưng nó có thể tiết kiệm không gian đáng kể.

zip myfiles.zip -r / home -5