Copia in modo ricorsivo di file e cartelle, ma conserva tutto mentre acquisisci la proprietà?

4

Vorrei copiare file e cartelle in modo ricorsivo da un'unità esterna al mio SSD interno.

Tuttavia, quando eseguo il trascinamento e, successivamente, quando utilizzo i file copiati, viene sempre richiesto di inserire le credenziali di amministratore. Non so se si tratta di un problema di chmod o chown , o entrambi (difficoltà a fare la differenza tra loro).

C'è un modo (tramite Terminale credo) per copiare i file:

  • preservando tutti i dettagli di file e cartelle (ad esempio timbri di data / ora originali e qualsiasi metadata necessario / utile);
  • ma acquisendo la proprietà (quindi non devo inserire le credenziali di amministratore ogni volta che voglio cercare , modificare o spostare un file ).

Suppongo che sia cp o rsync , ma devo ammettere di avere difficoltà nell'ordinare e comprendere tutti gli switch disponibili.

    
posta pdeli 15.04.2015 - 10:50
fonte

1 risposta

3

Per riuscire a copiare i file in primo luogo, è necessario avere almeno l'accesso in lettura ai file nella posizione originale.

Per assicurarti di poterli leggere, puoi modificare le loro autorizzazioni con sudo chmod -R o+rx /drag/your/original/folder/from/Finder/here oppure, come suggerito nei commenti della tua domanda, avere la proprietà dell'unità ignorata per il tempo, che lascia i file originali invariati.

Per copiare effettivamente i file, usa il seguente comando:

cp -R /drag/your/original/folder/from/Finder/here /drag/your/target/folder/from/Finder/here/

Per ulteriori informazioni durante il processo di copia, utilizzare il seguente comando:

cp -Rv /drag/your/original/folder/from/Finder/here /drag/your/target/folder/from/Finder/here/

Ricorda la barra alla fine della cartella di destinazione o la cartella di destinazione stessa verrà sovrascritta dal contenuto.

Informazioni sulle autorizzazioni durante lo spostamento / copia di file in UNIX / BSD (il sistema sottostante di Mac OS X è basato su BSD):

  1. Quando sposti un file da A a B sulla stessa partizione / volume, la proprietà dei file non cambierà
  2. Quando si sposta un file da A a B tra diverse partizioni / volumi, la proprietà dei file cambierà all'utente spostandoli (applicando sudo al comando copy si avrà la proprietà dei file di destinazione impostata su root )
  3. Quando si copia un file da A a B indipendentemente dalla posizione, si applicherà la proprietà dei file di destinazione all'utente copiandoli (applicando sudo al comando copy avrà la proprietà dei file di destinazione impostata su root )

Con il numero 1 solo i descrittori di file cambieranno internamente, ma nessun file verrà spostato fisicamente. Con 2 e 3 i file vengono copiati fisicamente nella nuova posizione con passaggio 2 facendo un secondo passaggio e cancellandoli dalla posizione originale dopo ogni copia.

UPDATE (per indirizzare il commento):

Se hai copiato i file utilizzando sudo , puoi modificare le autorizzazioni dei file di destinazione utilizzando chown e chmod .

I comandi sono:

sudo chown -R <user>[:group] /drag/your/target/folder/from/Finder/here

<user> è il nome dell'account dell'utente (non il nome completo)
:group è un gruppo, che per impostazione predefinita per qualsiasi utente è staff e per ogni amministratore è admin . Poiché non è richiesto, puoi omettere di lasciarlo così com'è (da qui le parentesi quadre)

sudo chmod -R 770 /drag/your/target/folder/from/Finder/here

Questo ti darà il diritto al gruppo principale e ai diritti di esecuzione / traversamento sui file.

    
risposta data 15.04.2015 - 12:11
fonte

Leggi altre domande sui tag