AIX crea directorio al copiar

AIX crea directorio al copiar

¿Cuál es la mejor manera de crear un directorio que no existe al copiar archivos en AIX? Algo como esto:

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

El directorio ~user2/ existe, pero no el directorio ~user2/bin.

Respuesta1

Una posibilidad sería utilizar una tubería de alquitrán:

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

Esto utiliza un subshell para cambiar al directorio principal de la ubicación de origen, luego le indica tarque escriba un archivo del directorio "log" en la salida estándar. El segundo subshell cambia al directorio principal del destino y luego le indica tarque extraiga el archivo que llega a través de la entrada estándar de la tubería. Los tarcomandos se encadenan &&para ejecutarse solo si el cdcomando correspondiente tiene éxito.

Puedes probar esto diciéndole al segundo tarque simplemente imprima el contenido entrante; simplemente cambia el -xa -t. Usar -pcon -tno importa y no duele:

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

información relacionada