this post was submitted on 02 May 2024
98 points (97.1% liked)

Linux

48029 readers
776 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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)

(page 2) 13 comments
sorted by: hot top controversial new old
[–] [email protected] 42 points 6 months ago (7 children)

I have never practiced using the terminal. The only way I learned was using the terminal to do my tasks and fix things when they broke.

In the future, I hope to have a home lab/NAS running Linux

Just start this project. That will teach you about how to use the terminal in a practical setting

load more comments (7 replies)
[–] [email protected] 6 points 6 months ago

Cmdchallenge is similar to Linux survival. But is mostly command line basics like moving around directories, searching, etc. It also gives a list of solutions that people have used for each exercise, which is interesting just to see different ways of doing things.

[–] [email protected] 7 points 6 months ago (3 children)

Most terminals start a shell as the first program, so you're not really learning "Terminal" so much as whatever program it starts first. Bash is a pretty common shell, so you might want to search for things like "Bash examples" to get a feel for it.

If that's too simple, or you blast past that, then reading bash's manual might give you some more ideas. The man command is your friend. The manuals are not necessarily quite so friendly, but they're aimed at someone who's already somewhat competent.

Anyway, here's one link from a Bash examples search I did: https://linuxsimply.com/bash-scripting-tutorial/basics/examples/

If Bash isn't what you have where you are, substitute its name instead. Zsh and Fish are pretty popular. There are others, but I don't think any mainstream Linux uses them by default.

To check what shell you're using try an echo $0 or echo $SHELL.

Finally, a bit of advice: Don't go running commands you see on the Internet unless you're sure what they're going to do is something you have no problem with. And be careful with copy/pasting from web pages you don't know or trust - I can't vouch for the examples in the link I gave earlier, for example. It's possible to make things look like a completely innocent command but when pasted does something else entirely.

[–] [email protected] 2 points 6 months ago (3 children)

I’ll definitely give man some more love. Thanks for the advice

load more comments (3 replies)
load more comments (2 replies)
[–] [email protected] 9 points 6 months ago (4 children)

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.

[–] [email protected] 2 points 6 months ago (2 children)

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

load more comments (2 replies)
load more comments (3 replies)
[–] [email protected] 1 points 6 months ago
[–] [email protected] 2 points 6 months ago (1 children)

This is such a broad topic, its impossible to give an advice or place that works for everyone. What I would do is pick up a few common commands that are not destructive in their nature (no need to practice with rm command in example) and read its manual man grep and help grep --help . Then try to understand and play around with the options and dedicated test files. Search tutorials and tips for these specific commands you are learning about. Over time this should result in deeper understanding of various concepts, as as you learn about grep, you will also learn about pipes and files in general while you are researching.

Then you can move on to other commands. Maybe setup a virtual machine where you can experiment a bit more freely, but that's probably overkill. Also look what people do in their Bash scripts, as Bash is contains the commands you can use on the terminal too.

[–] [email protected] 2 points 6 months ago (1 children)

I’ve been doing this to a lesser extent. Where possible I’d try to use the terminal to perform a task which would often require reading up about certain commands (either because they’re new to me or I’ve forgotten something). I suppose like anything it’ll take time for me to get more confident.

load more comments (1 replies)
[–] [email protected] 3 points 6 months ago

VM or Container is easiest, depending on what you want to do.

[–] [email protected] 4 points 6 months ago* (last edited 6 months ago)

Check out Raspberry Pi. Set up a streaming server, NAS, cloud storage. If you're interested in media, make an installation. There's tons of great projects available and I believe the best way to learn anything is by making something real, not just practicing random commands. Since it's Linux based, you'll learn a lot of practical uses of Linux and the power of being able to script Bash files.

https://www.raspberrypi.com/documentation/

Hope it helps.

[–] [email protected] 23 points 6 months ago (1 children)
[–] [email protected] 3 points 6 months ago (2 children)

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

load more comments (2 replies)
load more comments
view more: ‹ prev next ›