Жесткого стандарта, как бы нет, но практика такая сложилась, что, как уже сказали ранее, один дефис - короткий параметр (он же ключ), два дефиса -- полный параметр (чтобы удобнее запомнить, хотя кому как). Например:
cp -i # интерактивный режим копирования
cp --interactive # то же самое, но легче запомнить, если знаешь английский
Если --configure-all , то первые два дефиса означают, что это полный (длинный) параметр, а тот, что перед all это просто чтобы не было пробела.
А если --param=val то это значит, что самому параметру нужно передать значение (он так работает), например,
cp --preserve[=ATTR_LIST]
копирование с сохранением аттрибутов, которые и задаются списком, который тут представлен как ATTR_LIST. Кстати, квадратные скобки обычно означают, что данный параметр не обязателен, т.е. если его не ввести, то будут подставлены дефолтные значения (в данном случае режим, владелец и время изменения). Все это можно узнать по man cp
А если параметр вводится без дефиса, то, имхо, программа/утилита скорее всего пришла из древности без изменения, как, например, тот же tar, который как раз и пришел со времен, когда все архивировали на ленту.