Istnieje wiele różnych sposobów kompresowania plików za pomocą wiersza poleceń systemu Linux. Ten artykuł zawiera praktyczne przykłady pokazujące, jak używać polecenia zip do kompaktowania i porządkowania plików w systemie plików.
Pliki spakowane są używane, gdy zachodzi potrzeba zaoszczędzenia miejsca i kopiowania dużych plików z jednego miejsca do drugiego.
Jeśli masz 10 plików o rozmiarze 100 megabajtów i musisz je przesłać do witryny ftp, transfer może zająć dużo czasu w zależności od szybkości procesora.
Jeśli skompresujesz wszystkie 10 plików do jednego skompresowanego archiwum, a kompresja zmniejszy rozmiar pliku do 50 MB na plik, musisz przesłać tylko połowę danych.
Jak utworzyć archiwum wszystkich plików w folderze
Wyobraź sobie, że masz w folderze piosenki z następującymi plikami MP3:
| Noc Prowler.mp3 |
| Uwielbiam głodnego człowieka.mp3 |
| Get It Hot.mp3 |
| Spaceruj po was.mp3 |
| Autostrada do piekła.mp3 |
| Jeśli chcesz krwi, masz ją.mp3 |
| Pokaż w płomieniach.mp3 |
| Dotknij za dużo.mp3 |
| Pokonując krzak.mp3 |
| Girls Got Rhythm.mp3 |
To proste polecenie systemu Linux, które ilustruje, jak utworzyć archiwum wszystkich plików w bieżącym folderze o nazwie ACDC_Highway_to_Hell.zip:
zip ACDC_Highway_to_Hell *
Tekst przewija ekrany pokazujące pliki podczas ich dodawania.
Jak dołączyć ukryte pliki do archiwum
Poprzednie polecenie jest w porządku do archiwizowania wszystkich plików w folderze, ale zawiera tylko pliki, które nie są ukryte.
To nie zawsze jest takie proste. Wyobraź sobie, że chcesz spakować swój katalog domowy, aby móc wykonać kopię zapasową na dysku USB lub zewnętrznym dysku twardym. Twój folder domowy zawiera ukryte pliki.
Aby skompresować wszystkie pliki, w tym ukryte pliki w folderze, uruchom następujące polecenie:
zip home *. *
Spowoduje to utworzenie pliku o nazwie home.zip z wszystkimi plikami w folderze domowym.
(Musisz być w folderze domowym, aby to zadziałało). Problem z tym poleceniem polega na tym, że zawiera on tylko pliki w folderze macierzystym, a nie foldery, które przenosi nas do następnego przykładu.
Jak zarchiwizować wszystkie pliki i podfoldery w pliku ZIP
Aby uwzględnić wszystkie pliki i podfoldery w archiwum, uruchom następujące polecenie:
zip -r home.
Jak dodać nowe pliki do istniejącego skompresowanego archiwum
Jeśli chcesz dodać nowe pliki do istniejącego archiwum lub zaktualizować pliki w archiwum, użyj tej samej nazwy pliku archiwum, gdy uruchomisz polecenie zip.
Na przykład wyobraź sobie, że masz folder muzyczny z czterema albumami i tworzysz archiwum o nazwie music.zip, aby zachować kopię zapasową. Teraz wyobraź sobie, że tydzień później pobierzesz dwa nowe albumy. Aby dodać nowe albumy do pliku zip, po prostu uruchom tę samą komendę zip, co w poprzednim tygodniu.
Aby utworzyć oryginalne archiwum muzyczne, uruchom następujący kod:
zip -r muzyka / home / twoja nazwa / muzyka /
Aby dodać nowe pliki do archiwum, ponownie uruchom to samo polecenie.
Jeśli plik zip ma listę plików w nim zawartych i jeden z plików na dysku został zmieniony, to zmieniony plik jest aktualizowany w pliku zip.
Jak zaktualizować istniejące pliki w spakowanym archiwum
Jeśli masz plik ZIP, który powinien zawierać te same nazwy plików za każdym razem i chcesz zaktualizować ten plik o wszelkie zmiany, które zostały wprowadzone do tych plików, to -fa przełącznik pomaga to zrobić.
Na przykład wyobraź sobie, że masz spakowany plik z następującymi plikami:
| / home / yourname / documents / file1 |
| / home / yourname / documents / file2 |
| / home / yourname / documents / file3 |
| / home / yourname / documents / file4 |
| / home / yourname / documents / file5 |
| / home / yourname / documents / file6 |
Teraz wyobraź sobie, że w ciągu tygodnia dodałeś dwa nowe pliki i zmieniono dwa pliki, dzięki czemu folder / home / yourname / documents wygląda teraz tak:
| / home / yourname / documents / file1 |
| / home / yourname / documents / file2 |
| / home / yourname / documents / file3 |
| / home / yourname / documents / file4 (updated) |
| / home / yourname / documents / file5 (updated) |
| / home / yourname / documents / file6 |
| / home / yourname / documents / file7 |
| / home / yourname / documents / file8 |
Po uruchomieniu następującego polecenia plik zip będzie zawierał zaktualizowane pliki (plik 4 i plik5), ale plik 7 i plik 8 nie zostaną dodane.
zip nazwa_zip -f -r / home / Twoja nazwa / dokumenty
Jak usunąć pliki ze spakowanego archiwum
Stworzyłeś więc masywny plik zip z setkami plików i teraz zdajesz sobie sprawę, że w pliku zip są cztery lub pięć plików, których tam nie potrzebujesz. Bez konieczności ponownego archiwizowania wszystkich plików, możesz po prostu uruchomić polecenie zip za pomocą -re przełączać w następujący sposób:
zip zipfilename -d nazwa pliku w archiwum
Na przykład, jeśli masz plik w archiwum o nazwie home / documents / test.txt, usuń go za pomocą tego polecenia:
zip nazwa-pliku zip -d home / documents / test.txt
Jak kopiować pliki z jednego pliku zip do drugiego
Jeśli masz pliki w jednym pliku zip i chcesz skopiować je do innego pliku zip bez wcześniejszego rozpakowywania i ponownego załączenia, użyj -u przełącznik.
Załóżmy, że masz plik zip o nazwie "variousmusic.zip" z muzyką różnych artystów, z których jeden to AC / DC. Możesz skopiować utwory AC / DC z pliku variousmusic.zip do pliku ACDC.zip, używając następującej komendy:
zip variousmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"
Powyższe polecenie kopiuje plik "Back_In_Black.mp3" z differentmusic.zip na ACDC.zip.Jeśli plik ZIP, do którego kopiujesz, nie istnieje, zostanie utworzony.
Jak korzystać z dopasowywania wzorców i orurowania w celu utworzenia archiwum
Następny przełącznik jest bardzo przydatny, ponieważ pozwala na użycie innych poleceń do wstawiania plików do pliku zip. Załóżmy, że chcesz utworzyć plik o nazwie lovesongs.zip, który zawiera każdą piosenkę, która zawiera słowo love w tytule.
Aby znaleźć pliki z miłością w tytule, możesz użyć następującego polecenia:
znajdź / home / yourname / Music -name * love *
Powyższe polecenie nie jest w 100% doskonałe, ponieważ odbiera takie słowa, jak "koniczyna", ale masz pomysł. Aby dodać wszystkie zwrócone wyniki z powyższego polecenia do pliku zip o nazwie lovesongs.zip, uruchom poniższe polecenie:
znajdź / home / yourname / Music -name * love * | zip lovesongs.zip - @
Jak utworzyć podzielone archiwum
Jeśli tworzysz kopię zapasową komputera, ale jedynym nośnikiem, na którym można wykonać kopię zapasową, jest zestaw pustych dysków DVD, to masz wybór. Możesz przechowywać pliki ZIP, dopóki plik ZIP nie będzie miał 4,8 gigabajta i nagrać dysk DVD, lub możesz utworzyć coś, co nazywa się archiwum dzielonym, które tworzy nowe archiwa w zestawie po osiągnięciu określonego limitu.
Na przykład:
zip mymusic.zip -r / home / myfolder / Music -s 670m
Jak dostosować raport postępu procesu Zipping
Istnieją różne sposoby dostosowywania wyników wyświetlanych podczas wykonywania zip.
Dostępne przełączniki są następujące:
- -db = wyświetla, ile bajtów zostało spakowanych i ile jeszcze zostało do zrobienia
- -dc = wyświetla liczbę zip skompresowanych plików i liczbę pozostałych
- -dd = wyświetla kropki na każde 10 MB pliku spakowanego
- -ds = określa częstotliwość wyświetlania kropek
- -du = wyświetla nieskompresowany rozmiar każdego pliku
Na przykład:
zip myzipfilename.zip -dc -r / home / music
Jak naprawić plik ZIP
Jeśli masz zepsute archiwum zip, możesz spróbować naprawić je za pomocą -FA polecenie, a jeśli to się nie powiedzie, to FF dowództwo.
Jest to użyteczne, jeśli utworzyłeś archiwum dzielone używając -s przełączyć i zgubiłeś jeden z plików archiwum.
Na przykład spróbuj najpierw:
zip -F myfilename.zip --out myfixedfilename.zip
i wtedy
zip -FF myfilename.zip --out myfixedfilename.zip
Jak zaszyfrować archiwum
Jeśli masz poufne informacje, które chcesz przechowywać w pliku zip, użyj -mi polecenie do szyfrowania. Zostaniesz poproszony o podanie hasła i powtórzenie hasła.
Na przykład:
zip myfilename.zip -r / home / wikileaks -e
Jak pokazać, co zostanie spakowane
Jeśli wiesz, że zamierzasz utworzyć duże archiwum, upewnij się, że odpowiednie pliki zostaną dodane do pliku zip. Możesz zobaczyć oczekiwane wyniki polecenia zip, określając znak -sf przełącznik.
Na przykład:
zip myfilename.zip -r / home / music / -sf
Jak przetestować archiwum
Po utworzeniu kopii zapasowej plików w pliku zip kuszące jest oszczędzanie miejsca na dysku poprzez usunięcie oryginalnych plików. Zanim to zrobisz, dobrze jest przetestować plik zip działa poprawnie.
Możesz użyć -T przełącz, aby sprawdzić, czy plik zip jest prawidłowy.
Na przykład:
zip myfilename.zip -T
Wynik tego polecenia, gdy archiwum jest nieprawidłowe, może wyglądać mniej więcej tak:
- zip ostrzeżenie: brak podpisu końcowego - prawdopodobnie nie jest to plik zip
Pamiętaj, możesz spróbować użyć polecenia -F, aby naprawić uszkodzone pliki zip.
Warto zauważyć, że -T może generować fałszywe alarmy, ponieważ mówi, że plik zip jest uszkodzony, nawet jeśli go otworzysz, możesz wyodrębnić wszystkie pliki.
Jak wykluczyć pliki
Czasami chcesz wykluczyć określone pliki z pliku zip. Na przykład, jeśli skopiujesz pliki z telefonu lub aparatu cyfrowego, masz mieszankę filmów i zdjęć. Możesz spakować zdjęcia do photos.zip i filmów do video.zip.
Oto jeden ze sposobów na wykluczenie filmów podczas tworzenia pliku photos.zip
zip photos.zip -r / home / photos / -x * .mp4
Jak określić poziom kompresji
Gdy kompresujesz pliki do pliku zip, system decyduje, czy skompresować plik, czy po prostu zapisać. Pliki MP3 na przykład są już skompresowane, więc nie ma sensu ich kompresować; zwykle są przechowywane tak, jak w pliku zip.
Można jednak określić poziom kompresji między 0 a 9, aby skompresować plik dalej. To zajmuje więcej czasu, ale może przynieść znaczną oszczędność miejsca.
zip myfiles.zip -r / home -5




