Они берут начало из наименований военных должностей, таких как командир роты - ротмистр (капитан в кавалерии), просто "начальник" - капитан (от "капут" - голова), маршал - конюший при монархе, лейтенант - "помощник", майор - "главный", генерал - "общий [командир]", поручик - выполняющий поручения, прапорщик/хорунжий - офицер при знамени, есть также звание "ефрейтор", происходящее от немецкого выражения "освобождённый от обязанностей", и т.п.