First of all, I would recommend you installing ubuntu, which is a good starting point, in a partition in your computer. Try to play with it a little bit. Like, watching a video with strange codecs... Then you will probably need to use terminal to run some apt-get install
commands, and bang! you're learning how to use a Unix-like system. That's it. Start coding and you will feel the need to learn as you code.
A quick list that comes into mind:
- apt-get - how to install packages
- top - processes running
- ps - list processes , shortcut: ps -fea | grep "process_name"
- kill -9 PID - kill a process
- sudo cmd - executes command with root permissions
- vi file - opens quick editor, google for vi and learn how to use it
- gedit - learn how to use it and expand it with plugins (it may very well work like a full featured IDE)
- tail -fn500 file - tails a file and prints the last 500 lines, very useful for checking logs
- man cmd - man!!! it should have been the first one in the list... Basically you will get all the help you need regarding a command named cmd
- learn .sh bash scripts. Google it and add it to your programmer toolkit. One day you're going to use it.
- cd folder - navigation
- ls - list files in a directory
- ll - shorcut to ls -l, list files with details
If you're willing to truly know how an OS works and how Unix-like systems work start by taking a look at minix and reading Tanenbaum's OS book.