Я не вижу этого, задокументированного в руководстве GNU coreutils. Он указан в POSIX :
2. Если исходный_файл относится к типу каталога, необходимо предпринять следующие шаги:
[ snip шаги, которые не применяются в рекурсивном режиме, когда целевой файл является существующим каталогом]
f. Файлы в каталоге исходный_файл должны быть скопированы в каталог целевой_файл […]
cp -rn
не помогает, потому что -n
только говорит «не перезаписывать», но объединение каталогов ничего не перезаписывает.
Я не вижу никаких вариантов rsync
или pax
, которые бы вам помогли.
Вы можете получить такое поведение с помощью оболочки вокруг cp
. Однако анализ параметров командной строки утомителен. Непроверенный код. Известная проблема: не поддерживает сокращенные длинные параметры.
function cp {
typeset source target=
typeset -a args sources
args=("$@") sources=()
while [[ $# -ne 0 ]]; do
case "$1" in
--target|-t) target=$2; shift args;;
--target=*) target=${1#*=};;
-t?*) target=${1#??};;
--no-preserve|--suffix|-S) shift;;
--) break;;
-|[^-]*) if [ -n "$POSIXLY_CORRECT" ]; then break; else sources+=($1); fi;;
esac
shift
done
sources+=("$@")
if [[ -z $target && ${#sources[@]} -ne 0 ]]; then
target=${sources[-1]}
unset sources[-1]
fi
for source in "${sources[@]}"; do
source=${source%"${source##*[^/]}"}
if [ -e "$target/${source##*/}" ]; then
echo >&2 "Refusing to copy $source to $target/${source##*/} because the target already exists"
return 1
fi
done
command cp "$@"
}
В CentOS сетевые интерфейсы называются по-другому. Таким образом, они не называются eth0
или eth1
, а имеют такие имена, как eno1
или enp2s0
.(Источник.)
Запустите ip addr
, чтобы узнать, как названы эти интерфейсы в вашей системе.
Эти имена определены в /etc/sysconfig/network-scripts/ifcfg-<iface>
. Вы можете изменить их имена, если хотите, но я не рекомендую этого делать.
RHEL/CentOS 7.x использует согласованные имена сетевых устройств . И его также можно назвать предсказуемыми именами сетевых интерфейсов .
в любом случае, лучший способ вернуть eth обратное имя
Вам не нужно ничего трогать в /etc/sysconfig/.