But en general es una conjunción, pero también puede ser preposición y entonces significa menos.

Ejemplo
All tasks in the test were easy to solve but the first one.
Todos los problemas en el exámen eran fáciles, menos el primero.
There was no one to blame but he himself.
Esto se lo debía únicamente a sí mismo.
Anyone else but him would have helped in this situation.
Cualquiera menos él hubiera ayudado en esta situación.
Anything but this!
Todo menos esto.

But for significa sin.

Ejemplos
He couldn't have managed but for his friend's assistance.
Sin la ayuda de su amigo no lo hubiera logrado.
We wouldn't have gone away but for you.
Sin ti no nos habríamos ido.