7-Zip Przykłady z wiersza poleceń

Ten poradnik pokazuje 7-Zip w wierszu poleceń. Kompresuj, rozpakowuj, archiwizuj i optymalizuj za pomocą programu 7za.exe.

7-Zip to skuteczny program do kompresji.

Program 7za.exe jest używany do kompresji, rozpakowywania i aktualizacji plików z wiersza poleceń. Zapewnia on doskonałą kompresję. Jest to program typu open-source. To czyni go łatwym do uzyskania i użycia.

Rozpoczęcie. Najpierw musisz pobrać plik wykonywalny wiersza poleceń 7-Zip, 7za.exe. To jest exe, którego będziesz używał do uruchamiania poleceń na archiwach. Proszę wejść na stronę 7-zip.org i pobrać wersję wiersza poleceń.

Wskazówka: Dla wygody i abyś nie musiał zmieniać ścieżek środowiskowych, umieść plik 7za.exe w swoim katalogu użytkownika.

Następnie: Otwórz konsolę systemu Windows i przetestuj program 7za.exe za pomocą kilku poleceń. Wpisz nazwę exe 7za i to się wyświetli.

7-Zip default output7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Usage: 7za <command> <archive_name> 

Widzimy gramatykę, której musimy użyć z 7za.exe. Polecenie” jest głównym czasownikiem. Następnie określamy opcjonalne przełączniki, nazwę archiwum (źródłowego lub docelowego) oraz pliki. Mój katalog użytkownika to „C:\Users\Sam\”.

Komenda a. Możesz użyć komendy „a” z pojedynczą literą a. Ta komenda oznacza „archiwizuj” lub „dodaj”. Użyj go, aby umieścić pliki w archiwum. Musisz określić archiwum docelowe oraz pliki źródłowe (w tej kolejności).

W systemie testowym katalog C:\Users\Sam zawiera dwa pliki (file1.txt i file2.txt). Polecenie umieszcza te dwa pliki w archiwum i trzeba je wpisać w wierszu poleceń.

C:\Users\Sam>7za a -t7z files.7z *.txt7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19ScanningCreating archive files.7zCompressing file1.txtCompressing file2.txtEverything is OkC:\Users\Sam>

Porada: Aby otworzyć archiwum, kliknij na nim prawym przyciskiem myszy i wybierz 7-Zip -> Otwórz archiwum. Na zrzucie ekranu widać pliki skompresowane w files.7z.

Komenda d. Tutaj widzimy przykład komendy „d” w liniach poleceń 7-Zip. Jest to skrót od „delete” i jest używane znacznie rzadziej. Pozwala usunąć określony plik (lub zestaw plików) z wnętrza archiwum.

Uwaga: Będziesz potrzebował tego polecenia, jeśli używasz ogromnych archiwów i chcesz zaoszczędzić czas. To jest z podręcznika.

7z d archive.zip *.bak -r7z: use executabled: delete filesarchive.zip: delete from this archive*.bak: only match bak files-r: traverse all subdirectories

Porada: Możesz również usunąć pojedynczy plik z archiwum za pomocą „d”. Jest to bardziej przydatne, gdy nie masz solidnego archiwum.

Komenda e. Tutaj używamy komendy „e” w oknie konsoli. Znak „e” oznacza extract, czyli rozpakowanie lub rozszerzenie archiwum. Zawsze musisz podać archiwum źródłowe i możesz również określić miejsce docelowe.

Info: Polecenie „e” rozpakowuje wszystko do podanego katalogu. Inna komenda „x” może zachować strukturę katalogów w archiwach.

7z e archive.zip7z: executablee: use extract commandarchive.zip: source archive you want to expand

Overwrite prompts: 7-Zip zawsze wyświetli monit, jeśli istnieje plik, który musi nadpisać, aby wyodrębnić nowy plik.

Jednakże: Może to być problematyczne, jeśli skryptujesz lub osadzasz 7za.exe. W takim przypadku, zobacz przełącznik -y.

