15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
22.10.2024
2 +1

Jak rozpakować pliki na dowolnym urządzeniu: Windows, macOS, Android, iOS i Linux

Rozpakowanie pliku oznacza dekompresję archiwum — zazwyczaj kontenera .zip — w celu przywrócenia jego oryginalnej zawartości do stanu użytkowego i czytelnego. Każdy główny system operacyjny jest wyposażony w natywną obsługę wypakowywania, więc do standardowych archiwów .zip nie jest wymagane oprogramowanie innych firm. W przypadku formatów takich jak .7z, .rar, .tar.gz lub archiwów chronionych hasłem, dedykowane narzędzia zapewniają szerszą obsługę kodeków, lepszą obsługę szyfrowania i możliwości przetwarzania wsadowego.

Ten przewodnik szczegółowo omawia każdą główną platformę, w tym metody wiersza poleceń, które większość poradników całkowicie pomija, wraz z porównaniem najbardziej zaawansowanych narzędzi innych firm, typowymi trybami awarii i scenariuszami, w których każde podejście jest właściwym wyborem.

Dlaczego kompresja i wypakowywanie plików nadal mają znaczenie

Skompresowane archiwa zmniejszają rozmiar transferu, łączą drzewa katalogów w jeden przenośny obiekt i zachowują uprawnienia plików oraz metadane, gdy format to obsługuje. W środowisku VPS Hosting, na przykład, wdrożenie aplikacji często oznacza przesłanie archiwum .tar.gz lub .zip i wypakowywanie go po stronie serwera — co sprawia, że wypakowywanie z wiersza poleceń jest niezbędną umiejętnością, a nie opcjonalną.

Zrozumienie wewnętrznej struktury zapobiega również utracie danych. Plik .zip przechowuje każdy wpis z własnym lokalnym nagłówkiem i sumą kontrolną CRC-32. Uszkodzony centralny katalog na końcu archiwum może sprawić, że plik będzie wyglądał na uszkodzony w narzędziach GUI, jednak unzip -FF lub tryb naprawy 7-Zip często może odzyskać większość wpisów.

Jak wypakować pliki w systemie Windows

Windows 10 i Windows 11 zawierają natywny silnik wypakowywania zintegrowany bezpośrednio z Eksploratorem plików. Do standardowych archiwów .zip nie jest wymagana instalacja oprogramowania innych firm.

Korzystanie z Eksploratora plików (metoda GUI)

Krok 1 — Znajdź archiwum. Otwórz Eksplorator plików i przejdź do folderu zawierającego plik .zip. Archiwa ZIP wyświetlają ikonę folderu z nałożoną grafiką zamka błyskawicznego.

Krok 2 — Otwórz menu kontekstowe. Kliknij prawym przyciskiem myszy plik .zip. W systemie Windows 11 najpierw wybierz Pokaż więcej opcji, jeśli klasyczne menu kontekstowe nie jest od razu widoczne.

Krok 3 — Wyodrębnij wszystko. Kliknij Wyodrębnij wszystko. Okno dialogowe pyta o ścieżkę docelową. Domyślnie jest to podfolder nazwany tak jak archiwum, umieszczony w tym samym katalogu.

Krok 4 — Wybierz miejsce docelowe i wypakuj. Kliknij Przeglądaj, aby wybrać inną ścieżkę, a następnie kliknij Wyodrębnij. Eksplorator plików wyświetla pasek postępu dla dużych archiwów.

Krok 5 — Sprawdź dane wyjściowe. Folder docelowy otwiera się automatycznie po zakończeniu. Przed usunięciem oryginalnego archiwum sprawdź, czy liczba plików i struktura katalogów są zgodne z oczekiwaniami.

Korzystanie z PowerShell (metoda wiersza poleceń)

Do skryptowych wdrożeń, zautomatyzowanych potoków lub bezgłowych środowisk Windows Server, polecenie cmdlet Expand-Archive PowerShell jest właściwym narzędziem:

# Extract to a specific destination folder
Expand-Archive -Path "C:Downloadsarchive.zip" -DestinationPath "C:Projectsmyapp"

# Overwrite existing files without prompting
Expand-Archive -Path "C:Downloadsarchive.zip" -DestinationPath "C:Projectsmyapp" -Force

