Differenza tra cp e mv su directory gia esistente

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
relay
Linux 2.x
Linux 2.x
Messaggi: 293
Iscritto il: mar 28 ago 2007, 16:36

Differenza tra cp e mv su directory gia esistente

Messaggio da relay »

Ciao a tutti, stavo sperimentanto l'aggiornamento del mio sito via ssh è volevo chiedervi una delucidazione.Se provo ad aggiornare una directory con una nuova versione:
mv imageapi sites/all/modules ->dove in modules esiste la dir imageapi da aggiornare
ottengo
mv: cannot overwrite directory `sites/all/modules/imageapi'
Se invece provo con cp:
cp -R imageapi sites/all/modules/imageapi ->tutto va bene.
Dato che il risultato è lo stesso.Chi sa dirmi perchè con mv non mi permette di effettuare l'azione?
Grazie!

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2073
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 5.4.0
Desktop: lxde
Distribuzione: ubuntu 20.04
Località: Darmstadt - Germania

Re: Differenza tra cp e mv su directory gia esistente

Messaggio da albatros »

Non è la stessa cosa: con il primo comando (mv) sostituiresti in toto la directory esistente con la nuova (cosa che non ti viene concesso di fare), che verrebbe poi rimossa dalla directory padre originaria, con il secondo (cp) scritto in questo modo copieresti imageapi sotto sites/all/modules/imageapi ottenendo sites/all/modules/imageapi/imageapi (conservando la directory di origine), ma probabilmente intendevi

Codice: Seleziona tutto

cp -R imageapi sites/all/modules
che ha l'effetto di aggiungere i file nuovi (e le directory nuove) contenuti in imageapi in sites/all/modules/imageapi (in maniera ricorsiva) e di sovrascrivere i files già esistenti.
(P.S. Inizio ad aver sonno, spero di aver scritto giusto...)

relay
Linux 2.x
Linux 2.x
Messaggi: 293
Iscritto il: mar 28 ago 2007, 16:36

Re: Differenza tra cp e mv su directory gia esistente

Messaggio da relay »

Si, ma in pratica quello che ottengo in tutti e due i casi è un aggiornamento di imageapi alla nuova versione.Perchè secondo te con mv mi viene negato l'accesso?
Grazie

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2073
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 5.4.0
Desktop: lxde
Distribuzione: ubuntu 20.04
Località: Darmstadt - Germania

Re: Differenza tra cp e mv su directory gia esistente

Messaggio da albatros »

Probabilmente perché chi ha scritto mv ha ritenuto che questo fosse il miglior modo di comportarsi del programma in questa situazione: l'imageapi dentro la directory sites/all/modules che tu andresti a sovrascrivere potrebbe contenere dei dati importanti che tu non vorresti perdere e tu potresti dimenticarti che sotto sites/all/modules c'è questa directory chiamata per l'appunto come quella che vai a spostare.

Rispondi