Если говорить о современных воинских званиях, то самым древним является "генерал", по латыни general означает "родоначальник", "старший в роду или племени" (однокоренное со словами "ген", "гений", "гениталии", "генератор", т.е. всё, относящееся к процессу рождения чего-либо). Так еще во времена Римской республики называли командира ополчения, или милиции (militia), самого старшего и авторитетного человека.
Звание капитан появляется в 15-16 вв. с распространением наемных отрядов, получивших название "рота", во главе такой роты стоял капитан, от латинского capita - "голова". У капитана были заместители, или порученцы, по-латыни - "лейтенанты", кстати, русская калька - "поручик".
С образованием постоянных армий в 17 веке основной тактической единицей на поле боя (баталии) становится батальон, во главе его стоял майор, от латинского же "главный". В 18 веке основной тактической единицей становится полк в составе 3 или 4 батальонов, действующий в колонне. Отсюда - европейское colonel, или русское "полковник". Как несложно догадаться, подполковник в Европе будет colonel-leutenant.
Что там у нас ещё остается? Маршал - появился во Франции, как командир войска в походе (на марше, отсюда и маршал). Прапорщик - знаменосец от "прапор" - "знамя". Сержант - появился в средневековой Франции, слово однокоренное с "сервантом", т.к. происходит от латинского serviens ("служитель"). Ефрейтор - это из Германии, дословно GeFreiter (почти что фрайер, Freier), т.е. "освобожденный" от ряда солдатских тягот рядового состава.