Where to "practice Linux" terminal commands

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)

Vendetta9076,
@Vendetta9076@sh.itjust.works avatar
governorkeagan,

This is exactly what I’m looking for, thank you!

Vendetta9076, (edited )
@Vendetta9076@sh.itjust.works avatar

Glad to help :)

Also absolutely start your homelab. Its how I crash coursed everything and its the template I use to teach others about linux.

pineapplelover,

Best way imo. Learn how to ssh, copy files from one machine to another and vice versa, configure servers, docker, etc. so much you can do

refalo,
mub,

What, things like sudo rm -f /

Neon,

that wouldn’t do anything except give you an error that / is a directory

kureta,

As many people have already said, just do what you need to do. That’s the best way to learn. But if you are afraid you’ll break your system with dangerous commands, use docker or a virtual machine for practice.

Andromxda,
@Andromxda@lemmy.dbzer0.com avatar

The Linux Experiment fairly recently made a video about this: tilvids.com/w/w5SrXQUhk1a5iEtE9xPWgS

If you just want the links:

I also recommend learnlinux.tv and especially the YouTube channel

Since you’re on Arch, the Arch Wiki is a great resource if you ever need to look something up. If you just want to improve your CLI skills and make the life in the Terminal more pleasant, I’d recommend the fish shell. (Check this out if you want a video demonstration) It has a great autocomplete feature and shows you a short description of each command, which might help you to learn more about it. It’s also very flexible and customizable. (Check out this video for some neat tricks) My last recommendation is tldr, it’s a very useful application that gives you a short summary of how to use a command. These summaries are much easier to read and understand than manpages. I assume you know about manpages, if not, that’s another recommendation.

GustavoM,
@GustavoM@lemmy.world avatar

Eh, just try new commands in your distro and see what happens – “time is the best teacher of em all”.

gandalf_der_12te,

IMO the best knowledge comes from doing practical examples that actually interest you. I wouldn’t rush that.

SidewaysHighways,

This is the crux of my whole life. If I am not interested in something, my entire existence will basically refuse to soak up that knowledge or even try to empathize. It can sometimes suck. I have to walk away if people start engaging in conversations about sports.

It got easier to start digging into CLI after realizing that would be an easy way to get the home media server up and running. And managing local game servers.

It’s a little harder to focus on vlans and firewall rules, outside of the repercussions of not setting that up correctly.

gandalf_der_12te,

Yeah, it’s also very difficult for me to focus on something if I don’t know where I’m going.

minimalfootprint,

Not specific for learning, but you can put any command into ExplainShell and it breaks down the individual parts for you.

governorkeagan,

That’s super useful, thanks!

bizdelnick,

Try to avoid using any file manager (uninstall them all if it is difficult to avoid running them). So you will practice in using file manipulation commands.

cyberpunk007,

Use a virtual machine inside virtual box, or docker, or some other container. Back when I started the os could literally break to CLI and I’ve have to learn to fix it with Google and another computer or my phone 😅. Instead of blindly pasting commands, read the man pages. After years I have a handful of useful commands I use and I really do find it easier to do certain things from cli vs GUI. It will come with time, don’t worry.

possiblylinux127,
hungover_pilot,

This website has a bunch of great practice “wargames”. You’ll learn a bunch about common linux commands and the different options for them. It also provides you with some great tips on what to google if you get stuck. I reccomend starting with bandit.

overthewire.org

joshcodes,
@joshcodes@programming.dev avatar

I recommend this to everyone I meet in tech, it’s really good to learn linux and file system skills

Ramin_HAL9001, (edited )

As many here have said, but I will emphasize: learn the Bash programming language. Linux Survival is a very good start, and you can just start experimenting right away in your own terminal on your own computer.

To go more in depth, you can read through the manual on your computer by typing “info bash”. The Info documentation browser is a command line app. You may need to install it using your package manager (“apt-get” or “pacman” or “dnf”).

In the “info” app, you can navigate with the arrow keys, pressing enter on hyperlinks, typing l (lowercase “L”) works like the “back” button in a web browser, typing r (lowercase “R”) works like the “forward” button. Info also lets you search the index by pressing i (lowercase “I”) then entering your search in the prompt, or search the full text by pressing s and entering your search in the prompt. And q quits back to the command line prompt. “Ctrl-Z” pauses the “Info” app and drops you back into the command line, and you can resume your “info” session using the “%” (percent sign) command.

Another thing that can help is to learn about the GNU “Coreutils”, this is a suite of commands usually installed into /usr/bin or /bin which provides helpful command line utilities. These are commands like cat, wc, sort, cut, ls, du, cp, ln, chmod and many others. Read through the Coreutils Info manual by typing “info coreutils”.

And I will also reiterate recommendations from others: learn how to use Vim and/or Emacs. Vim has the more difficult learning curve but is extremely useful for writing scripts. Emacs is better though because it lets you split-screen with manual pages, and copy-paste commands between Man pages, “Infodoc” documents, the shell, and/or a text file, all using only keyboard commands. I think it makes it much easier to learn since everything is integrated together. Ask the Emacs community how to get started if you are interested.

governorkeagan,

Thank you for such a detailed response.

I’ve tried learning Vim previously but I never really gave it as much time as I should have. I haven’t tried Emacs yet, I’ll have a look at that as well.

Maoo,
@Maoo@hexbear.net avatar

I recommend installing a Linux distribution that requires a hands-in approach like Gentoo or Linux from scratch. If you don’t have an extra computer you can do it on a virtual machine on the computer you do have.

The process will require you to use the various incantations and rituals of using the terminal. As you do so, learn what they do by googling them or using their man page.

For more practice, write a shell script or otherwise choose a task you want to do using the terminal like browsing through your files or searching for a file whose name matches a pattern and so on.

NeoNachtwaechter,

I believe it isn’t the terminal. You are looking for the shell. On arch, it is bash.

man bash

And then, because man pages are too hard for beginners, google for some bash tutorials.

In addition, you want to learn vi. One of the greatest tools of all times after 1969 :-)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • DreamBathrooms
  • magazineikmin
  • cubers
  • InstantRegret
  • cisconetworking
  • Youngstown
  • vwfavf
  • slotface
  • Durango
  • rosin
  • everett
  • kavyap
  • thenastyranch
  • mdbf
  • megavids
  • khanakhh
  • modclub
  • tester
  • ethstaker
  • osvaldo12
  • GTA5RPClips
  • ngwrru68w68
  • Leos
  • anitta
  • tacticalgear
  • normalnudes
  • provamag3
  • JUstTest
  • All magazines