Komenda l. Używamy następnie jednoliterowej komendy „l” (mała litera ell). Mała litera L jest używana do listowania zawartości archiwów i prawdopodobnie nie będziesz musiał jej często używać. Pomyślałem, że przetestuję je i pokażę przykład.

Następnie: To pokazuje listing archiwum stałego. Oryginały mają 27216 bajtów i 3888 bajtów. Kompresują się do 1030 bajtów.

C:\Users\Sam>7za l files.7z7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Listing archive: files.7zMethod = LZMASolid = +Blocks = 1Physical Size = 1202Headers Size = 172 Date Time Attr Size Compressed Name------------------- ----- ------------ ------------ ------------------------2008-10-02 15:48:01 ....A 27216 1030 file1.txt2008-10-02 15:47:45 ....A 3888 file2.txt------------------- ----- ------------ ------------ ------------------------ 31104 1030 2 files, 0 folders

Komenda t. Tutaj używamy komendy „t” w programie 7z. Polecenie to pozwala na testowanie integralności archiwów. Jest to skrót od „test” i jest znacznie mniej użyteczne niż przełącznik „-t”. Nie należy mylić tych dwóch poleceń. Ta jest używana do diagnostyki.

7z t archive.zip *.doc -r7z: use this executablet: test the specified archivearchive.zip: the archive you want to test*.doc: test all these files in the archive-r: recurse all child directories

Komenda u. Komenda „u” w 7-Zip oznacza update. Jest to przydatne polecenie i jest świetne, gdy chcesz zastąpić stare pliki w swoim archiwum nowszymi. Zapobiega to konieczności dekompresji i ponownej kompresji całego archiwum.

7z u archive.zip *.doc7z: executable nameu: update commandarchive.zip: archive you want to update files in*.doc: only update these files (Word documents)

Ostrzeżenie: Polecenie „u” nie działa z archiwami stałymi. Archiwum stałe to takie, w którym wszystkie pliki są skompresowane razem.

Więc: Nie można aktualizować określonych plików w archiwach stałych za pomocą polecenia „u”. Archiwa stałe są ograniczone.

Przełącznik m. Możemy zmienić ustawienia optymalizacji w 7-Zip w linii poleceń. Jest to najważniejsza i najbardziej przydatna opcja, której możesz użyć. Określa ona metodę kompresji. Tutaj pokażę garść opcji, a także kilka przykładów.

Poziomy kompresji

Compression levelsSwitch -mx0: Don't compress at all. This is called "copy mode."Switch -mx1: Low compression. This is called "fastest" mode.Switch -mx3: Fast compression mode. Will automatically set various parameters.Switch -mx5: Same as above, but "normal."Switch -mx7: This means "maximum" compression.Switch -mx9: This means "ultra" compression. You probably want to use this.

Przełącznik m, zaawansowany. Tutaj są zaawansowane przełączniki metody kompresji (-m). Pierwsze trzy mają zwykle ograniczone zastosowanie, ale możesz odnieść korzyść z podrasowania ich. Z mojego doświadczenia wynika, że ręczne optymalizacje tych opcji nie przynoszą dużych korzyści.

Przełącznik -mfb: Określa liczbę szybkich bajtów. Czasami pomaga w przypadku „rzadkich” plików. Nie zawracaj sobie tym głowy.

Przełącznik -mpass: Liczba przebiegów dla kompresji deflate. Nie zawracaj sobie tym głowy. Automatycznie ustawiana za pomocą poziomów.

Przełącznik -md: Określa rozmiar słownika. Jest on ustawiany automatycznie, więc nie zawracaj sobie tym głowy.

Przełącznik -mmt: Włącz wielowątkowość. Użyj, jeśli masz czterordzeniowy procesor i ogromne archiwum. Określ „on” lub „off”. Może to być domyślnie włączone.

Command x. To polecenie jest jak „e”, z wyjątkiem tego, że zachowuje pełne ścieżki. Jeśli masz rozbudowaną lub ważną strukturę katalogów, użyj tej opcji. Byłoby to najbardziej przydatne przy tworzeniu kopii zapasowych systemu lub naprawdę dużych kopii zapasowych. Oto przykładowa składnia.

