These options which obscure me are like

ps aux, route -ee, gcc -fPIC xxx, find . -name xxx and so on.

The examples above aren't comprehensive.

I.e., I don't think that the argument handle function like getopt or getopt_long could handle all the "strange" options.

In the other hand, these handle ways aren't intuitive.

Why do GNU programmers or Unix/BSD programmers code in these ways?

1 Answer 1


At least some of those are older than GNU and BSD and getopt/getopt_long. Some of those may even be older than Unix, or may be ports of programs that originated outside of Unix.

For an interesting case study, you could try to read up on how tar and cpio became unified into pax.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.