Поиск по сайту:

Как заставить команду 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

Если у вас есть вопросы, задайте их нам через форму обратной связи ниже.