7z x archive.zip7z: executable namex: use the extract commandarchive.zip: the archive you want to extract all the files from

Przełącz typ t. Tutaj pokazuję, jak dokładnie określić typ archiwum, które chcesz utworzyć. Zauważ, że możesz podać dowolną nazwę pliku dla każdego typu. Ale niektóre rozszerzenia są zalecane – są standardowe.

Type switches Switch: -t7z Format: 7ZExample filename: archive.7z (default option) Switch: -tgzip Format: GZIPExample filename: archive.gzip, archive.gz Switch: -tzip Format: ZIPExample filename: archive.zip (compatible) Switch: -tbzip2 Format: BZIP2Example filename: archive.bzip2 Switch: -ttar Format: TARExample filename: tarball.tar (UNIX and Linux) Switch: -tiso Format: ISOExample filename: image.iso (may not be supported) Switch: -tudf Format: UDFExample filename: disk.udf

Podręcznik 7-Zip zawiera również kilka użytecznych przykładów przełączania typów. Pokazuje przełączniki -tiso i -tudf. Nie są one najbardziej powszechne. Prawie wszystkie przykłady w tym dokumencie używają przełączników -t.

7z a -tiso archive.iso7z a -tudf archive.udf7z: executable namea: add to archive-tiso or -tudf: format of archive to createarchive.iso or archive.udf: name of archive to create

Solidne archiwa. 7z to jedyny format pliku w 7-Zip, w którym można określić, czy archiwum jest stałe, czy nie. Jednolite oznacza, że wszystkie pliki są skompresowane jako jeden. Uniemożliwia to użycie polecenia „u” do aktualizacji poszczególnych plików.

Switch -ms=on: Włącz tryb lity. Jest to wartość domyślna, więc nie będziesz często potrzebował jej podawać.

Przełącznik -ms=off: Wyłączenie trybu stałego. Przydatne, gdy musisz aktualizować poszczególne pliki. Zmniejszy współczynnik kompresji w normalnych warunkach.

7z archiwów. Możesz zmienić wiele wartości i przełączników w archiwach 7z, z nieskończoną ilością permutacji. Niektóre rzeczy, które możesz zmienić to rozmiary słowników, wartości FastBytes, wartości MatchFinder i filtry. Zazwyczaj nie musisz się tym zajmować.

PPMd. W formacie 7z, możesz określić algorytm. PPMd jest szybki i skuteczny do kompresji plików tekstowych. Jest idealny dla dużych zbiorów dokumentów Worda. PPMd nie działa tak dobrze na plikach zawierających dane binarne.

PPMd przełącza -mmem=24b, -mmem=24k, -mmem=24m: Te kontrolują ilość pamięci, której używasz. Są one użyteczne, a wyższa wartość jest zwykle lepsza.

PPMd switch -mo=2, -mo=32: Określają one kolejność modeli w PPMd. Nie są one zwykle użyteczne.

Kiedy powinienem używać PPMd? Powinieneś używać PPMd, gdy masz duży korpus tekstu (ciało). Może on zawierać HTML lub inne formatowania, ale zwykły tekst powinien dominować. Może on poprawić współczynniki o około 30% na niektórych zbiorach danych.

Przykładowe komendy. Tutaj pokazuję przykładowe komendy kompresji z podręcznika 7-Zip. Zademonstrowałem proste na początku tego dokumentu. Te są bardziej złożone. Używamy więcej funkcji linii poleceń 7-Zip.

7z a -tzip archive.zip *.jpg -mx07z: name of executablea: add to archive command-tzip: specify a ZIP archive (useful for compatibility)archive.zip: destination archive*.jpg: only add jpg files to archive-mx0: don't compress, just copy useful for already-compressed files

Przykład formatu 7z. Kolejna linia poleceń pokazuje jak utworzyć solidne archiwum 7z z plikami programu (plikami wykonywalnymi). Wykorzystuje ona tryb wielowątkowy, co oznacza, że będzie działać szybko na dwurdzeniowej maszynie.

