Mystery of binary files

view full story

http://unix.stackexchange.com – This is about files straight from the compiler, say g++, and the -o (outfile) flag. If they are binary, shouldn't they just be a bunch of 0's and 1's? When you cat them, you get unintelligible output but also intact words. If you file them, you get the answer immediately - there seem to be no computation. Do the binary files in fact have headers with this kind of information? I thought a binary executable was just the program just compiled, only in the form of machine instructions that your CPU can instantly and unambiguously understand. If so, aren't that instruction set just bit patterns (HowTos)