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.