AIX создает каталог при копировании

AIX создает каталог при копировании

Как лучше всего создать несуществующий каталог при копировании файлов в AIX? Что-то вроде этого:

ssh server1 'cp -R ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory
ssh server1 'cp -r ~user1/bin/log ~user2/bin/log'
cp: /u/user2/bin/log: No such file or directory

Каталог ~user2/ существует, но каталог ~user2/bin отсутствует.

решение1

Одной из возможностей было бы использование tar-конвейера:

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -x -p -f -)

Это использует подоболочку для перехода в родительский каталог исходного местоположения, затем сообщает о необходимости tarзаписи архива каталога "log" в stdout. Вторая подоболочка переходит в родительский каталог назначения, затем сообщает tarо необходимости извлечения архива, который поступает через stdin канала. tarКоманды связаны в цепочку, &&чтобы выполняться только в случае успешного выполнения соответствующей cdкоманды.

Вы можете проверить это, указав второму tarпросто вывести входящее содержимое; просто измените -xна -t. Использование -pwith -tне имеет значения и не повредит:

(cd ~user1/ && tar -c -p -f - bin/log) | (cd ~user2/ && tar -t -p -f -)

Связанный контент