Flaga -Force jest kluczowa w skryptach wdrożeniowych — bez niej polecenie cmdlet zgłasza błąd krytyczny, jeśli jakikolwiek plik docelowy już istnieje.

Korzystanie z polecenia tar (Windows 10 1803+)

Windows 10 w wersji 1803 i nowszych jest dostarczany z BSD tar, który obsługuje natywnie .zip wraz z .tar, .tar.gz i .tar.bz2:

tar -xf archive.zip -C C:Projectsmyapp

Flaga -C określa katalog docelowy. Jest to szczególnie przydatne w plikach wsadowych i potokach CI/CD, gdzie mogą obowiązywać ograniczenia zasad wykonywania PowerShell.

Krytyczna pułapka systemu Windows: atrybut pliku „Zablokowany”

Pliki pobrane z internetu otrzymują tag Alternatywnego strumienia danych (Zone.Identifier), który Windows oznacza jako potencjalnie niebezpieczny. Wypakowywanie zablokowanego archiwum może po cichu usunąć lub poddać kwarantannie zawartość. Przed wypakowywaniem kliknij prawym przyciskiem myszy .zip, wybierz Właściwości i zaznacz Odblokuj na dole karty Ogólne lub użyj PowerShell:

Unblock-File -Path "C:Downloadsarchive.zip"

Pominięcie tego kroku jest jednym z najczęstszych powodów, dla których wypakowane pliki wykonywalne lub DLL nie działają poprawnie w systemie Windows.

Jak wypakować pliki w systemie macOS

macOS zawiera Narzędzie archiwizacji, które obsługuje wypakowywanie .zip w sposób przezroczysty poprzez dwukrotne kliknięcie. W przypadku .tar.gz, .tar.bz2 i .7z Terminal zapewnia pełną kontrolę.

Korzystanie z Narzędzia archiwizacji (metoda GUI)

Krok 1 — Znajdź archiwum. Otwórz Finder i przejdź do pliku .zip. Wyświetla się jako ikona skompresowanego folderu.

Krok 2 — Kliknij dwukrotnie, aby wypakować. Narzędzie archiwizacji uruchamia się w tle i wypakowuje zawartość do nowego folderu w tym samym katalogu, nazwanego identycznie jak archiwum, ale bez rozszerzenia .zip.

Krok 3 — Sprawdź dane wyjściowe. Nowy folder pojawia się natychmiast. Narzędzie archiwizacji nie pyta o miejsce docelowe — jeśli chcesz wypakować do określonej ścieżki, użyj poniższej metody z Terminalem.

Korzystanie z Terminala (metoda wiersza poleceń)

# Extract a .zip archive to the current directory
unzip archive.zip

# Extract to a specific destination directory
unzip archive.zip -d /Users/yourname/Projects/myapp

# List archive contents without extracting
unzip -l archive.zip

# Extract a password-protected zip
unzip -P secretpassword archive.zip -d /tmp/output

Dla archiwów .tar.gz — standardowego formatu dla dystrybucji oprogramowania Linux i kopii zapasowych serwera:

# Extract .tar.gz to current directory
tar -xzf archive.tar.gz

# Extract .tar.gz to a specific directory
tar -xzf archive.tar.gz -C /usr/local/myapp

# Extract .tar.bz2
tar -xjf archive.tar.bz2 -C /usr/local/myapp

# Extract .tar.xz (highest compression ratio)
tar -xJf archive.tar.xz -C /usr/local/myapp

Pułapka specyficzna dla macOS: Gatekeeper i kwarantanna

macOS stosuje rozszerzony atrybut com.apple.quarantine do pobranych archiwów. Nawet po wypakowaniu zawartość dziedziczy ten atrybut. Jeśli wypakowane pliki binarne odmawiają uruchomienia, wyczyść flagę kwarantanny:

xattr -rd com.apple.quarantine /path/to/extracted/folder

Jest to częste źródło zamieszania podczas wdrażania pobranych pakietów oprogramowania w systemie macOS.

Jak wypakować pliki w systemie Linux

