出自杜姓,以祖名为氏。相传周大夫杜伯的儿子在晋国作官,被封在先邑,他的子孙于是有以邑为姓,称为先姓。晋文公提拔他的后人先轸为中军元帅,职掌国政。先轸曾经率领晋军在崤山一带打败秦军,他的儿子先且居后来继位中军元帅,在彭衙再一次打败秦军。先且居于是变得很有名,他的子孙于是有以他的名字中的“居”字作为姓氏的,称为居氏,世代相传。