As a brand new user of Linux, I’m in the process of setting up a server running the latest version of Ubuntu and learning the commands. This is a big learning curve, and one obviously every Linux user has gone through. There’s so much to take in and understand when it comes to setting up a server, say, as opposed to installing a distro on a desktop or laptop. There’s security, DNS, LAMP stacks, images, etc., all of which I’m in the process of trying to understand and become familiar with, but it did get me thinking…
I’m familiar on a basic level with virtual machines, which from what I understand is a good environment to learn the ins and outs of Linux. But has anyone ever thought of creating a command line app where beginners such as myself can practice all of this stuff? Say like an app that has tutorials on various topics (installing, troubleshooting, etc.), and that provides feedback when you enter the correct or incorrect command.
I’m no expert at any of this, but I’d be very happy to colab on GitHub with anyone on building such an app. I think it would be very helpful, and also draw more people into the community.
I don’t know of any ‘practice app’, but I can recommend books that cover the cmd-line, and, like you mentioned, VM’s are a great way to practice.
I currently have 6 VM’s running and none of them have any desktop environment running. They are all cmd-line only.
Thanks so much for your reply. I too am aware of many different books, as well as tutorials online and YouTube videos. For now, I think I’ll try and go with a virtual machine. Perhaps this is something I’ll put some more thought into building the better I get at coding. I guess it would have to be distribution-specific, and of course it would have to be free and open source.
You can start of here: Linux Essentials
It contains short lessons with practice exercises.
You can then move to LPIC-1 Exam 101 and LPIC-1 Exam 102
You don’t have to take any exam or register. Use it for your own learning.
There is also Jay’s book called “Mastering Ubuntu Server”, I have the previous KIndle version, that will give you plenty of help on this. It also covers some other distros in places. Jay has also done a lot of videos on the Learn Linux Youtube channel that is also being currently updated, on this so you should not have any issues. I think one of the benefits of the book is that it explains things in an easy to read and understand way.
It is a lot easier now than when I first started playing around with Linux in the 90’s with Suse and Slackware. There was some documentation around but not a lot and some could be quite confusing if you were not used to Unix, so you relied on others, newsgroups, etc, and buying books and I have many of them. (Though these books are a bit outdated there is a lot of useful information in them. However many are written from an academic or technicians perspective so can be a bit overwhelming to a newbie, and that is definitely where some of the YT channels and the more modern books can score.) In those days we used to have to dual boot with Windows, and not only had that had to be manually configured, like much of Linux at the time, but every time you updated Windows you had to manually reconfigure the boot as Windows overwrote it. (Even a lot of Windows had to be configured manually in those days including the loading of drivers, in what order, and where in memory they resided.)
I actually concentrated on Windows mainly as that is what my college, now a University, used most of the time, and when I ended up working in IT that was mainly what they used though we did have a few Linux based servers, and some items like switches, blade server rack, were based on Linux for their operation. So getting back to Linux a few years back I more or less started afresh using “Virtual Box” on a Widows laptop and a couple of virtual instances of Linux servers, Ubuntu and CENTOS, so that I could learn more and use them as a basic Infrastructure and I got all of the information on-line and from YT. However I would say that LearnLinux.TV’s YT channel is one of the best resources as it covers more than just Ubuntu with regards to Linux. I also keep a computer based notebook that I use for the commands that I need to remember with any required further details, especially those that you don’t use everyday, in a way that makes sense to me.
As a practice exercise, work your way up to scripting the VM build (can be done with bash, ansible using yaml, python, or other scripting languages).
‘apropos’ helps me when I need to be reminded of a command that does what I’m looking for.
In my last comment I was also thinking of mentioning cheat but I didn’t have the instructions handy. I’ve installed it on a couple of machines and have really appreciated that I can edit the files pretty easily to add my own tips and tricks.
And then there is the explain.sh Utility which I haven’t tried yet.