Linux to środowisko, w którym wypakowywanie z wiersza poleceń nie jest opcjonalne — jest to standardowy przepływ pracy, szczególnie na serwerach bez interfejsu graficznego. Jeśli zarządzasz Serwerem dedykowanym lub chmurowym VPS, te polecenia są codziennymi operacjami.

Instalowanie narzędzi do wypakowywania

Większość dystrybucji Linux domyślnie zawiera unzip i tar. Jeśli brakuje:

# Debian / Ubuntu
sudo apt update && sudo apt install unzip p7zip-full

# RHEL / CentOS / AlmaLinux / Rocky Linux
sudo dnf install unzip p7zip p7zip-plugins

# Arch Linux
sudo pacman -S unzip p7zip

Wypakowywanie archiwów ZIP

# Basic extraction to current directory
unzip archive.zip

# Extract to a specific directory (creates it if absent)
unzip archive.zip -d /var/www/html/mysite

# Extract a single file from the archive
unzip archive.zip config/settings.php -d /var/www/html/mysite

# Suppress output (useful in scripts)
unzip -q archive.zip -d /var/www/html/mysite

# Test archive integrity without extracting
unzip -t archive.zip

Wypakowywanie archiwów TAR

# .tar.gz (gzip-compressed)
tar -xzf backup.tar.gz -C /var/backups/restored/

# .tar.bz2 (bzip2-compressed — slower but better ratio)
tar -xjf backup.tar.bz2 -C /var/backups/restored/

# .tar.xz (xz-compressed — best ratio, slowest)
tar -xJf backup.tar.xz -C /var/backups/restored/

# Verbose output — lists each file as it extracts
tar -xzvf backup.tar.gz -C /var/backups/restored/

# Extract a single file or directory from a tar archive
tar -xzf backup.tar.gz -C /tmp/ ./etc/nginx/nginx.conf

Zachowywanie uprawnień i własności plików

Jest to kluczowy szczegół administracji serwerem, który narzędzia GUI i podstawowe poradniki konsekwentnie pomijają. Podczas wypakowywania archiwów aplikacji na serwerze Linux należy zachować własność i uprawnienia:

# Preserve permissions (default with tar)
tar -xzpf archive.tar.gz -C /var/www/html/

# Extract and set ownership to www-data (web server user)
tar -xzf archive.tar.gz -C /var/www/html/ && chown -R www-data:www-data /var/www/html/myapp

Flaga -p w tar jawnie zachowuje uprawnienia. Bez prawidłowej własności aplikacje internetowe będą kończyć się błędami odmowy dostępu, nawet jeśli pliki istnieją.

Jak wypakować pliki na Androidzie

Android nie zawiera natywnego menedżera archiwów w swojej standardowej aplikacji plików we wszystkich wariantach OEM. Zazwyczaj wymagana jest dedykowana aplikacja.

Krok 1 — Zainstaluj menedżera plików z obsługą archiwów. Zalecane opcje:

  • Files by Google — przejrzysty, minimalny, obsługuje natywnie .zip
  • ZArchiver — obsługuje .zip, .7z, .rar, .tar.gz, .tar.bz2 i zaszyfrowane archiwa
  • RAR by RARLAB — oficjalna aplikacja twórców WinRAR, obsługuje .rar i .zip

Krok 2 — Przejdź do archiwum. Otwórz aplikację i przejdź do folderu zawierającego plik .zip lub inne archiwum.

Krok 3 — Rozpocznij wypakowywanie. Przytrzymaj lub dotknij archiwum. Wybierz Wypakuj lub Wypakuj tutaj. ZArchiver wyświetla selektor miejsca docelowego; Files by Google domyślnie wypakowuje do tego samego katalogu.

Krok 4 — Sprawdź dane wyjściowe. Przejdź do folderu docelowego i potwierdź, że zawartość jest dostępna.

Uwaga specyficzna dla Androida: Jeśli archiwum zostało pobrane przez przeglądarkę, zazwyczaj trafia do /storage/emulated/0/Download/. Niektóre menedżery plików OEM ograniczają dostęp do określonych ścieżek — jeśli wypakowywanie kończy się po cichu niepowodzeniem, przełącz się na ZArchiver, który żąda szerszych uprawnień do pamięci masowej.

Jak wypakować pliki na iPhone i iPad

