Режим извлечения

9.3.3 Режим извлечения

tar -x [-f ARHCIVE] [OPTIONS]

Создание архивов часто используется для облегчения перемещения нескольких файлов. Перед извлечением файлов переместите их в Downloadsкаталог:

sysadmin@localhost : ~/Documents $ cd ~
 sysadmin@localhost : ~ $ cp Documents/folders.tbz Downloads/folders.tbz
 sysadmin@localhost : ~ $ cd Downloads

Наконец, вы можете извлечь архив с –xопцией после его копирования в другой каталог. В следующем примере используется тот же шаблон, что и раньше, с указанием операции, сжатия и имени файла для работы.

Вариант

Функция

-x

Извлечь файлы из архива.

-j

Распаковать с помощью bzip2команды.

-f ARCHIVE

Работайте с данным архивом.

sysadmin@localhost:~/Downloads$ tar -xjf folders.tbz
sysadmin@localhost:~/Downloads$ ls -l
total 8
drwx------ 5 sysadmin sysadmin 4096 Dec 20  2017 School
-rw-rw-r-- 1 sysadmin sysadmin  413 Oct 31 18:37 folders.tbz

Исходный файл остается нетронутым, и создается новый каталог. Внутри каталога находятся исходные каталоги и файлы.

sysadmin@localhost:~/Downloads$ cd School
sysadmin@localhost:~/Downloads/School$ ls -l
total 12
drwx------ 2 sysadmin sysadmin 4096 Oct 31 17:45 Art
drwx------ 2 sysadmin sysadmin 4096 Oct 31 17:47 Engineering
drwx------ 2 sysadmin sysadmin 4096 Oct 31 17:46 Math

Добавьте –vфлаг, и вы получите подробный вывод обработанных файлов, что упростит отслеживание того, что происходит:

Вариант

Функция

-v

Подробно перечислите обработанные файлы.

Следующий пример повторяет предыдущий пример, но с добавлением опции –v:

sysadmin@localhost:~/Downloads$ tar -xjvf folders.tbz
School/
School/Engineering/
School/Engineering/hello.sh
School/Art/
School/Art/linux.txt
School/Math/
School/Math/numbers.txt

Важно сохранить –fфлаг в конце, так как tarпредполагается, что все, что следует за этой опцией, является именем файла. В следующем примере флаги –fи –vбыли переставлены, что привело к tarинтерпретации команды как операции с vнесуществующим файлом с именем .

sysadmin@localhost:~/Downloads$ tar -xjfv folders.tbz 
tar (child): v: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Если вам нужны только некоторые файлы из архива, добавьте их имена в конец команды, но по умолчанию они должны точно совпадать с именем в архиве или использовать шаблон.

В следующем примере показан тот же архив, что и раньше, но извлечен только School/Art/linux.txtфайл. Вывод команды (поскольку с –vфлагом был запрошен подробный режим) показывает, что был извлечен только один файл:

sysadmin@localhost:~/Downloads$ tar -xjvf folders.tbz School/Art/linux.txt
School/Art/linux.txt

У команды tarгораздо больше возможностей, таких как возможность использования шаблонов при извлечении файлов, исключение определенных файлов или вывод извлеченных файлов на экран вместо диска. Документация содержит tarподробную информацию.

Last updated