15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
22.10.2024
1 +1

Как да разархивирате файлове на всяко устройство: Windows, macOS, Android, iOS и Linux

Разархивирането на файл означава декомпресиране на архив — обикновено контейнер .zip — за възстановяване на оригиналното му съдържание в използваемо, четимо състояние. Всяка основна операционна система включва вградена поддръжка за извличане, така че не е необходим софтуер на трети страни за стандартни архиви .zip. За формати като .7z, .rar, .tar.gz или защитени с парола архиви, специализираните инструменти предоставят по-широка поддръжка на кодеци, по-добра обработка на криптиране и възможности за пакетна обработка.

Това ръководство обхваща всяка основна платформа в техническа дълбочина, включително методи за команден ред, които повечето уроци напълно пропускат, заедно със сравнение на най-мощните инструменти на трети страни, често срещани режими на повреда и сценариите, при които всеки подход е правилният избор.

Защо компресирането и извличането на файлове все още имат значение

Компресираните архиви намаляват размера при прехвърляне, обединяват дървета от директории в един преносим обект и запазват файловите разрешения и метаданни, когато форматът го поддържа. В среда за VPS Хостинг, например, внедряването на приложение често означава качване на архив .tar.gz или .zip и извличането му на сървъра — което прави извличането от командния ред основно умение, а не незадължително.

Разбирането на вътрешната структура също предотвратява загуба на данни. Файлът .zip съхранява всеки запис със собствено локално заглавие и контролна сума CRC-32. Повреден централен указател в края на архива може да накара файла да изглежда счупен за GUI инструменти, но режимът за поправка на unzip -FF или 7-Zip често може да възстанови повечето записи.

Как да разархивирате файлове в Windows

Windows 10 и Windows 11 включват вграден механизъм за извличане, интегриран директно в File Explorer. Не е необходима инсталация на трети страни за стандартни архиви .zip.

Използване на File Explorer (GUI метод)

Стъпка 1 — Намерете архива. Отворете File Explorer и навигирайте до папката, съдържаща вашия файл .zip. Zip архивите се показват с икона на папка с наслоена графика на цип.

Стъпка 2 — Отворете контекстното меню. Щракнете с десния бутон върху файла .zip. В Windows 11 изберете първо Покажи повече опции, ако класическото контекстно меню не е незабавно видимо.

Стъпка 3 — Извлечи всичко. Щракнете върху Извлечи всичко. Диалогов прозорец ви подканва за път на местоназначение. По подразбиране е подпапка с името на архива, поставена в същата директория.

Стъпка 4 — Изберете местоназначение и извлечете. Щракнете върху Преглед, за да изберете различен път, след което щракнете върху Извлечи. File Explorer показва лента за напредък за големи архиви.

Стъпка 5 — Проверете изхода. Папката с местоназначение се отваря автоматично при завършване. Потвърдете, че броят на файловете и структурата на директориите отговарят на очакванията ви, преди да изтриете оригиналния архив.

Използване на PowerShell (метод с команден ред)

За скриптирани внедрявания, автоматизирани конвейери или среди на Windows Server без графичен интерфейс, командлетът Expand-Archive на PowerShell е правилният инструмент:

# 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

Флагът -Force е критичен в скриптове за внедряване — без него командлетът хвърля терминираща грешка, ако вече съществува файл в местоназначението.

Използване на наследената команда tar (Windows 10 1803+)

Windows 10 build 1803 и по-нови версии се доставят с BSD tar, който обработва .zip нативно заедно с .tar, .tar.gz и .tar.bz2:

tar -xf archive.zip -C C:Projectsmyapp

Флагът -C указва директорията на местоназначение. Това е особено полезно в пакетни файлове и CI/CD конвейери, където могат да се прилагат ограничения на политиката за изпълнение на PowerShell.

Критичен проблем в Windows: Атрибутът „Блокиран”

Файловете, изтеглени от интернет, придобиват таг Алтернативен поток от данни (Zone.Identifier), който Windows маркира като потенциално опасен. Извличането на блокиран архив може безшумно да премахне или постави под карантина съдържанието. Преди извличане щракнете с десния бутон върху .zip, изберете Свойства и поставете отметка на Деблокиране в долната част на раздела Общи, или използвайте PowerShell:

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

Пропускането на тази стъпка е една от най-честите причини извлечените изпълними файлове или DLL файлове да не работят правилно в Windows.

Как да разархивирате файлове в macOS

