Как заставить команду cp перезаписать без подтверждения
Команда cp (что означает копирование) — одна из часто используемых команд в Linux и других UNIX-подобных операционных системах для копирования файлов и каталогов. В этом руководстве мы покажем, как заставить команду cp перезаписать операцию копирования без подтверждения в Linux.
Обычно, когда вы запускаете команду cp, она перезаписывает конечный файл(ы) или каталог, как показано.
cp bin/git_pull_frontend.sh test/git_pull_frontend.sh
Чтобы запустить cp в интерактивном режиме и получить запрос перед перезаписью существующего файла или каталога, используйте флаг -i
, как показано.
cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh
По умолчанию современные дистрибутивы Linux, особенно семейства Red Hat Enterprise Linux (RHEL), имеют псевдоним для команды cp, который создает пользователь запускает команду cp в интерактивном режиме. Это может быть не так в производных Debian и Ubuntu.
Чтобы проверить все псевдонимы по умолчанию, выполните команду alias, как показано.
alias
Выделенный псевдоним на снимке экрана выше означает, что при запуске команды по умолчанию она будет выполняться в интерактивном режиме. Даже если вы используете команду yes
, оболочка все равно предложит вам подтвердить перезапись.
yes | cp -r bin test
Лучший способ принудительно перезаписать — использовать обратную косую черту перед командой cp, как показано в следующем примере. Здесь мы копируем содержимое каталога bin
в каталог test
.
\cp -r bin test
Альтернативно вы можете снять псевдоним для текущего сеанса, а затем запустить команду cp в неинтерактивном режиме.
unalias cp
cp -r bin test
Дополнительную информацию см. на странице руководства команда cp.
man cp
Если у вас есть вопросы, задайте их нам через форму обратной связи ниже.