Tar и загружаю за один шаг через ssh / scp [дубликат]

Проблема в том, как tar хранит файлы. Так, например

$ echo hello > a
$ ln a b
$ tar cf foo.tar a b
$ tar tf foo.tar
a
b

Проблема возникает, когда вы пытаетесь извлечь только один файл

$ mkdir Y
$ cd Y
$ tar xvf ../foo.tar b
b
tar: b: Cannot hard link to `a': No such file or directory
tar: Exiting with failure status due to previous errors

Что вам нужно сделать, так это посмотреть на список содержимого, который показывает

$ tar tvf foo.tar 
-rw-r--r-- sweh/sweh         6 2016-06-13 10:43 a
hrw-r--r-- sweh/sweh         0 2016-06-13 10:43 b link to a

Теперь вы видите, что "b" имеет нулевую длину, тип "h" (первый символ) и помечен как " link to ". Это говорит вам о реальном файле, который вам нужно извлечь.

В этом случае вы можете использовать опцию "O" (отправить в stdout), так что в итоге вы сделаете tar Oxvf ../foo.tar a > b, чтобы создать файл с правильным именем.

9
27.04.2015, 13:03
0 ответов

Теги

Похожие вопросы