Ricerca nel sito web

Come forzare la sovrascrittura del comando cp senza conferma


Il comando cp (che sta per copia) è uno dei comandi comunemente usati su Linux e altri sistemi operativi simili a UNIX, per copiare file e directory. In questa guida mostreremo come forzare il comando cp a sovrascrivere un'operazione di copia senza conferma in Linux.

Di solito, quando esegui un comando cp, sovrascrive i file o la directory di destinazione come mostrato.

cp bin/git_pull_frontend.sh test/git_pull_frontend.sh

Per eseguire cp in modalità interattiva in modo che venga richiesto prima di sovrascrivere un file o una directory esistente, utilizzare il flag -i come mostrato.

cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh

Per impostazione predefinita, le moderne distribuzioni Linux, in particolare quelle della famiglia Red Hat Enterprise Linux (RHEL), sono dotate di un alias per il comando cp che crea un l'utente esegue il comando cp in modalità interattiva. Questo potrebbe non essere il caso dei derivati Debian e Ubuntu.

Per controllare tutti gli alias predefiniti, esegui il comando alias come mostrato.

alias

L'alias evidenziato nello screenshot sopra implica che quando esegui il comando, per impostazione predefinita verrà eseguito in modalità interattiva. Anche quando usi il comando yes, la shell ti chiederà comunque di confermare la sovrascrittura.

yes | cp -r bin test

Il modo migliore per forzare la sovrascrittura è utilizzare una barra rovesciata prima del comando cp come mostrato nell'esempio seguente. Qui stiamo copiando il contenuto della directory bin nella directory test.

\cp -r bin test

In alternativa, puoi unalias l'alias cp per la sessione corrente, quindi eseguire il comando cp in modalità non interattiva.

unalias cp
cp -r bin test

Per ulteriori informazioni, consulta la pagina man del comando cp.

man cp

Se avete domande, fatecele tramite il modulo di feedback qui sotto.