Heat oil in a wide frying pan over medium heat; add onion and cabbage and cook, stirring, until vegetables are limp and lightly browned.
Stir in garbanzos and their liquid.
Cut linguisa into 2-inch chunks and add to pan.
Cover and simmer for 30 minutes, stirring occasionally.
Skim and discard fat.
Ladle into soup plates and garnish with hard-cooked egg and olives.