1922년 중국 상하이에서 백범 김구의 차남으로 태어났다. 황해도 안악의 안신학교安新學校를 다니다가 1934년 중국으로 간 이후 다중차오소학大中橋小學, 안후이중학安徽中學을 다녔다. 충칭 임시정부 내무부에서 일하고 1943년 중국 중앙대학 부속 고급중학을 졸업한 뒤 윈난성 쿤밍의 서남연합대학西南聯合大學에서 공부했다.
중국 공군군관학교에 입교하여 인도령領 라호르 기지, 미국 랜돌프 기지(텍사스 샌안토니오)와 윌리엄스 기지(애리조나 피닉스) 등에서 공군비행교육을 이수하고 1947년에 귀국하여 이듬해 국방경비대에 입대해 육군항공대에서 활동했다.
한국전쟁 중 여러 작전에 참가하며 공군본부 작전국장, 전투비행전대장, 교육전대장, 전투비행단장 등으로 복무했다. 1953년 미 참모대학에서 공부했고 국방대학원을 마친 뒤 공군참모차장을 거쳐 제6대 공군참모총장이 됐다.
1962년 중장 예편 뒤 주 중화민국(타이완) 대사, 교통부 장관 등을 지내고, 독립기념관 초대 이사장을 역임한 뒤 백범김구선생기념사업협회 회장, 백범기념관 관장으로 일해 왔다.