iOS 13 i nowsze wersje zawierają natywne wypakowywanie .zip w aplikacji Pliki. Do standardowych archiwów nie jest wymagana aplikacja innych firm.

Krok 1 — Otwórz aplikację Pliki. Znajdź plik .zip. Typowe lokalizacje to Pobrane, iCloud Drive lub Na moim iPhonie.

Krok 2 — Dotknij archiwum raz. Aplikacja Pliki automatycznie wypakowuje zawartość do nowego folderu w tej samej lokalizacji. Nie ma selektora miejsca docelowego — wypakowywanie zawsze odbywa się w miejscu.

Krok 3 — Uzyskaj dostęp do wypakowanego folderu. Folder o tej samej nazwie co archiwum (bez .zip) pojawia się natychmiast.

Dla formatów innych niż ZIP w iOS: Aplikacja Pliki nie obsługuje .rar, .7z ani .tar.gz. Użyj iZip (bezpłatny, obsługuje .zip, .rar, .7z, .tar) lub Archiver 4 (płatny, doskonała obsługa formatów i integracja z iCloud).

Narzędzia do archiwizacji innych firm: porównanie funkcji

Gdy natywne narzędzia są niewystarczające — obsługa archiwów .rar, zaszyfrowanych zipów AES-256, archiwów wieloczęściowych lub archiwów solid — narzędzia innych firm stają się niezbędne. Poniższa tabela porównuje najczęściej używane opcje według kryteriów istotnych w środowiskach profesjonalnych.

NarzędziePlatformaLicencjaObsługiwane formatySzyfrowanieGUICLIWyróżniająca cecha
7-ZipWindows, LinuxBezpłatny / Open SourceZIP, 7Z, TAR, GZ, BZ2, XZ, RAR (wypakowywanie), ISO, WIMAES-256TakTak (7z)Najlepszy stopień kompresji; w pełni open source
WinRARWindows, macOSShareware (wersja próbna)RAR, ZIP, TAR, GZ, BZ2, 7Z, ISO, CABAES-256TakTak (rar)Najlepsza obsługa tworzenia i naprawy RAR
The UnarchivermacOSBezpłatnyZIP, RAR, 7Z, TAR, GZ, BZ2, LZH, ISO, CAROgraniczoneTakNieNajszersza obsługa formatów w macOS; App Store
ZArchiverAndroidBezpłatny (dostępna wersja Pro)ZIP, 7Z, RAR, TAR, GZ, BZ2, XZ, ZSTAES-256TakNieNajlepszy menedżer archiwów na Androida
iZipiOSBezpłatny (dostępna wersja Pro)ZIP, RAR, 7Z, TAR, GZAES-256TakNieGłęboka integracja z aplikacją Pliki i iCloud
p7zipLinuxBezpłatny / Open SourceZIP, 7Z, TAR, GZ, BZ2, XZ, RAR (wypakowywanie)AES-256NieTak (7z)Skryptowanie po stronie serwera; identyczny z 7-Zip
PeaZipWindows, LinuxBezpłatny / Open SourcePonad 200 formatówAES-256TakTakNajszersza obsługa formatów; wersja przenośna

Obsługa archiwów chronionych hasłem i zaszyfrowanych

Archiwa chronione hasłem są powszechne w bezpiecznych transferach plików, dystrybucji oprogramowania i przepływach pracy związanych z kopiami zapasowymi. Każde narzędzie obsługuje je nieco inaczej.

W systemie Windows z 7-Zip:

# 7-Zip command-line extraction with password
7z x archive.zip -pYourPassword -o"C:output"

W systemie Linux / macOS z unzip:

unzip -P YourPassword archive.zip -d /output/path

W systemie Linux z 7z (p7zip):

7z x archive.7z -pYourPassword -o/output/path

Ważna uwaga dotycząca bezpieczeństwa: Przekazywanie haseł jako argumentów wiersza poleceń ujawnia je na listach procesów (ps aux) i historii powłoki. W środowiskach produkcyjnych użyj pliku z hasłem lub zmiennej środowiskowej:

# Read password from a file (7-Zip supports this via stdin piping)
7z x archive.7z -p"$(cat /etc/archive-password)" -o/output/path

Wyczyść historię powłoki za pomocą history -c lub skonfiguruj HISTCONTROL=ignorespace i poprzedź polecenie spacją.

