Tar восстановление инкрементных резервных копий одной командой

nano , как и большинство текстовых редакторов, ожидает, что имя файла будет редактироваться как аргумент командной строки, а не как стандартный ввод.

$ which env | nano    # pass as standard input, does not work
$ nano "$(which env)" # pass as command-line argument, works

Так что это не работает, потому что nano не рассчитывает использовать его.

В некоторых редакторах (очевидно, не в вашей версии nano) вы можете использовать: от

$ which env | some-other-editor -  # note hyphen as file name

до редактировать стандартный ввод как текст (вы бы редактировали документ со строкой "/ usr / bin / env ", а не сама программа / usr / bin / env).

Кроме того, если вы хотите изменить имена с разделителями в стандартном вводе на аргументы, xargs сделает это за вас.

PS: который не всегда делает то, что вы хотите, рассмотрите вместо этого команду -v . Подробнее см. Почему бы не использовать "which"? Что тогда использовать?

2
31.12.2019, 17:21
1 ответ

cat archive. * Tar | tar xvf - -g / dev / null --ignore-zeros -C destination

В конце файлов tar стоит маркер конца архива (2x 512 блоков нулевых байтов. Tar продолжит чтение за маркером в некоторых случаях, но не будет принимать никаких данных.

- ignore-zeroes укажет ему продолжать чтение независимо от того.

Связано: Tar поддерживает добавление в архивы; это достигается путем поиска до конца, перемотки двух блоков назад и продолжения записи.

3
27.01.2020, 22:03

Теги

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