GNU/Linux >> Linux Esercitazione >  >> Linux

Come copiare un file e creare le directory di destinazione allo stesso tempo?

Voglio cp aaa/deep/sea/blob.psd a bbb/deep/sea/blob.psd

Come faccio a copiare se il deep e sea le directory non esistono in bbb in modo che la copia crei le directory necessarie e copi il file?

In questo momento ricevo
No such file or directory come il profondo e il mare non esistono.

Ho dato un'occhiata alle pagine della guida di Man e ad altre domande, ma non mi viene in mente nulla.

Il più vicino che ho è usare rcp per la directory:

rcp -r aaa/deep/sea/ bbb/deep/sea/

anche se questo copia l'intera directory e il contenuto e voglio solo un file. Cercando di farlo, tuttavia, cp: cannot create regular file bbb/deep/sea/blob.psd' such file or directory

Risposta accettata:

Prova a utilizzare tale funzione successiva per tale situazione:

copy_wdir() { mkdir -p -- "$(dirname -- "$2")" && cp -- "$1" "$2" ; }

e usalo come

copy_wdir aaa/deep/sea/blob.psd bbb/deep/sea/blob.psd

A proposito, GNU cp ha un --parents opzione. È davvero vicino a quello che vuoi, ma non esattamente.
Creerà anche aaa directory che sembra non ti serva. Comunque puoi prima cd su aaa e copia come:

cd aaa && cp --parents deep/sea/blob.psd ../bbb/

Linux
  1. Come copiare file e modificare la proprietà, le autorizzazioni allo stesso tempo

  2. Output su Stdout e allo stesso tempo Grep in un file?

  3. Come creare e interrogare un file system BTRFS

  4. Copia e chmod/chown allo stesso tempo

  5. Ping e tcpdump allo stesso tempo

Come creare directory da un file di testo in Linux

Copia file e crea directory di destinazione allo stesso tempo

Come visualizzare e creare file e directory nascosti in Linux

Come creare e utilizzare file di scambio su Linux

Come copiare file e directory nel terminale Linux

In che modo il tempo della CPU e l'utilizzo della CPU sono uguali?