What's the best way to learn how to use System Administration / using shell-commands in the Terminal?
closed as primarily opinion-based by muru, Pilot6, Eric Carvalho, terdon♦, David Foerster Jun 15 '16 at 16:44
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
My solution to this was to pick up a task that I needed to do, and start to do it terminal only, after that I tried to optimise the solution. Once you see the benefits you will create a virtous circle which will motivate you from then and onwards.
Example: remove empty spaces in a file (at that time a classmate was feeding me with source code with loads of this). Say this is an awk/perl one liner. At some point we have the file we want to fix. After that I substituted the file with a variable, encapsulated in a bash script. Bang! (now by automating that to parse all files in a folder, I could easily accept 100 files having both parties happy).
There is a nice manual in the community wiki, it can be found here. You have all you need to start there
I would suggest having two computers : one with a full blown GUI and one without GUI. Manage the first one with the GUI and the second one over ssh. Contrasting the two will be helpful, and you would not be able to cheat on the second one.
If you don't have two computers, you could set up VMs to do it.
There's a nifty applet called the Ubuntu Tips Applet. It pops notifications with useful terminal commands in a configurable interval, proved quite useful for learning a bit on the side. Not very useable for fast power-learning, though. http://www.omgubuntu.co.uk/2011/01/get-random-ubuntu-tips-on-your-desktop-app/
For me it was doing a gentoo install, the install doc walks you through pretty much everything. The resultant install will be different to Ubuntu but you'd learn the common ground
There is game
typespeed for ubuntu in which you can measure your speed while typing random unix commands.There are lot of similarities between unix and shell. You will come across a lot of different command this. It might not be the best tool but worth mentioning.
you can install it using
sudo apt-get install typespeed
Personally I've learned lots of material from Unix Shells by Example book as well as man pages and obviously this site. Practice, though, is even better than theory. Start writing scripts for yourself or others on the site here.
Here's some of the things I've done recently: