- Архивирование файлов TAR
- Архивирование файлов и папок с помощью tar
- Краткий список команд
- Создание нового архива
- Извлечение архива
- Создание архива в формате GZIP и BZIP
- Создание архива из нескольких каталогов или файлов одновременно
- Исключить каталоги или файлы при создании архива
- Список содержимого архива без извлечения
- Добавление файлов в существующий архив
- Как заархивировать папку в Linux
Архивирование файлов TAR
Архивирование — это процесс объединения нескольких файлов и каталогов в один файл. А сжатие — это процесс уменьшения размера файлов или каталогов. Архивирование часто используется для резервного копирования системы или при перемещении данных. Надеюсь, теперь вы понимаете разницу между архивированием и сжатием. Давайте перейдем к теме.
Наиболее распространенные программы для архивирования файлов и каталогов:
Архивирование файлов и папок с помощью tar
Tar — это команда Unix, которая обозначает Tape Archive. Она используется для объединения или сжатия нескольких файлов в один файл. В утилите tar есть 4 основных режима работы.
- c — Создать архив из файлов или каталогов.
- x — Извлечь архив.
- r — Добавить файлы в конец архива.
- t — список содержимого архива.
Краткий список команд
- Простой tar архив: tar -cf archive.tar file1 file2 file3
- gzip tar архив: tar -czf archive.tgz file1 file2 file3
- bzip tar архив: tar -cjf archive.tbz file1 file2 file3
- Простой tar архив: tar -xf archive.tar
- gzip tar архив: tar -xzf archive.tgz
- bzip tar архив: tar -xjf archive.tbz
Создание нового архива
Для целей данной статьи я буду использовать папку с именем mordeniuss, которая содержит файлы трех разных типов.
ls mordeniuss/ file.odt image.png song.mp3
Теперь давайте создадим новый tar-архив каталога mordeniuss.
tar cf mordeniuss.tar mordeniuss/
Здесь флаг c обозначает создание нового архива, а f — имя файла.
Аналогично, чтобы создать архив из набора файлов в текущем рабочем каталоге, используйте эту команду:
tar cf archive.tar file1 file2 file3
Извлечение архива
Чтобы извлечь архив в текущем каталоге, просто выполните:
Мы также можем извлечь архив в другой каталог, используя флаг -C. Например, следующая команда извлекает данный архивный файл в каталог загрузок.
tar xf mordeniuss.tar -C Downloads/
Или перейдите в папку Downloads и распакуйте архив внутри нее, как показано ниже.
cd Downloads/ tar xf ../mordeniuss.tar
Также вы можете извлечь файлы только определенного типа. Например, следующая команда извлекает файлы типа «.png».
tar xf mordeniuss.tar --wildcards "*.png"
Создание архива в формате GZIP и BZIP
По умолчанию Tar создает архивный файл с расширением .tar. Кроме того, команда tar может использоваться в сочетании с утилитами сжатия gzip и bzip2. Файлы оканчиваются расширениями .tar, ссылаются на обычный архив tar, файлы оканчиваются на tar.gz или .tgz, обозначает архив gzip, а файлы tar заканчиваются на tar.bz2 или .tbz — архив bzip, соответственно.
Во-первых, давайте создадим сжатый архив:
tar czf mordeniuss.tar.gz mordeniuss/ или tar czf mordeniuss.tgz mordeniuss/
Здесь мы используем флаг z для сжатия архива методом сжатия gzip.
Вы можете использовать флаг v для просмотра прогресса при создании архива.
tar czvf mordeniuss.tar.gz mordeniuss/ mordeniuss/ mordeniuss/file.odt mordeniuss/image.png mordeniuss/song.mp3
Чтобы создать сжатый архив из списка файлов:
tar czf archive.tgz file1 file2 file3
Чтобы распаковать архив в текущем каталоге, используйте:
Чтобы извлечь архив в другую папку, используйте флаг -C
tar xzf mordeniuss.tgz -C Downloads/
Давайте создадим архив bzip. Для этого используйте флаг j, как показано ниже.
tar cjf mordeniuss.tar.bz2 mordeniuss/ или tar cjf mordeniuss.tbz mordeniuss/
Создание архива из списка файлов:
tar cjf archive.tar.bz2 file1 file2 file3 или tar cjf archive.tbz file1 file2 file3
Распакуем архив в текущем каталоге. Для этого используем:
Для извлечения в другой каталог:
tar xjf mordeniuss.tar.bz2 -C Downloads
Создание архива из нескольких каталогов или файлов одновременно
Это еще одна крутая особенность команды tar. Чтобы создать сжатый архив из нескольких каталогов или файлов одновременно, используйте эту команду:
tar czvf mordeniuss.tgz Downloads/ Documents/ mordeniuss/file.odt
Приведенная выше команда создаст архив из папок Downloads, Documents и файла file.odt в каталоге mordeniuss и сохранит архив в текущем рабочем каталоге.
Исключить каталоги или файлы при создании архива
Это очень полезно при резервном копировании ваших данных. Вы можете исключить несущественные файлы или каталоги из вашей копии. Тут потребуется ключ -exclude. Например, вы хотите создать архив вашей домашней директории, но исключить загрузки, документы, изображения, музыку.
tar czvf mordeniuss.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music
Приведенная выше команда создаст сжатый архив моего каталога $HOME, исключая папки Downloads, Documents, Pictures и Music. Чтобы создать архив bzip, замените z на j и используйте расширение .tbz в примере.
Список содержимого архива без извлечения
Чтобы просмотреть содержимое, используйте флаг t.
tar tf mordeniuss.tar mordeniuss/ mordeniuss/file.odt mordeniuss/image.png mordeniuss/song.mp3
Чтобы просмотреть подробный вывод, используйте флаг v.
tar tvf mordeniuss.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 mordeniuss/ -rw-r--r-- sk/users 9941 2018-03-24 13:49 mordeniuss/file.odt -rw-r--r-- sk/users 36014 2015-09-30 11:52 mordeniuss/image.png -rw-r--r-- sk/users 112382 2018-02-22 14:35 mordeniuss/song.mp3
Добавление файлов в существующий архив
Файлы или каталоги могут быть добавлены / обновлены в существующие архивы с помощью флага r. Посмотрите на следующую команду.
tar rf mordeniuss.tar mordeniuss/ sk/ example.txt
Приведенная выше команда добавит каталог sk и файл example.txt в архив mordeniuss.tar.
Вы можете проверить, добавлены ли файлы или нет, используя команду:
tar tvf mordeniuss.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 mordeniuss/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 mordeniuss/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 mordeniuss/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 mordeniuss/song.mp3 drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/ -rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt -rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt
Как заархивировать папку в Linux
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 9 человек(а).
Количество просмотров этой статьи: 68 735.
Самый простой способ передать несколько файлов из Linux-системы — это заархивировать их с помощью команды tar (имейте в виду, что файлы в таком архиве не сжимаются). Если заархивировать папку (каталог), несколько файлов превратятся в один файл, который можно передать, сохранить или сжать, чтобы уменьшить его размер.
- Команда tar заархивирует, но не сожмет файлы. Поэтому размер архива будет равен суммарному размеру всех файлов, которые находятся в нем. Файл с расширением .tar можно сжать с помощью команды gzip или bzip2 , чтобы получить файл с расширением .tar.gz или .tar .bz2 . Процесс сжатия файла описан в конце этой статьи. [1] X Источник информации
Создайте архив из одной папки (каталога). Команда tar сопровождается рядом опций, когда архив создается из каталога. Далее приведен пример использования команды tar : [2] X Источник информации
tar -cvf Имя.tar /путь/к/каталогу
- tar — команда, которая запускает архиватор Tar.
- c — опция, которая отвечает за создание файла с расширением .tar. Эта опция всегда идет первой.
- v — опция, которая отвечает за вывод на экран подробной информации. То есть в процессе архивирования на экране будут отображаться файлы, которые отправляются в файл с расширением .tar. Вводите эту опцию по желанию.
- f — опция, которая отвечает за присвоение имени файлу с расширением .tar. Эта опция всегда идет последней.
- Имя.tar — это имя архива. Введите любое имя по своему желанию, но в конце имени не забудьте добавить расширение .tar . К имени файла можно также добавить путь к файлу, если вы хотите создать архив в другой директории (то есть отличной от текущей).
- /путь/к/каталогу — это путь к каталогу, из которого создается архив. Этот путь соотносится с вашим текущим каталогом. Например, если полный путь ~/home/user/Pictures , а вы находитесь в каталоге /home , введите /user/Pictures . Имейте в виду, что все подкаталоги также будут включены.
Создайте архив из нескольких папок (каталогов). Для этого в конце команды tar нужно добавить пути к соответствующим папкам:
tar -cvf Имя.tar /etc/папка1 /var/www/папка2
Добавьте файлы или папки в существующий архив. Чтобы добавить файлы и папки в существующий файл с расширением .tar, используйте соответствующую опцию: [3] X Источник информации
tar -rvf Имя.tar файл.txt путь/к/другому/каталогу
- r — опция, которая отвечает за добавление файла или папки в существующий архив. Она ставится вместо опции c , которая используется, когда создается новый архив.
Сожмите существующий файл с расширением .tar. Чтобы быстро сжать архив, воспользуйтесь командой gzip. Чтобы максимально сжать файл и получить архив наименьшего размера, воспользуйтесь командой bzip2 (имейте в виду, что эта команда будет сжимать архив дольше, чем команда gzip).
- Команда gzip создаст файл с расширением .gz , то есть получится файл Имя.tar.gz
- Команда bzip2 создаст файл с расширением .bz2 , то есть получится файл tarName.tar.bz2
Сожмите архив, когда он создается. Можно сжать уже созданный архив, а можно сжать его в процессе создания с помощью соответствующих опций: [4] X Источник информации
tar -czvf Имя.tar.gz /путь/к/каталогу tar -cjvf Имя.tar.bz2 /путь/к/каталогу
- z — опция, которая отвечает за сжатие нового архива с помощью gzip. Обязательно добавьте расширение .gz в конце имени файла.
- j — опция, которая отвечает за сжатие нового архива с помощью bzip2. Обязательно добавьте расширение .bz2 в конце имени файла. [5] X Источник информации