Wypakowywanie archiwów na zdalnym serwerze

Podczas zarządzania aplikacjami internetowymi na VPS z cPanel lub zwykłym VPS z Linuxem, najbardziej efektywnym przepływem wdrożenia jest przesłanie archiwum i wypakowanie go po stronie serwera, zamiast przesyłania tysięcy pojedynczych plików.

# Upload archive via SCP
scp myapp.tar.gz user@yourserver.com:/var/www/html/

# SSH into the server and extract
ssh user@yourserver.com
cd /var/www/html/
tar -xzf myapp.tar.gz
rm myapp.tar.gz  # Remove archive after successful extraction

W przypadku dużych archiwów uruchom wypakowywanie wewnątrz sesji screen lub tmux, aby zapobiec przerwaniu w przypadku zerwania połączenia SSH:

screen -S deploy
tar -xzf largebackup.tar.gz -C /var/www/html/
# Detach with Ctrl+A, D — reattach with: screen -r deploy

Ten wzorzec jest standardową praktyką podczas przywracania kopii zapasowych lub wdrażania pakietów aplikacji na Serwerach dedykowanych.

Typowe błędy wypakowywania i sposoby ich naprawy

„End-of-central-directory signature not found” — Archiwum jest obcięte lub uszkodzone. Dzieje się tak przy przerwanych pobieraniach. Pobierz plik ponownie i zweryfikuj jego sumę kontrolną MD5/SHA256, jeśli źródło ją podaje. Spróbuj odzyskać za pomocą:

zip -FF corrupted.zip --out recovered.zip
unzip recovered.zip -d /output

„Cannot create file: filename too long” — Windows ma limit MAX_PATH wynoszący 260 znaków. Włącz obsługę długich ścieżek w zasadach grupy (Computer Configuration > Administrative Templates > System > Filesystem > Enable Win32 long paths) lub użyj 7-Zip, który omija to ograniczenie.

„Permission denied” podczas wypakowywania w systemie Linux — Katalog docelowy należy do innego użytkownika lub ma restrykcyjne uprawnienia. Użyj sudo dla polecenia wypakowywania lub najpierw dostosuj własność:

sudo chown -R $USER:$USER /destination/path
unzip archive.zip -d /destination/path

„Unsupported compression method” — Archiwum używa algorytmu kompresji, którego narzędzie nie obsługuje (np. Zstandard w nowszych implementacjach ZIP lub LZMA w plikach .zip tworzonych przez 7-Zip). Zainstaluj 7-Zip lub p7zip, które obsługują najszerszy zestaw algorytmów.

Pliki wypakowane, ale wydają się puste lub mają zerowy rozmiar — Często spowodowane wypakowywaniem .zip, który zawiera tylko strukturę katalogów bez rzeczywistych danych pliku, lub przez specyficzne zachowanie Narzędzia archiwizacji macOS z pewnymi plikami .zip utworzonymi w systemie Linux. Użyj unzip -l archive.zip do sprawdzenia zawartości przed wypakowywaniem.

Macierz decyzyjna: wybór właściwej metody wypakowywania

ScenariuszZalecana metoda
Standardowy .zip na pulpicie WindowsEksplorator plików > Wyodrębnij wszystko
Skryptowe wdrożenie na Windows ServerPowerShell Expand-Archive
Standardowy .zip na pulpicie macOSDwukrotne kliknięcie (Narzędzie archiwizacji)
.tar.gz / .tar.bz2 w macOS lub LinuxTerminal tar -xzf / tar -xjf
Wypakowywanie po stronie serwera na Linux VPSunzip lub tar przez SSH
Archiwum .rar na dowolnej platformie7-Zip (Windows/Linux) lub The Unarchiver (macOS)
Archiwum chronione hasłem7-Zip CLI z flagą -p
Odzyskiwanie uszkodzonego archiwumzip -FF następnie unzip, lub naprawa 7-Zip
Urządzenie mobilne (Android)ZArchiver
Urządzenie mobilne (iOS)Aplikacja Pliki (.zip) lub iZip (inne formaty)
Archiwum wieloczęściowe (.zip.001, .part1.rar)7-Zip lub WinRAR

Lista kontrolna kluczowych wniosków technicznych

  • Zawsze weryfikuj integralność archiwum za pomocą unzip -t lub 7z t przed wypakowywaniem do katalogów produkcyjnych.
  • Na serwerach Linux używaj tar -xzpf (zwróć uwagę na flagę -p), aby zachować uprawnienia plików podczas wypakowywania pakietów aplikacji.
  • Odblokuj pobrane pliki .zip w systemie Windows przed wypakowywaniem, aby uniknąć cichej kwarantanny plików.
  • Usuń atrybut kwarantanny macOS z wypakowanych plików binarnych za pomocą xattr -rd com.apple.quarantine.
  • Nigdy nie przekazuj haseł archiwów jako zwykłych argumentów CLI w środowiskach współdzielonych lub rejestrowanych — użyj pliku z sekretami lub zmiennej środowiskowej.
  • W przypadku wdrożeń serwerowych wypakuj wewnątrz sesji screen lub tmux, aby przeżyć rozłączenia SSH.
  • Używaj 7-Zip lub p7zip jako uniwersalnego rozwiązania awaryjnego — obsługuje więcej formatów i przypadków brzegowych niż jakiekolwiek natywne narzędzie na dowolnej platformie.
  • Po wypakowaniu do katalogu serwera internetowego zawsze weryfikuj własność (ls -la) i ustaw ją na użytkownika serwera internetowego (www-data, nginx lub apache) przed testowaniem aplikacji.

FAQ

Czy Windows 11 natywnie obsługuje wypakowywanie .7z i .rar?

Nie. Wbudowany silnik wypakowywania systemu Windows 11 obsługuje tylko .zip, .cab i .tar (przez polecenie tar). W przypadku .7z, .rar i innych formatów należy zainstalować 7-Zip lub WinRAR.

Jaka jest różnica między .zip a .tar.gz?

Archiwum .zip kompresuje każdy plik niezależnie i przechowuje je z indywidualnymi nagłówkami, co umożliwia szybki dostęp losowy, ale zmniejsza ogólną wydajność kompresji. Archiwum .tar.gz najpierw łączy wszystkie pliki w jeden nieskompresowany strumień .tar, a następnie stosuje kompresję gzip do całego strumienia — osiągając lepsze współczynniki, ale wymagając pełnej sekwencyjnej dekompresji, aby uzyskać dostęp do dowolnego pojedynczego pliku.

Czy mogę wypakować plik .zip bezpośrednio na serwerze Linux bez wcześniejszego pobierania go lokalnie?

Tak. Użyj wget lub curl, aby pobrać archiwum bezpośrednio na serwer, a następnie wypakuj je w miejscu. W przypadku publicznie dostępnych archiwów możesz również przesłać URL przez curl bezpośrednio do bsdtar: curl -L https://example.com/archive.zip | bsdtar -xf- -C /destination/.

Dlaczego wypakowane pliki mają czasem nieprawidłowe uprawnienia na serwerze Linux?

Format .zip przechowuje uprawnienia UNIX tylko wtedy, gdy archiwum zostało utworzone w systemie podobnym do UNIX za pomocą kompatybilnego narzędzia. Archiwa utworzone w systemie Windows zazwyczaj nie przechowują metadanych uprawnień, więc unzip przypisuje domyślne uprawnienia na podstawie bieżącego umask. Użyj chmod i chown jawnie po wypakowaniu, aby ustawić prawidłowe uprawnienia dla serwera internetowego lub użytkownika aplikacji.

Czy bezpieczne jest wypakowywanie archiwów otrzymanych pocztą e-mail bezpośrednio na serwerze?

Nie. Zawsze najpierw sprawdź zawartość archiwum za pomocą unzip -l lub 7z l przed wypakowywaniem. Złośliwe archiwa mogą zawierać sekwencje przechodzenia przez ścieżki (np. ../../etc/cron.d/backdoor), które zapisują pliki poza zamierzonym miejscem docelowym. Użyj unzip -d /safe/sandbox/path i zweryfikuj dane wyjściowe przed przeniesieniem plików do produkcji. Rozważ skanowanie za pomocą ClamAV na serwerach obsługujących archiwa przesyłane przez użytkowników.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij