в этой лекции вы узнаете, как архивировать и сжимать
файлы и каталоги в linux. Тег - это наиболее широко используемая команда
для создания сжатых архивных файлов, которые можно легко перемещать с одного диска или машины на другой.
Эта команда имеет большое количество параметров, но вы нужно запомнить только некоторые из них, чтобы мы могли
быстро с ними работать. tar - это сложный инструмент, используемый как для архивирования, так и для сжатия файлов, а также для
извлечения полученных архивов, прежде чем продолжить. Я хочу провести различие между двумя терминами:
архивирование и сжатие средства архивирования что если вы возьмете 10 файлов по 100 килобайт и заархивируете
их, итоговый единственный файл будет равен 1000 килобайт, с другой стороны, если вы сжимаете эти 10 файлов,
вы можете обнаружить, что результирующий файл имеет широкий диапазон от нескольких килобайт до близкого к
исходному размеру в зависимости от исходного типа файла обычно текстовые файлы имеют более высокую степень
сжатия targalone архивирует только файлы, которые он не сжимает, а
использует определенные параметры st ar может передавать файлы в алгоритм сжатия, и конечный результат
будет сжат без использования другой специальной команды, чтобы эти ноги стали практичными и увидеть
наиболее часто используемые параметры, наиболее важные из них rc, который создает архив x, который извлекает архивы
и t, который отображает содержимое архивов или его оглавление в следующем примере я сжимаю
весь каталог в один файл, он также сжимает все остальные каталоги внутри
самого указанного каталога, другими словами, он работает рекурсивно, я запускаю команду
хорошо, потому что я сжимаю каталог tc с косой чертой, и есть файлы, которые могут быть прочитаны только root
r минус cz vf имя архива и т. д. точка par точка gz и путь к каталогу косая черта itc я нажимаю
Enter, теперь вы видят в терминале
процесс команды это то, что опция минус v, что означает подробный, делает
это необязательно, но полезно, если я снова запустил команду без опции минус v, она
будет работать тихо Ly, ничего не отображая на экране, я запускаю его снова без v,
он не отображает его прогресс, так как эти архивные файлы называются tarbles, давайте
внимательнее рассмотрим каждый параметр c означает создать архив z скажите звезде, чтобы также сжать архив
с использованием сжатия gzip или gnu zip, кстати , это наиболее используемый протокол сжатия в Linux
, поэтому получившийся файл имеет расширение dot targ.js двойное расширение, однако иногда
вместо этого используется расширение dot tgz, обратите внимание, что тип Файл не имеет своего расширения,
это полезно только для визуального определения типа конкретного файла, в этом случае это архив, который
был дополнительно сжат с помощью gzip, а f позволяет вам указать имя файла архива
в других комментариях Linux, которые он не делает Не имеет значения порядок опций, но в случае tar
обязательно указать имя файла архива после опции f, если я напишу опцию минус f
в начале, я получу сообщение об ошибке, как это
архив был создан ed в текущем каталоге,
но вы можете создать его в любом другом месте, указав путь,
например, я создаю архив в слэш tmp,
другой полезный алгоритм сжатия - bzip2, который создает файлы меньшего размера, но за счет
скорости, однако в настоящее время компьютеры настолько быстрые, что большинство пользователи не заметят
большой разницы между временем, затрачиваемым gzip или bzip2 на сжатие группы файлов
для использования bzip2 вместо gzip, просто используйте параметр j вместо z
, обычно используется этот tar, что bz2, для панели всасывающего архива, которая Тег занято слишком
часто используется для сжатия одного каталога, но вы также можете
использовать его для сжатия нескольких каталогов, нескольких отдельных файлов или того и другого, чтобы просто предоставить список
каталогов хранилища файлов вместо одного, как этот par минус czvf archive archive.gz
и файлы и т. д. пароль atc group var log d message
Я заархивировал и сжал 3 файла, конечно, я могу добавить каталог, а также
есть некоторые ошибки с отказом в разрешении, поэтому я снова запускаю комментарий w ith sudo
в некоторых случаях полезно исключить некоторые файлы из архива, представьте, что вы делаете
резервную копию каталога и хотите исключить музыкальное видео или другие неважные файлы,
чтобы сделать это, используйте один или несколько параметров исключения, таких как этот par minus minus exclude
равно и файлы для исключения, например, звезда точка mkv другой минус минус исключить
равно этой конфигурации и минус минус исключить равно, что кеш теперь параметры имя архива
и имя каталога домашний каталог пользователя
косая черта домашний ученик он будет исключать эти файлы из архива
идеально подходят, если у вас есть архив, вы можете извлечь его с помощью той же команды, которая
звездочка, я собираюсь извлечь содержимое архива в текущий рабочий каталог, поэтому tar
минус x, который поступает из извлечения и тех же параметров zvf и имя архива,
в который архив был извлечен в текущем каталоге, это его контекст и т.
д. каталог vtc, если вы хотите извлечь архив в другой каталог, используйте параметр с заглавной буквы c
в каталоге назначения я создаю новый каталог с именем mybackup, и я извлечу
содержимое bzip2archive в этот каталог mkdir my backup и tar xjvf
имя архива и т. д. tar.bz2 capital c и целевой каталог, используя правильный путь,
и он был извлечен в этом каталоге,
давайте проверим, какой алгоритм сжимает лучше,
и sudo do minus sh и т. д. хорошо, давайте взглянем на архивы, мы заметим, что bzip2 лучше
1,1 делить на 1,3 умножить на 100 Я посчитал и выяснил что bisip2 занимает
только 85 процентов пространства, занимаемого архивом gzp, а размер
исходного каталога составляет 12 мегабайт, поэтому коэффициент сжатия был 1,1, деленный на 12.
примерно 90, обратите внимание, что эти два алгоритма сжатия несовместимы, если вы хотите
извлечь файл gcp, используя опцию минус j, которая является опцией для архивов типа bzip2,
вы получите сообщение об ошибке, укажите правильную опцию: z для gzip и j для b zip 2
или allowtar для автоматического определения th e тип сжатия, не указав опцию для алгоритма сжатия,
поэтому tar минус xzvf и b zip для архива,
мы не можем использовать z для архивов типа b z2 указать j или вообще не указывать опцию,
чтобы увидеть содержимое архива, используйте опцию minus t который поступает из
оглавления, когда вы хотите проверить, находится ли конкретный файл в архивном конвейере, вывод
предыдущей команды в grep Я хочу проверить, что файл конфигурации запроса ssh
находится в архиве, поэтому tar минус tf имя архива и конвейер grep sshd underline config,
и он есть, но файла конфигурации веб-сервера apex нет,
есть этот каталог, но это не файл конфигурации веб-сервера,
примеры, показанные в этой лекции, чрезвычайно полезны, потому что и т. д. каталог содержит
файлы конфигурации всей системы, на мой взгляд, обязательно иметь резервную копию
этого каталога, чтобы ее можно было восстановить, если после обновления или изменения что-то пойдет не так,
и я покажу вам трюк если вы хотите иметь версии, которые являются резервными копиями, сделанными в разные дни,
вам нужно вставить дату в имя файла резервной копии,
для этого вам нужно выполнить замену команды, например, этот tar минус cjvf
имя архива, это c минус, и теперь трюк знак доллара пара круглых скобок
и между круглыми скобками команда оболочки дата пробел плюс процент капитала f
точка tag.busy2 и имя
каталога, и я запускаю его как root,
посмотрите, как создается новый архив с текущей датой в имени файла было создано то, что в комментарии
было заменено командой date на вывод x, поэтому пробел даты плюс процент f
команда была заменена этим выводом,
мы углубимся в это в разделе сценариев оболочки в последнее время, я видел больше и другие файлы с
расширением xz. Это файлы, сжатые с помощью алгоритма lzma, и тег автоматически определит
тип сжатия и извлечет архив. Позвольте мне показать вам быстрый пример. Я
скачаю архив типа xz с gnu.org, это ядро. ут ilis архив он содержит все основные команды linux,
архив находится в текущем каталоге и tar минус xvf и имя архива, и он
извлекает архив, в большинстве случаев вы будете использовать звезду для сжатия файлов с использованием различных
протоколов сжатия, однако обратите внимание, что там также являются выделенными командами, которые сжимают или
извлекают файлы и каталоги только с помощью gzip, а bzip2 gzip используется для сжатия файла или каталога
g-unzip используется для извлечения архива gzp, затем есть bzip2
и b unzip 2.