2013-08-01 14 views
6

Come modificare la proprietà di un file durante la copia stessa. Intendo nel comando cp come aggiungere la proprietàModifica della proprietà del file durante la copia

Non posso contare su --preserve e copiare il file e quindi modificare la proprietà del file a causa di alcuni vincoli. Grazie

+1

perché non è possibile semplicemente applicare la nuova proprietà dopo la copia? –

risposta

2

Non facilmente. Potresti forse eseguire il comando cp come utente che vuoi possedere il nuovo file, o copiarlo in una posizione temporanea, chown, quindi copiarlo dove vuole, ma lo cp stesso non ha lo chown.

2

Non è una risposta diretta alla tua domanda, ma se hai GNU cpio disponibile, puoi usarlo (in modalità copia-pass) per copiare i file mentre cambi la proprietà. per esempio.

echo 'some_file_name' | cpio -p --owner someuser:somegroup destination_directory 
1

Come indicato qui: https://unix.stackexchange.com/questions/124855/move-files-and-change-ownership-at-the-sametime

Usa rsync (1):

rsync \ 
    --remove-source-files \ 
    --chown=wanteduser:wantedgroup \ 
    /home/oldfolder /home/newfolder 
+2

Soluzione cool, copia/incolla fedelmente dalla fonte citata. Tuttavia l'OP voleva _copy_ e impostare la proprietà, non _move_. Dovrai rimuovere il '--remove-source-files'. Avevo anche bisogno di aggiungere '-og' per farlo funzionare (vedere la sezione su' --usermap' nella pagina man di rsync). –

1

mi fanno uso di una soluzione con il comando "SCP":

scp -p file.txt <user>@localhost:<destination> 

esempio:

scp -p /home/reportuser/dailyReport.doc [email protected]:/root/dailyReports/20150105/ 

-p per conservare il file di origine data e ora

Problemi correlati