7z a -t7z archive.7z *.exe *.dll -ms -mmt7z: name of executablea: archive command specified-t7z: use 7z file type (less compatible and smaller results)archive.7z: destination archive file*.exe: include all *.exe files in directory in new archive*.dll: include all *.dll files in new archive-ms: create solid archive (default)-mmt: multithread the operation (faster)

Twórz archiwum PPMd. PPMd jest niezwykłym algorytmem do kompresji tekstu i jest stosunkowo nowy. Tutaj pokazuję polecenie z podręcznika 7-Zip, które kompresuje wszystkie pliki tekstowe w katalogu roboczym. Tworzy ono archiwum PPMd.

Wskazówka: Polecenie jest przydatne, ponieważ zazwyczaj będziesz chciał kompresować tylko pliki tekstowe za pomocą PPMd.

Kompresja PPMd

7z a -t7z archive.7z *.txt -m0=PPMd7z: executable name/patha: add command specified-t7z: use the 7z format (needed for PPMd)archive.7z: destination archive file*.txt: select all text files-mo=PPMd: compress with this algorithm

Przełącznik o. Pokazujemy przełącznik „o” w wierszu poleceń 7-Zip. Czasami nie chcesz rozpakowywać do bieżącego katalogu. To jest, gdzie -o może się przydać. Użyj tego, aby ustawić katalog docelowy.

7z x archive.zip -oC:\Doc7z: executable namex: extract archive with paths intactarchive.zip: archive to extract files from-oC:\Doc: extract all files to the Doc folder on the C: drive

Przełącznik p. Możemy użyć przełącznika „-p”, który odnosi się do słowa „hasło”. Jest to naprawdę pomocne, gdy w grę wchodzi bezpieczeństwo i szyfrowanie. Możesz określić hasło w wierszu poleceń. Składnia jest trochę dziwna.

7za a pw.7z *.txt -pSECRET7za: name and path of 7-Zip executablea: add to archivepw.7z: name of destination archive*.txt: add all text files to destination archive-pSECRET: specify the password "SECRET"

Otwieranie archiwów chronionych hasłem. To kolejne wyjście konsoli pokazuje, co się dzieje, gdy próbujesz otworzyć archiwum chronione hasłem. Hasło tutaj to SECRET, co pozwoli na rozpakowanie archiwum.

C:\Users\Sam>7za x pw.7z7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Processing archive: pw.7zEnter password:

Szyfrowanie nagłówków: Dodaj -mhe, aby zaszyfrować nagłówki. Polecenie password automatycznie poradzi sobie z zaszyfrowanymi nagłówkami.

Wskazówka: Pamiętaj, że zaszyfrowane nagłówki ukryją nazwy plików w twoim archiwum.

Więcej przełączników. Tutaj przyjrzymy się bliżej kolejnym przełącznikom, które mają ograniczone zastosowanie. Warto je jednak znać, jeśli kiedykolwiek będziesz musiał ich użyć. Zazwyczaj można to zrobić lepiej, używając domyślnych ustawień, które są lekko dostosowane do twoich potrzeb.

Przełącznik -ssc: Określa tryb rozróżniania wielkości liter. Domyślnie jest -ssc- w Windows (niewrażliwy). Domyślnie -scc w Linuksie (wrażliwa).

Przełącznik -ssw: Kompresja zablokowanych plików. Możesz to wypróbować, jeśli masz problemy z otwieraniem plików.

Przełącznik -w: Ustaw katalog roboczy. Możesz tego użyć, gdy chcesz określić foldery tymczasowe.

Wrażliwość na wielkość liter. Możemy używać nazw plików bez rozróżniania wielkości liter w wierszu poleceń 7-Zip. Dla tych z was, którzy używają zarówno Linuksa jak i Windowsa, opcja rozróżniania wielkości liter jest przydatna. Pokażę tutaj mój własny przykład z pewnym wyjaśnieniem.

7za.exe a archive.7z Z*.* -ssc7za.exe: 7-Zip command-line executable path and namea: archive commandarchive.7z: add files to this target archiveZ*.*: select only files whose first letter is a capital Z

Przełącznik v. Możesz użyć przełącznika „v” w wierszu poleceń. W kompresji danych wolumin jest segmentem zestawu danych, który ma określoną liczbę bajtów długości. Przełącznik woluminu określa dokładny rozmiar w bajtach, kilobajtach lub megabajtach.

Also: Woluminy sekwencyjne można określić za pomocą przełącznika „v” w wierszu poleceń programu 7za.exe.

Przełącznik ao. Przełącznik „ao” pozwala określić, czy chcesz nadpisać stare pliki. Należy uważać – nie można normalnie przywrócić nadpisanego pliku. Pobiera on jeszcze jeden argument. Wykonaj kopię zapasową danych, kopiując najpierw pliki w menedżerze plików.

Przełącznik -aoa: Ten przełącznik nadpisuje wszystkie pliki docelowe. Użyj go, gdy preferowane są nowe wersje.

Przełącznik -aos: Pomija istniejące pliki bez nadpisywania. Użyj tego dla plików, gdzie najwcześniejsza wersja jest najważniejsza.

Przełącznik -aou: Unikaj kolizji nazw. Nowe wyodrębnione pliki będą miały numer dołączony do ich nazw. Będziesz musiał sobie z nimi poradzić później.

Przełącznik -aot: Zmień nazwy istniejących plików. To nie zmieni nazwy nowych plików, tylko starych, które już tam są.

Example of the switches7z x test.zip -aoa7z: use the 7-zip executablex: use the extract commandtest.zip: extract files from this archive-aoa: overwrite all existing files. risky!

Wielokrotne pliki. Ta sekcja dotyczy dodawania wielu plików do archiwum. Aby dodać wiele plików do jednego archiwum, należy użyć polecenia „a” i symbolu wieloznacznego *. Należy podać nazwę docelowego pliku archiwum, a następnie plików źródłowych.

Porada: Przeczytaj więcej w sekcji dotyczącej polecenia „a”, znajdującej się w poprzedniej części tej strony.

Jak dodać wiele plików z określonym rozszerzeniem? Użyj polecenia „a” i symbolu wieloznacznego *, ale podaj rozszerzenie po symbolu wieloznacznym. Na przykład, *.txt oznacza wszystkie pliki tekstowe. Możesz użyć symbolu wieloznacznego w dowolnym miejscu.

Jak mogę dodać wiele plików z całego podkatalogu? Podaj tylko nazwę katalogu. Nie musisz używać symbolu wieloznacznego. Instrukcja obsługi 7-Zip pokazuje ten przykład. Określa on cały katalog o nazwie „subdir”.

7z a -tzip archive.zip subdir\7z: use executablea: add to archive-tzip: use zip compressionarchive.zip: create this archivesubdir\: source directory

Formaty. Ta sekcja odpowiada na pytania dotyczące wyboru formatów. Po pierwsze, aby użyć kompresji GZip, należy podać opcję „-tgzip” dla przełącznika type. To świetny sposób na kompresję plików na twoim serwerze WWW dla kompresji HTTP.

7-Zip DEFLATE

Jak używać BZip2? Możesz użyć BZip2 przez podanie przełącznika „-tbzip2”. Może to być połączone z dowolnym poziomem kompresji w powyższych tabelach. Różne tryby w 7-Zip automatycznie używają wielu różnych ustawień.

Jak używać formatu 7z? Podając przełącznik „-t7z” dla typu. Możesz też po prostu pominąć przełącznik type i format ten będzie domyślnie ustawiony na 7z. Ten format oferuje największy współczynnik kompresji, ale nie działa we wszystkich miejscach.

Prompts. Możesz powstrzymać 7-Zip przed wyświetlaniem podpowiedzi. Proszę użyć przełącznika -y. Zakłada to twierdzącą odpowiedź na wszystkie podpowiedzi. Używaj tego tylko wtedy, gdy jesteś pewien, że nie stracisz żadnych danych.

