A long, but understandable, way is as follows. First,
A = Expand[2 a + c (d - a b d) + e c (a + b) f + b - 1];
var = Variables[A];
Second, we form the list of the terms of A by
mono = MonomialList[A, var]
{-a b c d, a c e f, 2 a, b c e f, b, c d, -1}
Third, we create the list of the lists of degrees of each term with respect to each variable through
Map[Exponent[#, var] &, mono]
{{1, 1, 1, 1, 0, 0}, {1, 0, 1, 0, 1, 1}, {1, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 1, 1}, {0, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0}}
and then we find the total degree of each term by
Map[Total[#] &, Map[Exponent[#, var] &, mono]]
{4, 4, 1, 4, 1, 2, 0}
Fourth, we choose the terms of the total degree less than or equal to one and add those terms
Select[mono, Total[#] &@Exponent[#, var] <= 1 &] // Total
-1 + 2 a + b
Edit. 2a instead of a in A and style.