Команда tar
наиболее часто используется для архивации файлов. Формат команды tar
tar <options> <file1> ... <fileN>
где <options>
есть список команд и опций для tar
, a <file1> ... <fileN>
есть список файлов добавляемых в архив или извлекаемых из него.
Например, команда
# tar cvf backup.tar /etc
упакует все файлы, содержащиеся
в /etc
, в архив tar
под именем backup.tar
.
Первый аргумент команды tar -``cvf'
, это (внутренняя) "команда"
tar
. ``c
'' указывает tar
создать новый
архивный файл. Опция ``v
'' заставляет tar выводить имя каждого
архивируемого файла. Опция ``f
'' говорит, что следующий аргумент
- backup.tar
- имя созданного архивного файла. Остальные аргументы
команды tar
- имя файла и имя добавляемого в архив каталога.
Команда
# tar xvf backup.tar
извлечет архивный файл в текущий каталог. Это может быть иногда и небезопасным занятием, когда извлеченные из архива файлы затирают существовавшие файлы.
Поэтому перед извлечением
архивированных файлов важно знать, где файлы следует распаковать. Например,
вы заархивировали следующие файлы: /etc/hosts
, /etc/group
и /etc/passwd
. Если вы используете команду
# tar cvf backup.tar /etc/hosts /etc/group /etc/passwd
в начало имени каждого файла
добавится каталог с именем /etc
. Чтобы извлечь файлы в нужное место,
вам потребуется использовать следующие команды:
# cd /
# tar xvf backup.tar
поскольку файлы извлечены с сохраненной в архиве тропой
Если вы заархивировали файлы командой
# cd /etc
# tar cvf hosts group passwd
имя каталога не сохраняется
в архивном файле. Поэтому вы должны выполнить ``cd /etc
'' перед извлечением
файлов. Вы обратили внимание: то, как вы создали архивный файл сильно влияет на
то, в каком месте его следует извлекать. Команда
# tar tvf backup.tar
может быть использована для просмотра "индекса" архивного файла перед его распаковкой. Таким образом вы можете посмотреть, к какому каталогу относятся архивированные файлы и сможете извлечь файлы из архива в нужном месте.