On OS X, does Objective-C compile to native code or byte-code?
Can Objective-C programs be compiled on Linux?
Objective-C is compiled to native code by either GCC or LLVM[*]. You can compile ObjC programs on Linux (the generic GCC will happily support ObjC, though it uses a different runtime library than either of the Apple ones). For a cross-platform API similar to Cocoa (i.e. derived from Cocoa) which will happily work on Linux and let you port some code between OS X and Linux, check out GNUstep: http://www.gnustep.org
[*]In fact, LLVM internally compiles the Objective-C to an internal bitcode representation, then to code for the target machine, so perhaps the answer is "both"…
Objective-C is a variant of C. It compiles to native code.
Yes, Objective-C compiles to machine code.
Objective-C compilers exist for Linux, but Cocoa is an OS X-only technology. I've heard of an open replacement called GNUstep, but don't know much about it.
It's native.
There is GNUstep which an Open Source implementation of the NeXT OpenStep specification written in Objective-C. Their implementation of the Cocoa API is not a direct match so a direct compilation without porting is not possible.