По сути, tar-файл - это способ создания архивного файла, который содержит много других файлов.
Представьте, что у вас есть структура папок с файлами в ней, которые вы хотите скопировать с одного компьютера на другой. Вы можете написать скрипт, который выполняет копию, и помещает все файлы в правильные папки на конечном компьютере.
Было бы намного проще создать единый файл со всеми файлами и папками, включенными как часть файла, который затем можно было бы скопировать в пункт назначения и извлечь.
Пользователи, которые привыкли использовать программное обеспечение Windows, такие как WinZip, уже знают об этом виде функциональности, но разница между zip-файлом и файлом tar заключается в том, что tar-файл не сжимается.
Обычно tar-файл сжимается, как показано в руководстве, показывающем, как извлекать tar.gz-файлы.
В этой статье рассказывается, как использовать команду tar.
Как создать tar-файл
Представьте, что ваша папка с картинками под вашей домашней папкой содержит много разных папок со многими изображениями в каждой папке.
Вы можете создать файл tar, содержащий все ваши изображения, сохраняя структуру папок, используя следующую команду:
Фотографии tar-cvf ~ / фото
Коммутаторы:
- -c = создать
- -v = verbose
- -f = файлы
Как перечислить файлы в tar-файле
Вы можете указать содержимое tar-файла, используя следующую команду:
tar -tf tarfilename
Это предоставляет список файлов и папок в файле tar. Вы всегда должны делать это, прежде чем извлекать tar-файл из странного источника.
По крайней мере tar-файл может извлекать файлы в папки, которые вы не ожидали и не повреждали части вашей системы, поэтому зная, какие файлы идут, где хорошая отправная точка.
В худшем случае, плохие люди создают что-то, называемое бочкой из смолы, которая предназначена для уничтожения вашей системы.
В предыдущей команде просто указывается список файлов и папок. Если вы хотите более подробный вид, показывающий размеры файлов, используйте следующую команду:
tar -tvf tarfilename
Коммутаторы:
- -t = список содержимого архива
- -f = файл
- -v = verbose
Как извлечь из tar-файла
Теперь, когда вы указали файлы в файле tar, вы можете извлечь файл tar.
Чтобы извлечь содержимое tar-файла, используйте следующую команду:
tar -xvf tarfile
Коммутаторы:
- -x = экстракт
- -v = verbose
- -f = файл
Как добавить файлы в tar-файл
Если вы хотите добавить файлы в существующий файл tar, выполните следующую команду:
tar -rvf tarfilename / путь / в / файлы
Коммутаторы:
- -r = Добавить
- -v = Подробный
- -f = Файлы
Как добавлять файлы только в том случае, если они более свежие
Проблема с предыдущей командой заключается в том, что если вы добавили файлы, которые уже существуют в файле tar, они будут перезаписаны.
Если вы хотите добавлять файлы только в том случае, если они новее существующих файлов, используйте следующую команду:
tar -uvf tarfilename / путь / в / файлы
Как предотвратить выброс из перезаписи файлов при извлечении
Если вы извлекаете tar-файл, вы можете не перезаписывать файлы, если они уже существуют.
Эта команда гарантирует, что существующие файлы остаются в силе:
tar -xkvf tarfilename
Только извлечение файлов, которые отличаются от существующих файлов
Если вы извлекаете tar-файл, вы можете быть довольны перезаписью файлов, но только если файл в tar-файле более новый, чем существующий файл.
Следующая команда показывает, как это сделать:
tar --keep-newer-files -xvf tarfilename
Как удалить файлы после добавления их в tar-файл
Файл tar остается несжатым, поэтому, если у вас есть файл с 400 гигабайтами в файл tar, у вас будет 400-гигабайтный файл в исходном месте и tar-файл с файлом 400 гигабайт.
Вы можете удалить исходный файл, когда он добавлен в файл tar.
Следующая команда показывает, как это сделать:
tar --remove-files -cvf tarfilename / path / to / files
Сжатие tar-файла при создании
Чтобы сжать tar-файл, как только он будет создан, используйте следующую команду:
tar -cvfz tarfilename / путь / в / файлы
Резюме
Команда tar содержит десятки переключателей, и больше информации можно найти, используямужская смолаили запускаяtar --help.




