A long, but understandable, way is as follows.
First,

    A = Expand[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, 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 + a + b`

Don't shoot the pianist: he plays as he can.