Разница между getopt() и getoptlong() в обработке длинных опций заключается в том, что getoptlong() воспринимает и длинные опции, начинающиеся с двух дефисов. 14
getopt() разбирает одну за другой короткие опции согласно заданному формату и возвращает их. 2
getoptlong() работает так же, как getopt(), за исключением того, что она воспринимает и длинные опции. 14 Для работы с длинными опциями у неё есть два дополнительных аргумента — longopts и longindex, которые содержат описание допустимых длинных опций. 2 Для длинной опции в аргументе longopts можно установить синоним — символ, расцениваемый как короткий аналог этой опции. 2 При разборе длинной опции функция getoptlong() возвращает короткий синоним разобранной опции. 2