Introduzione

Il comando cp (che sta per una 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.

Come usare il comando cp

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

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), vengono fornite con un alias per il comando cp che fa eseguire a un utente il comando cp in modalità interattiva. Questo potrebbe non essere il caso dei derivati Debian e Ubuntu.

Per controllare tutti i tuoi alias predefiniti, esegui il comando alias come mostrato:

alias

Dovresti visualizzare un messaggio di output simile al seguente:

alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
alias cp='cp -i'

Il flag -i 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 annullare l'alias dell'alias cp per la sessione corrente, quindi eseguire il comando cp in modalità non interattiva:

unalias cp
 cp -r bin test

Per ulteriori informazioni, vedere la pagina man del comando cp:

man cp

Conclusione

In questo tutorial abbiamo visto come forzare la sovrascrittura del comando cp senza conferma su Linux.