`tar c <файл> | tar x` записывает файл по неожиданному пути

В bash Ctl + alt + e выполняет расширение оболочки, таким образом вводя ! 1255 , а затем нажимая эту комбинацию, заменяет текущую строку содержимым записи истории 1255

-121--29567-

Нажатие клавиши Ctrl + R (которая представляет собой привязку ключа обратного инкрементного поиска emacs как @ gnp, переданную в комментариях) в терминале позволяет выполнять поиск конкретной команды в области. Команда будет показана и может быть отредактирована перед выполнением. Вы увидите следующее:

enter image description here

Источник

-121--29565-

Та же проблема была исправлена после запуска sudo update-grub (вы увидите, обнаружен ли загрузчик Windows).

0
27.06.2018, 03:55
2 ответа

Creo que hice que esto funcionara usando la opción -O de tar xque le permite escribir la salida en stdout, por lo que parece:

tar c /Users/you/x/y/z | tar x -O > z.tgz

un problema con esta técnica es que no parece admitir la escritura de varios archivos:

tar c z1 z2 z3 | tar x -O > z.tgz

parece que z.tgz solo representará z3...

0
28.01.2020, 02:32

Lo que hago cuando copio cosas es:

tar c here/is/the/stuff | (cd /where/it/should/go; tar x)

Explicación :El primer tarempaqueta a la salida estándar, esto se canaliza al segundo comando, que es un subshell (el (lo inicia )que cambia de directorio y luego ejecuta el segundo tar. Esto es bueno si quieres usar, p. finalización de archivos para nombres desordenados. O puede usar la opción -Cpara cambiar el directorio antes de realizar la operación, como:

tar c here/is/the/stuff | tar -C /where/it/should/go -x
2
28.01.2020, 02:32

Теги

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