Во-первых, когда вы используете опцию -f
для tar
, вам нужно дать ей аргумент, сообщающий имя файла архива. Поскольку вы кормите его из трубы из gunzip
, мы используем -
для обозначения стандартного ввода:
gunzip -c files_20100623.0110.tar.gz | tar -xvf - home/bsisplas/public_html/staging/template/*.*
Следующим моим пунктом будет то, что вам нужно только указать имя каталога. (Также: *.*
Обычно DOS-изм. Если вы имеете в виду "все файлы" в Unix, просто напишите *
. Если вы пишете *.*
Вы говорите «все файлы с точкой где-то в их имени», что может исключать важные файлы без точки, такие как Makefile
или README
):
gunzip -c files_20100623.0110.tar.gz | tar -xvf - home/bsisplas/public_html/staging/template
Это должно работать. Но вы можете немного упростить задачу, используя опцию tar
' -z
, которая говорит, что он должен делать сам gunzip
. Мы используем это и заменим -
входное имя файла на имя файла архива:
tar -xvzf files_20100623.0110.tar.gz home/bsisplas/public_html/staging/template
Как это работает?