Режим извлечения
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