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.