🐧 Как заставить команду cp перезаписать файлы без подтверждения

by itisgood
Команда cp (обозначающая copy) – одна из часто используемых команд в 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 для текущего сеанса, а затем запустить команду cp в неинтерактивном режиме.
# unalias cp
# cp -r bin test

Для получения дополнительной информации см. Справочную страницу команды cp.

# man cp

 

You may also like

Leave a Comment