I am a .NET C# programmer, I love the .NET stack. I have tried Linux several times but every time I got put off as I could not do anything on it .. (like program for it or on it).

Ever since Mono was launched, I find myself using Linux a lot more.

(I have also decided to start learning Python.)

I would love to learn more about the OS itself - the shell commands, the underlying APIs etc

Where do I start, are there any books that are recommended for this?

I bought a copy of the - Unix Tools 3rd Edition O'Reilly and plan to go over it (end to end) are there any other recommended books?

Note: Not that this would matter, but I am using Ubuntu 10.04, I would like to have Fedora, but I have seen many users post issues with their Mono installations on it.

4 Answers 4


I posted some suggestions for books here:

Recommended reading to better understand Unix/Linux internals

As for developing on Linux with .NET, I strongly recommend that you install the MonoDevelop IDE.

  • 3
    Hehe. This question has your name written all over it ;-)
    – wzzrd
    Aug 20, 2010 at 6:48

Mandatory The Art Of Unix Programming link here.

  • awesome stuff! couldn't stop reading! thanks! ;-) Aug 20, 2010 at 12:25

I found that the Advanced Scripting Guide was an excellent resource for shell scripting.

Reading through it and trying all the examples got me from someone who could just about navigate around the directory tree to someone who has a pretty good grasp of home to use the shell to do pretty much anything.


If you want to develop for Linux, you might want to learn first about the different choices you have. But if you're going the Python way, then things may be simpler. I really like the Python + GTK + GNOME stack. There are incredible tools which make development very easy.

Since you're a .Net developer, you might feel more comfortable with Java and forget pretty much about the underlying technologies: do I use Qt or GTK?

Mono will make you feel like at home, but know that not many like to have Mono on their computers. There are good discussions about this on the Internet (i.e. gnote vs tomboy)

  • 2
    And the -1 is because?
    – Eldelshell
    Aug 20, 2010 at 8:35
  • 2
    Recommending Python+Gtk+GNOME was good advice, but recommending Java seemed a poor choice considering the relatively poor library support on Linux. I also felt the anti-mono advice was phrased in an argumentative way. "not many like to have Mono" is simply false and would really need to be backed up by some hard facts. Just because the detractors are noisy does not mean they are a significant enough population to impact one's choice in development language. And it seems that most Mono haters have similar reservations about Java, anyway.
    – Sandy
    Aug 20, 2010 at 16:27
  • A useful resource for checking package popularity is: popcon.ubuntu.com . Note that ~90% of users have Mono installed. Compare this to 73% with ubuntu-desktop or 87% with gnome-panel (indicators of number of desktop users reporting in). Also compare to 64% with anything resembling Java.
    – Sandy
    Aug 20, 2010 at 16:40
  • 1
    "Java seemed a poor choice considering the relatively poor library support on Linux" You're joking right? Java stack on Linux is a thousand times bigger than what Microsoft's .Net would ever dream of. Of course you would get those high numbers for Mono, since at least three apps that are default on Ubuntu are based on Mono.
    – Eldelshell
    Sep 1, 2010 at 10:59

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