Pytania. Istnieje wiele innych możliwości i zastosowań programu 7-Zip w wierszu poleceń zarówno w systemie Windows jak i Linux. Ta sekcja odpowiada na kilka pytań, które miałem podczas prowadzenia tych badań, a także na pytania, które możesz mieć.

Dlaczego nie mogę zaktualizować mojego archiwum? Prawdopodobnie jest to archiwum stałe. Archiwa 7z są domyślnie archiwami stałymi – wszystkie pliki są skompresowane razem. Jeśli chcesz zaktualizować archiwum, zmień je tak, aby nie było stałe. Poszukaj na tej stronie słowa „solid”.

Czy mogę określić katalog wyjściowy? Tak – proszę użyć polecenia „e” i połączyć je z przełącznikiem -o. Składnia z -o jest trochę śmieszna, więc pokażę przykład z pliku pomocy 7-Zip. Oto jak to działa.

7z e archive.zip -oC:\soft *.cpp -r7z: executablee: use extract commandarchive.zip: source archive you want to extract from-oC:\soft: the destination folder (-o is the switch and C:\soft is the argument)*.cpp: only extract cpp files (C++)-r: traverse all subdirectories

Jak mogę zobaczyć co jest wewnątrz archiwum? Użyj polecenia „l”, jak pokazano powyżej. Możesz użyć „l” w narzędziu uruchamianym z wiersza poleceń, aby upewnić się, że archiwizacja wsadowa działa poprawnie.

Jak mogę wykluczyć pewne pliki? Na początku zobaczyliśmy jak dodawać pliki na podstawie filtrów, ale czasami chcesz ręcznie wykluczyć pewne pliki. Użyj przełącznika -x, a następnie wykrzyknika i nazwy pliku.

Więc: Jeśli chcesz wykluczyć „plik1.txt”, użyj przełącznika „-x!plik1.txt”. Proszę uwzględnić myślnik i wykrzyknik.

Jak mogę zastąpić pliki już znajdujące się na dysku nowymi plikami? Używając przełącznika -ao, opisanego powyżej. Istnieją też inne opcje, ale zazwyczaj lepszym pomysłem jest użycie jednej z opcji zmiany nazwy (-aou lub -aot).

Czy mogę zignorować wyodrębnianie plików już znajdujących się na dysku? Tak – proszę podać opcję -aos, która oznacza „pomijaj nadpisywanie plików”. Spowoduje to, że 7za.exe nie będzie kopiował nowszych plików z archiwum.

Uwaga: Użyj -aos, jeśli twoje pliki nie zmieniają się w czasie i nadpisywanie byłoby po prostu stratą.

Embed. Możesz osadzić 7-Zip w programie Windows .NET używając tutoriala w moim artykule o .NET 7-Zip. Daje to taką samą wspaniałą kompresję, ale w twoim własnym GUI. Link pokazuje niektóre współczynniki kompresji.

7-Zip Executable

Ustawienia wewnętrzne. Możesz zmienić ustawienia wewnętrzne. Nie musisz tego robić normalnie, ponieważ są one ustawiane automatycznie. Zalecam używanie ustawień mx=0 (oraz 3, 5, 7, 9). Dogłębne studium byłoby fascynujące.

Jakie wartości mogę zmienić w ustawieniach wewnętrznych? Możesz zmienić filtry kompresji, które zmieniają zachowanie na plikach wykonywalnych takich jak *.exe i *.dll. Możesz włączyć kompresję nagłówków i szyfrowanie (-mhc=on i -mhe=on).

Porada: Kompresja nagłówków jest domyślnie włączona. Szyfrowanie musi być jawnie włączone.

AdvanceCOMP. Możesz użyć AdvanceCOMP, aby poprawić współczynnik kompresji. Poprawa jest często niewielka, mniejsza niż 1%. 7-Zip i AdvanceCOMP używają tego samego kodera Deflate, ale AdvanceCOMP ma więcej opcji i jest bardziej szczegółowy.

AdvanceCOMP

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *