Where to "practice Linux" terminal commands

governorkeagan@lemdro.id to Linux@lemmy.ml – 94 points –

I've been using Linux for about 7 months now and have become a lot more comfortable using the terminal but I feel like there is more that I can learn.

Most of my work is done in a browser or DaVinci Resolve. I do try to use the terminal where possible but it's limited due to my workflow.

Are there any interactive sites where I can practice/learn the terminal? I'm going through Linux Survival at the moment.

EDIT: I forgot to add some important details.

I don't have a massive need for the terminal for my current workflow but I think it is important to know (looks good for any future job applications as well) and expand your knowledge on things that interest you when possible.

In the future, I hope to have a home lab/NAS running Linux. I will most likely SSH into that and I'd like to deal with any issues via the terminal.

I use Arch btw (technically EndeavourOS)

63

You are viewing a single comment

I think you might like DIstroSea. If you'd like to persist your experiments, then likely learning how to emulate systems with QEMU or VirtualBox (the latter if you'd like a friendlier GUI-led experience, the former if you want to go full-CLI virtualization). QEMU is great in how lightweight and easy to create and discard self-contained VM disk images can be.

I will repeat it once again... Why would you use subpar Type 2 virtualization and DKMS with VirtualBox when there's a perfectly viable UI for the kernel's built-in Type 1 hypervisor (Qemu being the userland): https://virt-manager.org/

I'm not the biggest fan of VBox either, it's just very popular and full of sequential "wizards" to guide the user along the process of creating VMs, so it might be one way to get started. I'd much rather work with QEMU though.

Virt-manager is a complete full UI for Qemu (and lxc and Xen) which works essentially the same way. It's been around since 2009.

That looks interesting. I like the idea of trying to emulate a system only using the command line - I learn a lot from hands-on projects like this

That might be fun then.

QEMU can be as simple as this:

qemu-img create -f qcow2 mydisk.qcow2 20G

Here you are first creating a disk image with the format qcow2 and maximum 20G capacity. This is a QEMU disk image format that will take up very little space and grow as you use up the VM disk.

qemu-system-x86_64 -m 256M -cdrom alpine.iso mydisk.qcow2

This will start a VM with 256MB of RAM, the alpine.iso image in its virtual CD/DVD slot, and the disk image you just created as a virtual drive. This will come with networking enabled by default, so you'll have internet access from within the VM.

It should now drop you into the Alpine installation. Alpine is very lightweight so it's great for experimenting, but you could do virtually the exact same for most other flavors of Linux and BSD images out there.

Once you are done installing, you can power off the VM and then start it with this:

qemu-system-x86_64 -m 2G mydisk.qcow2

That's basically the same without the -cdrom argument, this time with 2GB of RAM. I find QEMU a delight to play with because it has sane defaults like that. Hope you have fun too!

Thank you for such a detailed breakdown! I'll give all of this a go over the weekend.