Я cp руками уж лет 20 не дёргал, поэтому все “нюансы” из головы давно вылетели, но тут пришлось и я с удивлением обнаружил, что это чудо не копирует директории, пока его специально не попросить об этом.
Интересно, какая была для этого причина? Почему для копирования директорий я должен использовать дополнительные параметры?

Чтоб случайно не начать копировать целую директорию, во времена, когда компьютеры были большими, а объём хранилища маленьким.
Но ведь это было лет 40 назад. Уже больше 30 лет компьютеры маленькие, а объемы хранилища – большие.
Напиши современный аналог на Rust
нет на Go
Уже написали.
И что? Ты слышал хоть раз такое словосочетание, как “обратная совместимость”?
Иди ищи в своём мопеде отсек для сена, обратно совместимый ты наш. “больше 30 лет”, тьфу.
Да, в юниксе всё настолько инертно. Они хотят, чтобы скрипты, написанные 30 лет назад работали и сегодня.
Тема не про Юникс. Кровавый энтерпрайз может продолжать пихать сено, мне нет до этого дела. Я про Линукс говорю.
Внезапно линукс пилится тем же самым кровавым энтерпрайзом (в основном).
А вообще, есть куча альтернатив coreutils, в некоторых из них наверняка есть утилита, которая имеет такое поведение как ты хочешь.
Ну и что?
Ну и что?!
Сходи Тазхейту пожалуйся.
Хуй через плечо.