Работа с RAR архивами
Подготовка
Для работы с RAR архивами потребуется программа UNRAR, отсутствующая по умолчанию на некоторых дистрибутивах. Для ее установки, в терминал вводятся следующие команды.
sudo apt-get install unrar rar -y
Создание архива RAR
Синтаксис
rar {имя или путь до архива} {путь до файла или каталога}
Чтобы заархивировать каталог полностью (со всеми вложенными папками и файлами), нужно добавить ключ «-r». Команда будет выглядеть так:
rar -r {имя или путь до архива} {путь до файла или каталога}
Пример:
rar -r /var/www/mysite.rar /var/www/html/mysite
Синтаксис
unrar x {имя или путь до архива} {путь до файла или каталога}
Пример:
unrar x /var/www/mysite.rar /var/www/html/mysite
Как запаковать архив tar.gz и tar.bz2 в Ubuntu, Debian, CentOS
где tar — команда, cfvz — ключи, archive.tar.gz — имя будущего архива, *.php — список файлов, которые нужно заархивировать. Список можно заменить директорией, которую нужно запаковать целиком, для этого указываем путь до неё, абсолютный или относительный
Теперь подробнее про ключи
- -с — команда, которая означает «создать архив»
- -f — команда на упаковку файлов и директорий в один файл архива
- -v — включает визуальное отображение процесса архивации
- -z — использовать для сжатия GZip
Также, можно использовать для сжатия BZip2 . Для этого нужно использовать ключ -j вместо -z . В этом случае, команда для запаковки tar.bz2 будет выглядеть так
Вместо GZip и BZip2 можно пользоваться иными архиваторами, для этого просто нужно подобрать соответствующий ключ.
Чтобы исключить определённый каталог или файл из архива, можно воспользоваться ключом —exclude . Сначала переходим в нужный каталог, затем используем следующую команду:
Тут мы запаковываем каталог /wp-content/ на WordPress, исключая раздел Updraft wp-content/updraft , раздел Загрузки wp-content/uploads и Кеш wp-content/cache .
Перезапись файлов
Предположим, вы распаковали архив, но по ошибке удалили несколько извлеченных файлов.
Быстрое решение этой проблемы — извлечь файлы еще раз. Но если вы попытаетесь извлечь ZIP-файл из той же директории, что и раньше, unzip предложит вам принять решение относительно перезаписи файлов. Ожидается один из следующих ответов.
Помимо ответа (переименование), эти ответы чувствительны к регистру.
- y: да, переписать этот файл
- n: нет, не перезаписывать этот файл
- A: Все, переписать все файлы
- N: Нет, перезаписать ни один из файлов
- r: переименовать, распаковать этот файл, но дать ему новое имя. Вам будет предложено ввести новое имя.
Чтобы заставить unzip перезаписывать любые существующие файлы, используйте опцию (перезапись).
unzip -o -q source_code.zip
Наиболее эффективный способ заменить отсутствующие файлы — unzip только те файлы в архиве, которые не находятся в целевом каталоге. Для этого используйте параметр (никогда не перезаписывать).
unzip -n source_code.zip
Что такое Tar
Tar — это популярный файловый архиватор в Unix/Linux системах. Tar зачастую используется вместе с архиваторами GZip или BZip2 , так как они отлично взаимодополняют друг друга: Tar не может сжимать файлы, только собирать их в одни архив, а GZip и BZip2 не могут сжимать несколько файлов одновременно, поэтому если вам нужно запаковать несколько файлов и директорий, сначала они собираются в один несжатый архив с помощью Tar , который сохранит их некоторые атрибуты, например такие, как права доступа, а затем этот архив сжимается с помощью GZip или BZip2 . Весь процесс запускается одной консольной командой, про которые далее.
Извлечение Архивов с помощью Shell Функции
Чтобы не запоминать какой ключ использовать при распаковки архивов, можно добавить функцию для этого. Открываем .bashrc или .zshrc на вашей ОС:
$ vim ~/.bashrc
Или
$ vim ~/.zshrc
И в самый конец, прописываем:
# extract archives extract () { if ; then # display usage if no parameters given echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" case $1 in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.lzma) unlzma "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) rar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.xz) unxz "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *) echo "don't know how to extract '$1'..." ;; esac else echo "'$1' is not a valid file!" fi }
Перезагружаем оболочку bashrc :
$ . ~/.bashrc
Или:
$ source ~/.bashrc
PS: Если используете zsh, то чтобы перезапустить ее. Закройте и откройте ваш терминал.
Использование довольно простое, например:
$ extract my_archive.rar
Или
$ extract my_archive.tar.gz2
Или
$ extract my_archive.7z
Установка уровня сжатия
Вы можете установить степень сжатия файлов при их добавлении в ZIP-архив. Диапазон составляет от 0 до 9, где 0 вообще не компрессирует. Чем выше степень сжатия, тем больше времени требуется для создания файла ZIP. Для ZIP-файлов небольшого размера разница во времени не является существенным штрафом. Но тогда, для ZIP-файлов небольшого размера, сжатие по умолчанию (уровень 6), вероятно, достаточно хорошо в любом случае.
Чтобы заставить zip использовать определенный уровень сжатия, передайте число в качестве параметра в командной строке с помощью «-», например:
zip -0 -r -q source_code work/
Уровень сжатия по умолчанию равен 6. Нет необходимости -6 опцию -6 , но это не принесет вреда.
zip -r -q source_code work/
Максимальный уровень сжатия — уровень 9.
zip -9 -r -q source_code work/
При выборе файлов и каталогов, которые здесь архивируются, разница между отсутствием сжатия (уровень 0) и сжатием по умолчанию (уровень 6) составляет 400 КБ. Разница между сжатием по умолчанию и самым высоким уровнем сжатия (уровень 9) составляет всего 4K.
Это может показаться незначительным, но для архивов, содержащих сотни или даже тысячи файлов, небольшое количество дополнительного сжатия на файл может привести к экономии места.
Как создать ZIP-файл с помощью команды zip
Чтобы создать ZIP-файл, необходимо указать имя файла архива и какие файлы включить в него. Вам не нужно добавлять расширение «.zip» к имени архива, но это не повредит.
Чтобы создать файл с именем source_code.zip содержащий все файлы исходного кода C и заголовочные файлы в текущем каталоге, вы должны использовать эту команду:
zip source_code *.c *.h
Каждый файл указан как добавленный. Отображается имя файла и степень сжатия, достигнутая в этом файле.
Если вы посмотрите на новый ZIP-архив, то увидите, что расширение «.zip» было автоматически добавлено zip.
ls -l source_code.zip
Если вы не хотите видеть вывод из zip при создании ZIP-файла, используйте параметр (quiet).
zip -q source_code *.c *.h
How to Extract (Unzip) Tar Bz2 File
29 Февраля 2020
|
Терминал
позволяет создавать и распаковывать архивы tar. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress.
Bzip2 — один из самых популярных алгоритмов сжатия файлов tar. По соглашению имя архива tar, сжатого с помощью bzip2, оканчивается на .tar.bz2 или .tbz2 .
Извлечение файла tar.bz2
Большинство дистрибутивов Linux и macOS поставляются с утилитой tar, предварительно установленной по умолчанию.
Чтобы извлечь файл tar.bz2, используйте параметр ( ) и укажите имя файла архива после параметра:
Команда автоматически определяет тип сжатия и извлекает архив. Эту же команду можно использовать для извлечения архивов tar, сжатых с помощью других алгоритмов, таких как .tar.gz .
Если вы пользователь Desktop, а командная строка — не ваша вещь, вы можете использовать диспетчер файлов. Чтобы извлечь (распаковать) файл tar.bz2, просто щелкните правой кнопкой мыши файл, который вы хотите извлечь, и выберите «Извлечь». Пользователям Windows понадобится инструмент с именем 7zip для извлечения файлов tar.bz2.
Для более подробного вывода используйте опцию. Эта опция указывает отображать имена файлов, извлекаемых на терминале.
По умолчанию будет извлекаться содержимое архива в текущем рабочем каталоге . Используйте ( ) для извлечения архивных файлов в определенную директорию:
Например, чтобы извлечь содержимое архива в каталог, введите:
Извлечение определенных файлов из файла tar.bz2
Чтобы извлечь определенные файлы из файла tar.bz2, добавьте разделенный пробелами список имен файлов, которые будут извлечены после имени архива:
При извлечении файлов вы должны указать их точные имена, включая путь, как указано при использовании опции ( ).
Извлечение одного или нескольких каталогов из архива аналогично извлечению нескольких файлов:
Если вы попытаетесь извлечь файл, который не существует в архиве, появится сообщение об ошибке, подобное следующему:
Опция позволяет извлекать файлы из файла tar.bz2 на основе группового символа шаблона. Шаблон должен быть заключен в кавычки, чтобы оболочка не могла его интерпретировать.
Например, чтобы извлечь только файлы, имена которых оканчиваются на (Markdown files), вы должны использовать:
Извлечение файла tar.bz2 из стандартного ввода
При извлечении сжатого файла tar.bz2 путем чтения архива из стандартного ввода (обычно через конвейерную передачу) необходимо указать параметр распаковки. Опция указывает, что файл сжимается с помощью bzip2.
В приведенном ниже примере мы загружаем исходные тексты Vim, используя команду, и направляем ее вывод в команду:
Если вы не укажете опцию декомпрессии, вам покажут, какую опцию вы должны использовать:
Перечисление файла tar.bz2
Чтобы просмотреть содержимое файла tar.bz2, используйте параметр ( ):
Вывод будет выглядеть примерно так:
Если вы добавите параметр ( ), будет напечатано больше информации, такой как владелец, размер файла, отметка времени .. и т. Д .:
Файл tar.bz2 является архив Tar, сжатый с помощью Bzip2. Чтобы извлечь файл tar.bz2, используйте command followed by the archive name.
Разделить файл командой zipsplit
Если вам нужно отправить ZIP-файл кому-либо, но существуют ограничения по размеру или проблемы с передачей файла, вы можете использовать команду zipsplit чтобы разделить исходный ZIP-файл на набор меньших ZIP-файлов.
Опция (размер) позволяет вам установить максимальный размер для каждого из новых файлов ZIP. В этом примере мы source_code.zip файл source_code.zip . Мы не хотим, чтобы новые ZIP-файлы были больше 100 КБ (102400 байт).
zipsplit -n 102400 source_code.zip
Выбранный вами размер не может быть меньше размера любого из файлов в ZIP-файле.
Используя эти команды, вы можете создавать свои собственные ZIP-файлы, распаковывать полученные ZIP-файлы и выполнять с ними различные другие операции, даже не покидая терминал Linux.
Примеры использования утилиты tar для создания архива
На самом деле, всё можно выяснить экспериментальным путём, но надо же с чего-то начать. Заархивируем папку user в домашней директории пользователя root:
Используем опции:
- для создания Gzip-архива,
- указываем, что создаём архив,
- чтобы видеть, что будет помещаться в архив,
- поместим результат работы архиватора в файл.
Примечательным в этом примере является то, что полностью копирует файловую структуру по указанному пути. Для того, чтобы нагляднее пояснить это, рассмотрим ещё пару примеров. Укажем относительный, (а не абсолютный, как в примере выше) путь до папки, которую помещаем в архив. Получаем вообще странную картину папок, попадающих в архив:
В общем, так можно, но лучше не делать. =)
Ну и рабочий вариант: просто указать имя папки, которую нужно поместить в архив, а сам архив поместим в папку :
Архив действительно будет находиться в папке var и содержать именно то, что нужно — папку user со всем её содержимым.
Как открыть и разархивировать файл TAR?
Если вы часто работаете с архивами .TAR, WindowsRAR следует установить в качестве стандартной для распаковки форматов .tar.gz и .tar.bz2. Если формат папки еще не связан с другим ПО сжатия, два раза нажмите папку TAR. Во втором случае кликните правой клавишей по маркеру упакованного файла TAR, выберите параметр «Открыть с помощью». В новом окне теперь представлены программы, открывающие файлы в формате TAR.
Если WinRAR отсутствует в списке, выберите «Поиск» в нижней области. Теперь проследите путь, по которому расположен архиватор, и установите его как стандартную программу для открытия расширения TAR. Прежде чем подтвердить настройку нажатием «ОК», убедитесь, что в левой части флажок «Всегда открывать тип файла с выбранной программой».
Для чего нужно построение пакетов из исходного кода?
Как уже отмечалось ранее, это необходимо, в первую очередь для устранения брешей в безопасности. Часто новые версии ПО выпускаются в результате внедрения новых подходов и технологий при разработке и оптимизации программного кода, что существенно может сказаться на производительности ПО, и это также довольно частая причина обновления программных пакетов путём их сборки из исходных текстов.
Владельцы и администраторы хостинг-площадок предпочитают также устанавливать в качестве веб-серверов, PHP-интерпретаторов и серверов баз данных (БД) предварительно собранные на целевом оборудовании соответствующие программные пакеты
Это позволяет добиться максимальной совместимости ПО с оборудованием, на котором предполагается его работа и, как следствие — стабильности, что для веб-хостинга очень важно
Для программистов навыки по построению исполняемых файлов из исходного кода являются ключевыми, несмотря даже на то, что с этой задачей прекрасно справляются все современные интегрированные среды разработки (IDE), однако, как показывает практика, часто приходится производить сборку ПО без применения IDE.
Работа с ZIP-файлами
Подготовка
Для работы с данным типом архивов будут использоваться программы ZIP и UNZIP. На некоторых дистрибутивах данные утилиты отсутствуют, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.
sudo apt-get install zip unzip -y
Создание архива ZIP
Синтаксис
zip {имя или путь до архива} {путь до файла или каталога}
Пример:
zip /var/www/mysite.zip /var/www/html/mysite
Извлечение данных из архива ZIP
Синтаксис
unzip {имя или путь до архива} -d {путь до файла или каталога}
Если не указывать аргумент «-d», то файлы будут распакованы в директорию с архивом, указанным в команде.
Пример:
unzip /var/www/mysite.zip -d /var/www/html/mysite
How to Extract (Unzip) Tar Gz File
21 Июня 2020
|
Терминал
В этом руководстве мы покажем вам, как извлечь (распаковать) архивы tar. gz и tgz .
Если вы путешествуете по миру с открытым исходным кодом, скорее всего, вы регулярно сталкиваетесь с файлами .tar.gz . Пакеты с открытым исходным кодом обычно доступны для скачивания в форматах .tar.gz и .zip.
Команда используется для создания архивов tar путем преобразования группы файлов в архив. Он поддерживает широкий спектр программ сжатия, таких как gzip, bzip2, lzip, lzma, lzop, xz и compress. Изначально Tar был предназначен для создания архивов для хранения файлов на магнитной ленте, поэтому он имеет название « T ape AR chive».
Gzip — самый популярный алгоритм сжатия файлов tar. По соглашению имя архива tar, сжатого с помощью gzip, должно заканчиваться на .tar.gz или .tgz .
Короче говоря, файл, который заканчивается на .tar.gz, является архивом .tar, сжатым с помощью gzip.
Команда также может быть использована для извлечения битуминозных архивов, отобразить список файлов , входящих в архив, добавить дополнительные файлы в существующий архив, а также различные другие виды операций.E»
Извлечение файла tar.gz
Большинство дистрибутивов Linux и macOS поставляются с командой tar, предварительно установленной по умолчанию.
Чтобы извлечь файл tar.gz, используйте оператор ( ) и укажите имя файла архива после параметра:
Команда автоматически определит тип сжатия и извлечет архив. Эту же команду можно использовать для извлечения архивов tar, сжатых с помощью других алгоритмов, таких как .tar.bz2 .
Если вы пользователь Desktop, а командная строка — не ваша вещь, вы можете использовать диспетчер файлов. Чтобы извлечь (распаковать) файл tar.gz, просто щелкните правой кнопкой мыши файл, который вы хотите извлечь, и выберите «Извлечь». Пользователям Windows потребуется инструмент с именем 7zip для извлечения файлов tar.gz.
Опция сделает команду более заметной и напечатать имена файлов извлекаются на терминале.
По умолчанию будет извлекаться содержимое архива в текущем рабочем каталоге . Используйте ( ) для извлечения архивных файлов в определенном каталоге:
Например, чтобы извлечь содержимое архива в каталог, вы можете использовать:
Извлечение определенных файлов из файла tar.gz
Чтобы извлечь определенный файл (ы) из файла tar.gz, добавьте разделенный пробелами список имен файлов, которые будут извлечены после имени архива:
При извлечении файлов вы должны указать их точные имена, включая путь, как указано в ( ).
Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:
Если вы попытаетесь извлечь файл, который не существует, появится сообщение об ошибке, подобное следующему:
Вы также можете извлечь файлы из файла tar.gz на основе шаблона с подстановочными знаками, используя опцию и заключив в кавычки шаблон, чтобы предотвратить интерпретацию оболочкой.
Например, чтобы извлечь файлы, имена которых заканчиваются (файлы Javascript), вы должны использовать:
Извлечение файла tar.gz из stdin
Если вы извлекаете сжатый файл tar.gz, читая архив из stdin (обычно через канал), вам нужно указать опцию распаковки. Опция, которая указывает tar читать архивы через gzip — это .
В следующем примере мы загружаем исходные тексты Blender с помощью команды и направляем их вывод в команду:
Если вы не укажете опцию декомпрессии, укажите, какую опцию вам следует использовать:
Перечисление файла tar.gz
Чтобы просмотреть содержимое файла tar.gz, используйте параметр ( ):
Вывод будет выглядеть примерно так:
Если вы добавите параметр ( ), будет напечатано больше информации, такой как владелец, размер файла, отметка времени .. и т. Д .:
Файл tar.gz представляет собой архив Tar, сжатый с помощью Gzip. Чтобы извлечь файл tar.gz, используйте команду с именем архива.
Автоматическая сборка — написание Make-файлов
Конечно, для больших проектов ручная сборка — это крайне неудобно. Именно поэтому и была когда-то давно разработана утилита make, позволяющая производить построение проектов любой сложности. Она выполняет инструкции и правила по автоматизации процесса сборки, хранящиеся в специальных Make-файлах.
Синтаксис Makefile’а следующий:
target: dependencies system command
Это описание цели, в котором указываются зависимости dependencies, команды для достижения цели system command, а также сама цель target. Символ табуляции является обязательным и только этим символом обозначаются команды для достижения целей. Например, для данного примера, одна из целей будет иметь следующее описание:
BaseClass.o: src/BaseClass.cpp g++ -c -o BaseClass.o src/BaseClass.cpp
Эта запись означает, что для получения объектного файла BaseClass.o нужно использовать исходный код из файла src/BaseClass.cpp, использовав команду g++, которой, в свою очередь, передаются соответствующие параметры.
Для вышеупомянутого проекта HelloWorld Make-файл будет иметь следующий вид:
all: HelloWorld HelloWorld: HelloWorld.o BaseClass.o ChildClass.o g++ -o HelloWorld HelloWorld.o BaseClass.o ChildClass.o HelloWorld.o: main.cpp g++ -c -o HelloWorld.o main.cpp BaseClass.o: src/BaseClass.cpp g++ -c -o BaseClass.o src/BaseClass.cpp ChildClass.o: src/ChildClass.cpp g++ -c -o ChildClass.o src/ChildClass.cpp
Make-фалы обычно имеют имя Makefile. Это, своего рода унификация для того, чтобы утилита make самостоятельно отыскивала и распознавала Make-файлы без надобности явно их ей передавать в качестве аргумента в командной оболочке.
Теперь нужно выполнить команду make и запустить построенный исполняемый файл:
$ make $./HelloWorld 5.25
Но даже и такой вариант для больших проектов не подойдёт, поскольку придётся обрабатывать практически каждый файл отдельно, задавая для них описания целей. Используя правила implicit rules, а также predrfined implicit rules можно заставить Make-файл автоматически обрабатывать содержимое проекта и генерировать описания целей для его компонентов. Для того, чтобы составлять универсальные Make-файлы нужно придерживаться определённых правил или даже стандартов, определяющих структуру всего проекта, например:
- Имя конечного исполняемого файла должно совпадать с папкой проекта.
- Заголовочные файлы и файлы реализаций находятся в отдельных (include и src соответственно) поддиректориях.
- Функция main находится в отдельном файле, расположенном в корне проекта над директориями src и include.
- Объектные файлы должны создаваться в отдельной поддиректории, например obj.
- Конечный исполняемый файл должен создаваться в отдельной поддиректории, например build.
Make-файл, удовлетворяющий этим требованиям для данного проекта HelloWorld может иметь такой вид:
SRC=src OBJ=obj BIN=build MAIN=./main.cpp TARGET=$(BIN)/$(shell basename `pwd`) SOURCES=$(wildcard $(MAIN) $(SRC)/*.cpp) OBJECTS=$(SOURCES:$(SRC)%.cpp=$(OBJ)%.o) $(OBJ)/%.o: $(SRC)/%.cpp $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $< all: $(TARGET) $(OBJECTS): $(SOURCES) $(TARGET): $(OBJECTS) $(CXX) -o $(TARGET) $(LDFLAGS) $(OBJECTS) $(LOADLIBES) $(LDLIBS) clean: $(RM) $(filter-out $(MAIN),$(OBJECTS)) $(TARGET) .PHONY: all clean
Обращение к переменным производится с помощью конструкции $(VALUE). Запись SOURCES=$(wildcard $(MAIN) $(SRC)/*.cpp) указывает, что исходные тексты будут искаться в поддиректории src по маске *.cpp и в файле main.cpp. А конструкция:
$(OBJ)/%.o: $(SRC)/%.cpp $(CXX) -c $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -o $@ $<
описывает, как будут генерироваться цели для создания объектных файлов в каталоге obj из исходных текстов файлов в каталоге src. Цель clean подразумевает удаление всего, что связано с предыдущими сборками. Функция filter-out, присутствующая в списке команд для этой цели, нужна для того, чтобы при очистке не удалились нужные файлы, в данном случае — main.cpp. Цель .PHONY описывает зависимости, не связанные напрямую с файлами.
Теперь, после выполнения команды make:
$ make
исполняемый файл будет в директории build:
$ ls build HelloWorld
Объектные файлы — в директории obj:
$ ls obj BaseClass.o ChildClass.o
Следует отметить, что грамотное составление универсальных Make-файлов требует предварительно и внимательного изучения соответствующей документации, например по адресу http://www.gnu.org/software/make/manual/, где можно найти исчерпывающее описание для более подробного изучения данной темы.
Опции архиватора tar, которые могут пригодиться при создании архива на сервере
Вызов утилиты архивирования в Linux крайне прост:
- tar — это вызов утилиты
- опции — указание того, как использовать утилиту (рассмотрим ниже)
- файл_архива — путь к файлу (не обязательно, если отсутствует, архив будет создан в текущей директории) и название файла, куда поместить готовый архив
- /путь_до_того,_что_нужно_архивировать — путь до папки (с указанием самой папки) или файла (с указанием имени файла), которые должны быть помещены в архив
Список опций, которые могут потребоваться при использовании архиватора
- A — добавить файл к архиву
- c — создать архив в linux
- d — сравнить файлы архива и распакованные файлы в файловой системе
- j — сжать архив с помощью Bzip
- z — сжать архив с помощью Gzip
- r — добавить файлы в конец архива
- t — показать содержимое архива
- u — обновить архив относительно файловой системы
- x — извлечь файлы из архива
- v — показать подробную информацию о процессе работы
- f — файл для записи архива
- -C — распаковать в указанную папку
- —strip-components — отбросить n вложенных папок
Программа для открытия файлов TAR в системе Windows
Особенно популярным и удобным программным обеспечением для распаковки и открытия файлов .tar.gz и .tar.bz2 в Windows является WinRAR.
Winrar признана классикой среди упаковочного ПО и может быть загружена в тестовой версии с сайта производителя WindowsRAR.ru. С ней файлы в системах Windows могут сжиматься намного эффективнее, чем с форматами ZIP. Лучшая и самая важная функция WinRAR понятна и отлично выполняется упаковщиком: экономит место на диске, время передачи. В дополнение к основной задаче, программное обеспечение предлагает множество других инструментов при архивировании файлов.
Главное преимущество WinRaR заключается в том, что она распознает двойные файлы и распаковывает их непосредственно за один шаг. Даже если вы дважды откроете .tar.gz и .tar.bz2, вы сможете напрямую просмотреть отдельные папки, упакованные в него с помощью архиватора. Это особенно удобно и стоит запомнить, поскольку на самом деле в формате .bz есть только один файл .TAR. Только в нем находятся отдельные оригинальные файлы.
Программа для открытия TAR файлов используется в пробной версии бесплатно в течение 40 дней. Далее производитель предложит вам купить лицензию.
Часто используемые ключи команды tar
- -c – создать (create) новый архив
- -x – извлечь (extract) файлы из архива
- –delete – удалить (delete) файлы из архива
- -r – добавить (append) файлы в существующий архив
- -A – добавить (append) tar-файлы в существующий архив
- -t – список файлов в архиве (содержимое архива)
- -u – обновить (update) архив
- -d – операция сравнения архива с заданной файловой системой
- -z – обработка архива с помощью Примеры использования gzip и gunzip. Сжатие или разжатие, в зависимости от комбинации сопутствующих ключей -c или -x.
- -j – обработка архива с помощью bzip2. Сжатие или разжатие, в зависимости от комбинации сопутствующих ключей -c или -x.
tar запускается с обязательным указанием одного из основных действий, самые распространенные из которых — создание и распаковка архивов, далее задаются прочие параметры, зависящие от конкретной операции.
Наиболее общее использование tar заключается в распаковке и разархивировании пакета, загруженного с веб- или ftp-сайта. Большинство файлов имеют расширение .tar.gz. Довольно часто их называют “tarball”’ами. Это означает несколько файлов, заархивированных tar’ом, а затем сжатых gzip’ом. Вы также можете встретить файлы .tar.Z. По сути это то же самое, однако встречаются они в основном на старых системах Unix.
Кроме того вы можете натолкнуться на файлы .tar.bz2. В таком виде распространяются исходные тексты ядра, поскольку так они занимают меньше места для загрузки. Как вы уже наверное догадались, это файлы, заархивированные tar’ом и сжатые bzip’ом.
Вы можете извлечь все файлы из такого архива, воспользовавшись tar’ом с несколькими опциями командной строки. Разархивирование тарбола выполняется с помощью опции -z, которая означает, что сначала файл должен быть пропущен через gunzip, а уже потом распакован. Наиболее общий метод распаковки тарболов:
% tar -xvzf файл.tar.gz
Здесь довольно много опций. Что же они означают? Опция -x означает извлечение
Это важно, поскольку она сообщает tar’у, что именно нужно сделать со входным файлом. В данном случае он будет снова разбит на файлы, из которых он был “слеплен”
Опция -v означает включение подробного режима. При этом на экран будут выведены названия всех извлекаемых из архива файлов. Неплохо было бы использовать эту опцию, чтобы распаковка не выглядела слишком скучно. Вы также можете использовать -vv, чтобы вывод был ещё более подробным и вы получили ещё больше информации об извлекаемых файлах. Опция -z сообщает tar’у о том, что файл.tar.gz нужно сначала пропустить через gunzip. И, наконец, опция -f сообщает tar’у, что следующая строка в командной строке — это файл, с которым надо работать.
Существует несколько способов записи этой же команды. На старых системах, на которых отсутствует подходящая копия GNU tar, вы можете увидеть следующую запись этой же команды:
% gunzip файл.tar.gz | tar -xvf -
В этой команде файл сначала распаковывается, а результат отправляется в tar. Т.к. gzip по умолчанию записывает выходные данные на стандартный вывод, эта команда будет записывать распакованный файл на стандартный вывод. Затем конвейер перенаправляет этот поток в tar для распаковки. Знак “-” означает, что данные берутся со стандартного входа. Таким образом команда разархивирует поток данных, полученный из gzip, и запишет его на диск.
Другим способом записи первоначальной команды является убирание знака “-” перед опциями:
% tar xvzf файл.tar.gz
Также вы можете натолкнуться на bzip’нутый архив. Версия tar, представленная в Slackware Linux, может работать с ними точно так же, как и с gzip’нутыми архивами. Просто вместо опции -z вам нужно использовать -j:
% tar -xvjf файл.tar.bz2
Учтите, что tar будет сохранять извлечённые из архива файлы в текущий каталог. Поэтому, если у вас в /tmp есть архив, который вы хотите распаковать в свой домашний каталог, у вас есть несколько вариантов. Первый — архив можно переместить в ваш домашний каталог, а затем развернуть его с помощью tar. Второй — вы можете указать путь к архиву в командной строке. Третий — вы можете использовать опцию -C, чтобы разархивировать тарбол в указанный после этой опции каталог.
% cd $HOME % cp /tmp/файл.tar.gz . % tar -xvzf файл.tar.gz
% cd $HOME % tar -xvzf /tmp/файл.tar.gz
% cd / % tar -xvzf /tmp/файл.tar.gz -C $HOME
Все приведенные выше записи являются эквивалентными. В каждой из них архив разворачивается в ваш домашний каталог, а исходный сжатый архив остаётся на месте.
Извлечение файлов из файлов Tar
Допустим, вы загрузили два файла ноты. Один файл называется , другой — . Эти файлы находятся в каталоге загрузок.
Давайте извлечем песни укулеле:
tar -xvzf ukulele_songs.tar.gz
По мере извлечения файлов они отображаются в окне терминала.
Параметры командной строки, которые мы использовали:
- -x : Извлечь, извлечь файлы из файла tar.
- -v : подробный список файлов по мере их извлечения.
- -z : Gzip, используйте gzip для распаковки файла tar.
- -f : Файл, имя файла tar, с которым мы хотим работать. За этой опцией должно следовать имя файла tar.
Перечислите файлы в каталоге с помощью и вы увидите, что был создан каталог под названием Ukulele Songs. Извлеченные файлы находятся в этом каталоге. Откуда этот каталог? Он содержался в файле и был извлечен вместе с файлами.
Теперь давайте извлечем гитарные песни. Для этого мы будем использовать почти ту же команду, что и раньше, но с одним важным отличием. Суффикс расширения говорит нам, что он был сжат с помощью команды bzip2. Вместо использования опции (gzip) мы будем использовать опцию (bzip2).
tar -xvjf guitar_songs.tar.bz2
Еще раз, файлы перечислены в терминал, поскольку они извлечены. Для ясности, параметры командной строки, которые мы использовали с для файла :
- -x : Извлечь, извлечь файлы из tar-файла.
- -v : подробный список файлов по мере их извлечения.
- -j : Bzip2, используйте bzip2 для распаковки файла tar.
- -f : Файл, имя файла tar, с которым мы хотим работать.
Если мы перечислим файлы в каталоге Download, мы увидим, что был создан другой каталог с именем Guitar Songs.
Просмотр внутри tar-файлов перед их извлечением
До сих пор мы только что совершили прыжок веры и извлекли файлы из виду незаметно. Вы можете посмотреть, прежде чем прыгать. Вы можете просмотреть содержимое файла прежде чем извлекать его, используя опцию (list). Обычно удобно передавать данные через команду .
tar -tf ukulele_songs.tar.gz | Меньше
Обратите внимание, что нам не нужно использовать опцию для списка файлов. Нам нужно только добавить опцию когда мы извлекаем файлы из файла
Точно так же нам не нужна опция для списка файлов в файле .
Прокручивая вывод, мы видим, что все в файле tar содержится в каталоге с названием Ukulele Songs, и в этом каталоге есть файлы и другие каталоги.
Мы видим, что каталог Ukulele Songs содержит каталоги под названием Random Songs, Ramones и возможный.
Чтобы извлечь все файлы из каталога в файле tar, используйте следующую команду
Обратите внимание, что путь заключен в кавычки, потому что в пути есть пробелы
tar -xvzf ukulele_songs.tar.gz "Песни укулеле / Ramones /"
Чтобы извлечь отдельный файл, укажите путь и имя файла.
tar -xvzf ukulele_songs.tar.gz "Песни укулеле / 023 - My Babe.odt"
Вы можете извлечь выборку файлов, используя подстановочные знаки, где представляет любую строку символов и представляет любой отдельный символ. Использование подстановочных знаков требует использования параметра .
tar -xvz --wildcards -f ukulele_songs.tar.gz "Песни укулеле / Возможные варианты / B *"