macOS включва Archive Utility, която обработва извличането на .zip прозрачно чрез двойно щракване. За .tar.gz, .tar.bz2 и .7z, Terminal предоставя пълен контрол.

Използване на Archive Utility (GUI метод)

Стъпка 1 — Намерете архива. Отворете Finder и навигирайте до файла .zip. Той се появява като икона на компресирана папка.

Стъпка 2 — Двойно щракване за извличане. Archive Utility се стартира безшумно и извлича съдържанието в нова папка в същата директория, наименувана идентично на архива минус разширението .zip.

Стъпка 3 — Проверете изхода. Новата папка се появява незабавно. Archive Utility не подканва за местоназначение — ако трябва да извлечете в конкретен път, използвайте метода с Terminal по-долу.

Използване на Terminal (метод с команден ред)

# 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

За архиви .tar.gz — стандартният формат за дистрибуции на Linux софтуер и сървърни резервни копия:

# 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

Специфичен проблем за macOS: Gatekeeper и карантина

macOS прилага разширения атрибут com.apple.quarantine към изтеглените архиви. Дори след извличане, съдържанието наследява този атрибут. Ако извлечените двоични файлове откажат да се стартират, изчистете флага за карантина:

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

Това е честа причина за объркване при внедряване на изтеглени софтуерни пакети в macOS.

Как да разархивирате файлове в Linux

Linux е там, където извличането от командния ред не е незадължително — то е стандартният работен процес, особено на сървъри без графичен интерфейс. Ако управлявате Dedicated Server или облачен VPS, тези команди са ежедневни операции.

Инсталиране на помощни програми за извличане

Повечето Linux дистрибуции включват unzip и tar по подразбиране. Ако липсват:

# 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

Извличане на 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

Извличане на 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

Запазване на файловите разрешения и собственост

Това е критична подробност за администрирането на сървъри, която GUI инструментите и основните уроци последователно пропускат. При извличане на архиви на приложения на Linux сървър, собствеността и разрешенията трябва да бъдат запазени:

# 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

Флагът -p в tar изрично запазва разрешенията. Без правилна собственост, уеб приложенията ще се провалят с грешки за отказан достъп, дори ако файловете съществуват.

Как да разархивирате файлове в Android

Android не включва вграден мениджър на архиви в стандартното си файлово приложение при всички OEM варианти. Обикновено се изисква специализирано приложение.

Стъпка 1 — Инсталирайте файлов мениджър с поддръжка на архиви. Препоръчани опции:

  • Files by Google — чист, минималистичен, обработва .zip нативно
  • ZArchiver — поддържа .zip, .7z, .rar, .tar.gz, .tar.bz2 и криптирани архиви
  • RAR by RARLAB — официално приложение от разработчиците на WinRAR, обработва .rar и .zip

Стъпка 2 — Навигирайте до архива. Отворете приложението и прегледайте папката, съдържаща файла .zip или друг архивен файл.

Стъпка 3 — Стартирайте извличането. Натиснете продължително или докоснете архива. Изберете Извлечи или Извлечи тук. ZArchiver представя инструмент за избор на местоназначение; Files by Google извлича в същата директория по подразбиране.

Стъпка 4 — Проверете изхода. Навигирайте до папката с местоназначение и потвърдете, че съдържанието е достъпно.

Бележка, специфична за Android: Ако архивът е изтеглен чрез браузър, той обикновено се озовава в /storage/emulated/0/Download/. Някои OEM файлови мениджъри ограничават достъпа до определени пътища — ако извличането се провали безшумно, преминете към ZArchiver, който изисква по-широки разрешения за съхранение.

Как да разархивирате файлове на iPhone и iPad

iOS 13 и по-нови версии включват нативно извличане на .zip в приложението Files. Не се изисква приложение на трета страна за стандартни архиви.

Стъпка 1 — Отворете приложението Files. Намерете файла .zip. Честите местоположения включват Downloads, iCloud Drive или On My iPhone.

Стъпка 2 — Докоснете архива веднъж. Приложението Files автоматично извлича съдържанието в нова папка на същото местоположение. Няма инструмент за избор на местоназначение — извличането винаги се извършва на място.

Стъпка 3 — Достъп до извлечената папка. Папка със същото име като архива (минус .zip) се появява незабавно.

За формати, различни от ZIP в iOS: Приложението Files не обработва .rar, .7z или .tar.gz. Използвайте iZip (безплатно, поддържа .zip, .rar, .7z, .tar) или Archiver 4 (платено, отлична поддръжка на формати и интеграция с iCloud).

