Compile `.hex` files on Linux
You can download the Arduino IDE for Linux from the Arduino site.

As mentioned in Where are the hex files compiled by Arduino?, in the Arduino program: go to Arduino -> Preferences and then select Show verbose output during -> compilation. 


  Finally, when you are compiling, the program will show you lots of
  data. At the last lines, you will find the path to the .hex file
  (Every time the path changes!).


If you want to upload this .hex file to your ATmega328P (the micro controller inside Arduino Uno), avrdude can do that for you. 

Here, are few useful links:


Setup Avrdude on Linux
Programming your chip
Choosing a Programmer
Uploading your .hex file