Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Darkly)
  • Нет скина
Collapse

База знаний (кластер NBICS)

  1. Главная
  2. Команды BASH
  3. Bash - работа с архивами

Bash - работа с архивами

Запланировано Прикреплена Закрыта Перенесена Команды BASH
4 Сообщения 1 Posters 5 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • A Не в сети
    A Не в сети
    Admin
    написал в отредактировано
    #1

    Содержание

    1 ответ Последний ответ
    0
    • A Не в сети
      A Не в сети
      Admin
      написал в отредактировано
      #2

      Tar.gz - распаковать в тот же каталог. Пример - файл peertube_storage_v5.2.1_20251118_1030.tar.gz

      tar -xvzf peertube_storage_v5.2.1_20251118_1030.tar.gz
      

      Tar.gz - распаковать в заданный каталог.

      tar -xvzf peertube_storage_v5.2.1_20251118_1030.tar.gz -C /путь/куда/распаковать
      
      1 ответ Последний ответ
      0
      • A Не в сети
        A Не в сети
        Admin
        написал в отредактировано
        #3

        Сжатие и распаковка


        Вот самый полный и актуальный (2025) список команд по сжатию/распаковке в терминале Linux (Ubuntu/Debian/Mint/Fedora/Arch — всё работает из коробки).

        1. tar.gz / tar.xz / tar.bz2 — самые популярные в Linux

        Задача Команда Примечание
        Сжать папку в .tar.gz tar -czf archive.tar.gz /путь/к/папке/ -c create, -z gzip, -f имя
        Сжать в .tar.xz (лучше сжатие) tar -cJf archive.tar.xz /путь/к/папке/ -J = xz (обычно в 1.5–2 раза меньше .gz)
        Сжать в .tar.zst (самое сильное 2025) tar --zstd -cf archive.tar.zst /путь/к/папке/ zstd — новый король сжатия
        Быстрое сжатие (многоядерность) tar -c /путь/к/папке/ | pigz -9 > archive.tar.gz pigz = многопоточный gzip
        Максимальное сжатие gzip tar -czf archive.tar.gz --best /путь/к/папке/ аналог -9
        Распаковать .tar.gz tar -xzf archive.tar.gz
        Распаковать .tar.xz tar -xJf archive.tar.xz
        Распаковать .tar.zst tar --zstd -xf archive.tar.zst
        Распаковать в указанную папку tar -xzf archive.tar.gz -C /путь/к/папке/
        Посмотреть содержимое без распаковки tar -tzf archive.tar.gz \| less
        Распаковать только один файл из архива tar -xzf archive.tar.gz home/user/important.txt

        2. zip — если нужно отдать на Windows/macOS

        # Сжать папку рекурсивно
        zip -r archive.zip /путь/к/папке/
        
        # Максимальное сжатие
        zip -9 -r archive.zip /путь/к/папке/
        
        # Без сжатия (быстро, просто упаковать)
        zip -0 -r archive.zip big_files/
        
        # Распаковать
        unzip archive.zip
        unzip archive.zip -d /путь/куда/распаковать/
        

        3. 7-Zip (7z) — самое сильное сжатие в 2025 году

        Установка:

        sudo apt install p7zip-full p7zip-rar   # Ubuntu/Debian/Mint
        
        # Максимальное сжатие (очень долго, но в 2–4 раза меньше)
        7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on archive.7z /путь/к/папке/
        
        # Быстро и хорошо (уровень ultra)
        7z a -t7z -mx=9 archive.7z folder/
        
        # Просто хорошо и быстро
        7z a archive.7z folder/
        
        # Распаковать
        7z x archive.7z
        7z x archive.7z -o/путь/куда/
        

        4. zstd — новый стандарт 2024–2025 (быстро + сильно)

        Установка (обычно уже есть):

        sudo apt install zstd
        
        # Сжать папку (очень быстро и сильно)
        tar -c folder/ | zstd -19 -o folder.tar.zst
        
        # Ещё быстрее и лучше (уровень 22 — максимум)
        tar -c folder/ | zstd -T0 --ultra -22 -o folder.tar.zst
        
        # Распаковать
        zstd -d folder.tar.zst -o folder.tar && tar -xf folder.tar
        # или одной командой:
        zstd -dc folder.tar.zst | tar -xf -
        

        5. Самые полезные однострочники, которые я использую каждый день

        # Сжать папку максимально сильно одной командой (2025)
        tar -c folder/ | 7z a -si -mx=9 -t7z folder.7z
        
        # Распаковать любой архив (сам догадается)
        7z x archive.*          # работает с zip, rar, 7z, tar.gz, tar.xz и т.д.
        
        # Сжать и сразу зашифровать AES-256
        7z a -p"секретный_пароль" -mhe=on encrypted.7z secret_folder/
        
        # Распаковать с паролем
        7z x encrypted.7z
        

        Итоговая шпаргалка 2025 года

        Формат Когда использовать Команда сжатия Команда распаковки
        .tar.gz Совместимость, быстро tar -czf tar -xzf
        .tar.xz Лучше сжатие, чем .gz tar -cJf tar -xJf
        .tar.zst 2025 — баланс скорости и размера tar --zstd -cf tar --zstd -xf
        .zip Нужно отдать на Windows/macOS zip -r -9 unzip
        .7z Максимальное сжатие + шифрование 7z a -mx=9 7z x
        1 ответ Последний ответ
        0
        • A Не в сети
          A Не в сети
          Admin
          написал в отредактировано
          #4

          Упаковка каталога в zip


          Вот полный и актуальный на 2025 год набор команд для упаковки папки в ZIP — от самых простых до максимально эффективных и красивых.

          Базовые команды (всегда работают)

          # Самое простое — упаковать папку рекурсивно
          zip -r archive.zip /path/to/folder
          
          # Упаковать текущую папку (точка = текущая директория)
          zip -r backup.zip .
          
          # Исключить лишнее (git, node_modules, __pycache__ и т.д.)
          zip -r backup.zip . -x "*.git*" "*node_modules*" "*__pycache__*" "*.DS_Store*"
          
          # С максимальным сжатием (дольше, но меньше размер)
          zip -r -9 backup.zip folder/
          
          # С прогресс-баром (очень удобно при больших папках)
          zip -r backup.zip folder/ ; echo "Готово: $(du -h backup.zip)"
          

          Продвинутые и самые полезные варианты (мои ежедневные)

          # 1. Только новые/изменённые файлы (обновить существующий архив)
          zip -r -u archive.zip folder/
          
          # 2. Сжать с паролем (AES-256)
          zip -r -e --password=твой_пароль secret.zip private_folder/
          
          # 3. Самое сильное сжатие + пароль + прогресс
          zip -r -9 -e -P суперсекрет archive.zip important_data/
          
          # 4. Создать архив без пути (все файлы в корне архива)
          cd /path/to/folder && zip -r -9 ../backup.zip ./*
          
          # 5. Упаковать и сразу проверить целостность
          zip -r backup.zip folder/ && unzip -t backup.zip && echo "Архив в порядке"
          
          # 6. Упаковать с красивым прогресс-баром (через rsync + zip)
          rsync -a --info=progress2 folder/ temp_folder/ && zip -r -9 backup.zip temp_folder/ && rm -rf temp_folder/
          

          Альтернативы (если zip по какой-то причине нет или хочется лучше)

          Инструмент Команда Плюсы
          7z (лучшее сжатие) 7z a -tzip -mx=9 backup.zip folder/ В 1.5–3 раза меньше, чем zip -9
          zstd + tar tar -c folder/ | zstd -19 -o backup.tar.zst Быстрее + лучше сжатие (2025 стандарт)
          pigz (многопоточный zip) tar -c folder/ | pigz -9 > backup.tar.gz В 5–10 раз быстрее на многоядерных CPU

          Установка (Debian/Ubuntu):

          sudo apt install zip unzip p7zip-full zstd pigz
          

          Мои личные алиасы (добавь в ~/.bashrc или ~/.zshrc)

          alias zipmax="zip -r -9"                        # максимальное сжатие
          alias zipass="zip -r -e -P"                     # с паролем
          alias zipclean='zip -r backup.zip . -x "*.git*" "*node_modules*" "*.DS_Store" "__pycache__/*"'
          alias zip7="7z a -tzip -mx=9"                   # 7-zip с максимальным сжатием
          

          Итог: запомни всего три команды на всю жизнь

          # Обычное использование
          zip -r archive.zip folder/
          
          # Максимальное сжатие
          zip -r -9 archive.zip folder/
          
          # С паролем
          zip -r -e archive.zip folder/
          
          1 ответ Последний ответ
          0
          Ответить
          • Ответить, создав новую тему
          Авторизуйтесь, чтобы ответить
          • Сначала старые
          • Сначала новые
          • По количеству голосов


          • Войти

          • Login or register to search.
          Powered by NodeBB Contributors
          • Первое сообщение
            Последнее сообщение
          0
          • Категории
          • Последние
          • Метки
          • Популярные
          • World
          • Пользователи
          • Группы