Инструменти за архиви на трети страни: Сравнение на функции

Когато вградените инструменти са недостатъчни — обработка на архиви .rar, AES-256 криптирани zip файлове, многотомни архиви или солидни архиви — инструментите на трети страни стават необходими. Таблицата по-долу сравнява най-широко използваните опции по критериите, които имат значение в професионални среди.

ИнструментПлатформаЛицензПоддържани форматиКриптиранеGUICLIЗабележителна сила
7-ZipWindows, LinuxБезплатен / Отворен кодZIP, 7Z, TAR, GZ, BZ2, XZ, RAR (извличане), ISO, WIMAES-256ДаДа (7z)Най-добро съотношение на компресия; напълно отворен код
WinRARWindows, macOSShareware (пробна версия)RAR, ZIP, TAR, GZ, BZ2, 7Z, ISO, CABAES-256ДаДа (rar)Най-добра поддръжка за създаване и поправка на RAR
The UnarchivermacOSБезплатенZIP, RAR, 7Z, TAR, GZ, BZ2, LZH, ISO, CARОграниченоДаНеНай-широка поддръжка на формати за macOS; App Store
ZArchiverAndroidБезплатен (Pro наличен)ZIP, 7Z, RAR, TAR, GZ, BZ2, XZ, ZSTAES-256ДаНеНай-добър мениджър на архиви за Android
iZipiOSБезплатен (Pro наличен)ZIP, RAR, 7Z, TAR, GZAES-256ДаНеДълбока интеграция с приложението Files и iCloud
p7zipLinuxБезплатен / Отворен кодZIP, 7Z, TAR, GZ, BZ2, XZ, RAR (извличане)AES-256НеДа (7z)Скриптиране на сървърна страна; идентичен с 7-Zip
PeaZipWindows, LinuxБезплатен / Отворен код200+ форматаAES-256ДаДаНай-широка поддръжка на формати; преносима версия

Обработка на защитени с парола и криптирани архиви

Защитените с парола архиви са често срещани при сигурно прехвърляне на файлове, разпространение на софтуер и работни процеси за резервно копиране. Всеки инструмент ги обработва малко по-различно.

В Windows с 7-Zip:

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

В Linux / macOS с unzip:

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

В Linux с 7z (p7zip):

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

Важна бележка за сигурността: Предаването на пароли като аргументи на командния ред ги излага в списъците на процесите (ps aux) и историята на обвивката. В производствени среди използвайте файл с парола или променлива на средата:

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

Изчистете историята на обвивката след това с history -c или конфигурирайте HISTCONTROL=ignorespace и поставете префикс на командата с интервал.

Извличане на архиви на отдалечен сървър

При управление на уеб приложения на VPS с cPanel или обикновен Linux VPS, най-ефективният работен процес за внедряване е да качите архива и да го извлечете на сървъра, вместо да прехвърляте хиляди отделни файлове.

# 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

За големи архиви, стартирайте извличането в сесия screen или tmux, за да предотвратите прекъсване при спадане на SSH връзката:

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

Този модел е стандартна практика при възстановяване на резервни копия или внедряване на пакети с приложения на Dedicated Servers.

Чести грешки при извличане и как да ги поправите

„End-of-central-directory signature not found” — Архивът е съкратен или повреден. Това се случва при прекъснати изтегляния. Изтеглете отново файла и проверете неговата MD5/SHA256 контролна сума, ако източникът предоставя такава. Опитайте възстановяване с:

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

„Cannot create file: filename too long” — Windows има ограничение от 260 символа за MAX_PATH. Активирайте поддръжката на дълги пътища в Групова политика (Computer Configuration > Administrative Templates > System > Filesystem > Enable Win32 long paths) или използвайте 7-Zip, който заобикаля това ограничение.

„Permission denied” при извличане в Linux — Директорията с местоназначение е собственост на различен потребител или има ограничителни разрешения. Използвайте sudo за командата за извличане или коригирайте собствеността първо:

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

„Unsupported compression method” — Архивът използва алгоритъм за компресия, който инструментът не поддържа (например Zstandard в по-нови ZIP имплементации или LZMA в .zip файлове, създадени от 7-Zip). Инсталирайте 7-Zip или p7zip, които поддържат най-широкия набор от алгоритми.

Файловете са извлечени, но изглеждат празни или с нулев размер — Често причинено от извличане на .zip, който съдържа само структура от директории без реални файлови данни, или от особеност на macOS Archive Utility с определени .zip файлове, създадени в Linux. Използвайте unzip -l archive.zip, за да прегледате съдържанието преди извличане.

