Pesquisa de site

Como forçar a substituição do comando cp sem confirmação


O comando cp (que significa cópia) é um dos comandos comumente usados no Linux e em outros sistemas operacionais do tipo UNIX, para copiar arquivos e diretórios. Neste guia, mostraremos como forçar o comando cp a sobrescrever uma operação de cópia sem confirmação no Linux.

Normalmente, quando você executa um comando cp, ele sobrescreve o(s) arquivo(s) ou diretório de destino conforme mostrado.

cp bin/git_pull_frontend.sh test/git_pull_frontend.sh

Para executar cp no modo interativo para que ele avise antes de substituir um arquivo ou diretório existente, use o sinalizador -i conforme mostrado.

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

Por padrão, as distribuições modernas do Linux, especialmente aquelas da família Red Hat Enterprise Linux (RHEL), vêm com um alias para o comando cp que faz um o usuário executa o comando cp no modo interativo. Este pode não ser o caso dos derivados do Debian e do Ubuntu.

Para verificar todos os seus aliases padrão, execute o comando alias conforme mostrado.

alias

O alias destacado na captura de tela acima implica que quando você executa o comando, por padrão ele será executado no modo interativo. Mesmo quando você usa o comando yes, o shell ainda solicitará que você confirme a substituição.

yes | cp -r bin test

A melhor maneira de forçar a substituição é usar uma barra invertida antes do comando cp conforme mostrado no exemplo a seguir. Aqui, estamos copiando o conteúdo do diretório bin para o diretório test.

\cp -r bin test

Alternativamente, você pode unaliar o cp alias para a sessão atual e então executar seu comando cp no modo não interativo.

unalias cp
cp -r bin test

Para obter mais informações, consulte a página de manual do comando cp.

man cp

Se você tiver alguma dúvida, pergunte-nos através do formulário de feedback abaixo.