Sometimes I am asked how to learn more about Linux. This is a difficult question as this is different for everyone. Here are some things that helped me!
Install and run Gentoo
I have to admit, I learned more from installing Gentoo years ago than any other task. Simply following the Gentoo install doc as a guide and running Gentoo is a great way to dive right in to more Linux skills. Right now I use Debian stable as my desktop of choice but I still run a side Gentoo VPS to tinker and experiment.
Setup and run a server
A server is not scary – in simplistic terms it is just a computer that is on all of the time. Even if you are only doing desktop Linux, get up for the challenge of running some server-type stuff with Linux from the command line. Perhaps spin up a $5 / month VPS at Digital Ocean and try to setup some basic things all from the command line.
I suggest starting with the task of installing and running Apache and setting up a simple website. Or if at your home LAN, setup a CIFS/samba server at home to share some files with OS X and Windows as one example.
Learn some basic OS tasks for your distro of choice
- How to start/stop services
- How to add/remove users
- How to install software
- How to install security or other updates
- How to configure the firewall (either via iptables or ufw)
- How to read logs
Stop using nano
Consider embracing vim as your editor of choice. I realize many guides on scottlinux.com highlight using nano – this is mainly for the ultimate in user-friendly guides. I suggest hitting up vim as your editor to edit files from the command line.
Don’t run as root
Use good practices and use sudo instead of running as root. If you use Ubuntu as your distro, the root account is disabled by default which is great.
The great ‘secret’ for overcoming most any problems with Linux is to Google for your problem. (Shh! Don’t tell anyone!) Googling for error messages or other topics is a secret that every Linux guru (even advanced ones) do on a daily basis. When in doubt, paste your query to Google which will help advance your skill in resolving your problem.
What about you? How did you gain your Linux chops and what advice would do you have for others?