Матрица за решения: Избор на правилния метод за извличане

СценарийПрепоръчан метод
Стандартен .zip на работен плот с WindowsFile Explorer > Извлечи всичко
Скриптирано внедряване на Windows ServerPowerShell Expand-Archive
Стандартен .zip на работен плот с macOSДвойно щракване (Archive Utility)
.tar.gz / .tar.bz2 в macOS или LinuxTerminal tar -xzf / tar -xjf
Извличане на сървърна страна на Linux VPSunzip или tar чрез SSH
Архив .rar на всяка платформа7-Zip (Windows/Linux) или The Unarchiver (macOS)
Защитен с парола архив7-Zip CLI с флаг -p
Възстановяване на повреден архивzip -FF след това unzip, или поправка с 7-Zip
Мобилно устройство (Android)ZArchiver
Мобилно устройство (iOS)Приложение Files (.zip) или iZip (други формати)
Многотомен архив (.zip.001, .part1.rar)7-Zip или WinRAR

Технически контролен списък с ключови изводи

  • Винаги проверявайте целостта на архива с unzip -t или 7z t преди извличане в производствени директории.
  • На Linux сървъри използвайте tar -xzpf (обърнете внимание на флага -p), за да запазите файловите разрешения при извличане на пакети с приложения.
  • Деблокирайте изтеглените .zip файлове в Windows преди извличане, за да избегнете безшумна карантина на файлове.
  • Премахнете атрибута за карантина на macOS от извлечените двоични файлове с xattr -rd com.apple.quarantine.
  • Никога не предавайте пароли за архиви като обикновени аргументи на CLI в споделени или регистрирани среди — използвайте файл с тайни или променлива на средата.
  • За внедрявания на сървъри, извличайте в сесия screen или tmux, за да оцелеете при SSH прекъсвания.
  • Използвайте 7-Zip или p7zip като универсален резервен вариант — той обработва повече формати и крайни случаи от всеки вграден инструмент на всяка платформа.
  • След извличане в директория на уеб сървър, винаги проверявайте собствеността (ls -la) и я задайте на потребителя на уеб сървъра (www-data, nginx или apache) преди тестване на приложението.

ЧЗВ

Поддържа ли Windows 11 нативно извличане на .7z и .rar?

Не. Вграденият механизъм за извличане на Windows 11 обработва само .zip, .cab и .tar (чрез командата tar). За .7z, .rar и други формати трябва да инсталирате 7-Zip или WinRAR.

Каква е разликата между .zip и .tar.gz?

Архивът .zip компресира всеки файл независимо и ги съхранява с индивидуални заглавия, което прави произволния достъп бърз, но намалява общата ефективност на компресия. .tar.gz първо обединява всички файлове в един некомпресиран поток .tar, след което прилага gzip компресия към целия поток — постигайки по-добри съотношения, но изисквайки пълна последователна декомпресия за достъп до всеки отделен файл.

Мога ли да извлека файл .zip директно на Linux сървър, без да го изтеглям локално първо?

Да. Използвайте wget или curl, за да изтеглите архива директно на сървъра, след което го извлечете на място. За публично достъпни архиви можете също да прехвърлите URL адрес чрез curl директно в bsdtar: curl -L https://example.com/archive.zip | bsdtar -xf- -C /destination/.

Защо извлечените файлове понякога имат неправилни разрешения на Linux сървър?

Форматът .zip съхранява UNIX разрешения само ако архивът е създаден на UNIX-подобна система с съвместим инструмент. Архивите, създадени в Windows, обикновено не съхраняват метаданни за разрешения, така че unzip присвоява разрешения по подразбиране въз основа на текущия umask. Използвайте chmod и chown изрично след извличане, за да зададете правилните разрешения за вашия уеб сървър или потребител на приложение.

Безопасно ли е да извличате архиви, получени по имейл, директно на сървър?

Не. Винаги проверявайте съдържанието на архива първо с unzip -l или 7z l преди извличане. Злонамерените архиви могат да съдържат последователности за обхождане на пътища (например ../../etc/cron.d/backdoor), които записват файлове извън предвиденото местоназначение. Използвайте unzip -d /safe/sandbox/path и проверете изхода преди преместване на файлове в производство. Помислете за сканиране с ClamAV на сървъри, които обработват качени от потребители архиви.

15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало