Вернуться назад

Архивы

Распаковка архивов

Сокращённая форма записи:


   # x - eXtract
   # f - file
   # v - verbose
   # z = --gzip - использовать gzip
   # j = --bzip2 - использовать bzip2
   # J = --xz - использовать xz (LZMA2-сжатие)
   # --zstd - использовать zstd (ZStandart)
   # C - папка для распаковки архива
   
   # распаковать .tar.gz:
   tar xzf file.tar.gz -C temp/file_folder
   
   # распаковать .tar.bz2:
   tar xjf file.tar.bz2 -C temp/file_folder
   
   # распаковать .tar.xz:
   tar xJf file.tar.xz -C temp/file_folder
   
   # распаковать .tar.zst:
   tar xf file.tar.zst --zstd --directory temp/file_folder
   tar xf file.tar.zst -I zstd --directory temp/file_folder
   tar xf file.tar.zst --use-compress-program=zstd --directory temp/file_folder
   tar --zstd -xf file.tar.zst --directory temp/file_folder
   tar -I zstd -xf file.tar.zst --directory temp/file_folder
   tar --use-compress-program=zstd -xf file.tar.zst --directory temp/file_folder

   tar -I zstd -xf file.tar.zst -C temp/file_folder
   
   # распаковать .tar.lzma:
   tar --use-compress-program=lzma -xf file.tar.lzma -C temp/file_folder
   tar -I lzma -xf file.tar.lzma -C temp/file_folder
   tar xf traceback.tar.lzma --use-compress-program=lzma
   tar xf traceback.tar.lzma -I lzma

   # Тоже вроде работает:
   tar -xf traceback.tar.lzma

Развёрнутая форма записи:


   # распаковать .tar.gz:
   tar --extract --gzip --file file.tar.gz --directory=temp/file_folder
   
   # распаковать .tar.bz2:
   tar --extract --bzip2 --file file.tar.bz2 --directory=temp/file_folder
   
    # распаковать .tar.xz:
   tar --extract --xz --file file.tar.xz --directory=temp/file_folder
   
   # распаковать .tar.zst:
   tar --extract --zstd --file file.tar.xz --directory=temp/file_folder
   
   # распаковать .tar.lzma:
   tar --extract --use-compress-program=lzma --file file.tar.lzma --directory=temp/file_folder

Создание архивов

Короткая форма записи:


  # создать .tar.gz:
  tar czf myArchive.tar.gz

  # создать .tar.bzip2:
  tar cjf myArchive.tar.bzip2

  # создать .tar.xz:
  tar cJf myArchive.tar.xz

  # создать .tar.zst:
  tar cf myArchive.tar.zst --zstd
  tar --zstd -cf myArchive.tar.zst

  # создать .tar.lzma:
  tar cf myArchive.tar.lzma -I lzma
  tar -I lzma -cf myArchive

Развёрнутая форма записи:


   # создать .tar.gz:
   tar --create --gzip --file myArchive.tar.gz domik/

   # создать .tar.bzip2:
   tar --create --bzip2 --file myArchive.tar.bzip2 domik/

   # создать .tar.xz:
   tar --create --xz --file myArchive.tar.xz domik/

   # создать .tar.zst:
   tar --create --use-compress-program=zstd --file myArchive.tar.zst domik/
   tar --create --zstd --file myArchive.tar.zst domik/

   # создать .tar.lzma:
   tar --create --use-compress-program=lzma --file myArchive.tar.lzma domik/

ZIP-архивы


   # Для работы нам понадобятся утилиты zip и unzip:
   sudo pacman -S zip unzip

   # Упаковать папку "domik" в архив:
   zip -r myArchive.zip domik/
      # в текущей папке появится архив с именем: "myArchive.zip"

   # Распаковать архив "myArchive.zip
   unzip myArchive.zip
      # в текущей папке появится папка "domik/"

   # Распаковать архив в нужную нам папку:
   unzip myArchive.zip -d temp/kakashka
      # у нас папка "domik" появится здесь: temp/kakashka/domik/...
      # Здесь важно, чтобы "temp" существовала. А "kakaskha" создастся даже, если она не существует.

RAR-архивы

Установка RAR:


   # Копируем из AUR:
   git clone https://aur.archlinux.org/rar.git
   cd rar
      # Теперь в папке есть PKGBUILD и вспомогательные файлы.
      # ls
        # .git  .gitignore  PKGBUILD  rar.1  .SRCINFO

   # Скачиваем зависимости
   makepkg -s --nobuild
      # -s = --syncdeps – sync dependencies
      # --nobuild – не запускать сборку после скачивания зависимостей

      # теперь у нас появились папка "src" и файл "rarlinux-x64-712.tar.gz"

   # Сборка:
   makepkg
      # теперь у нас появились папка "pkg" и файлы: "rar-7.12-1-x86_64.pkg.tar.zst" и "rar-debug-7.12-1-x86_64.pkg.tar.zst"
   
   # Или:
   makepkg -c
      # -c = --clean - удаляет рабочие папки после успешной сборки.
         # Если сборка завалится, папки не будут чиститься.
            # makepkg sic - собрать, установить, очистить
      # теперь у нас появились файлы: "rar-7.12-1-x86_64.pkg.tar.zst" и "rar-debug-7.12-1-x86_64.pkg.tar.zst",
      # но удалились папки: "pkg" и "src"

   # Устанавливаем пакет в систему:
   sudo pacman -U rar-7.12-1-x86_64.pkg.tar.zst

Использование RAR:


   # Проверить версию rar:
   rar
      # во второй строке будет указана версия
   # Или:
   rar | head -n 2
   # Или лучше так:
   rar | head -n 2 | tail -n 1
   # Или:
   rar | sed -n '2p'
   # Или:
   rar | awk 'NR==2'

   # Упаковать папку domik/ в "myArchive.rar"
   rar a myArchive.rar domik/

   # Извлечь папку domik/ из архива "myArchive.rar":
   rar x myArchive.rar
      # в текущей директории появится папка "domik"

   # Извлечь "domik" в указанную папку
   rar x myArchive.rar temp/folder_name
      # папка temp/folder_name должна существовать