On trouve souvent ces poissons sur les fonds rocheux ou sableux, cachés dans des anfractuosités dans la roche ou le sable, des cavités ou des coquilles de gastéropodes. Ces poisson ont une large distribution dans les eaux tropicales et subtropicales de l'océan Atlantique, l'océan Indien et l'océan Pacifique, ainsi que la mer Méditerranée où ils sont très répandus et la mer Rouge. On les retrouve aussi dans les estuaires et les rivières connectées à la mer de ces mêmes zones.