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.

  • bloodfart@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    Cost: $10

    One year of a small vps. Fiddle around with it, get it secure, run some services on it, flatten and reinstall through the web kvm when you fuck up.

    Look at your logs and be terrified at how many computers are just out there poking and prodding at random ips on the internet.

    Say “I’m in” and push play on squarepusher when you log in.

  • verassol@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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.

      • verassol@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        6 months ago

        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.

        • wildbus8979@sh.itjust.works
          link
          fedilink
          arrow-up
          0
          ·
          6 months ago

          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.

    • governorkeagan@lemdro.idOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      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

      • verassol@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        6 months ago

        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. This will come with networking enabled by default, so you’ll have internet access from within the VM.

        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.

        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!

  • palordrolap@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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.

    • governorkeagan@lemdro.idOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      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.

  • ProgrammingSocks@pawb.social
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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

    • ProgrammingSocks@pawb.social
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      Want to add a few things to try

      • Create a new file and edit it with nano.
      • Create and navigate directories
      • Copy a folder to another spot
      • Update your system and install a package with pacman
      • Start, stop, and check the status of a service. Maybe sshd
      • Use find and grep to find all files with a certain extension (this will involve the wildcard character *

      This is just a small list off the top of my head. Doing your everyday tasks with the terminal is a great way to start to understand how it works.

  • michaelgarydean@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    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.

  • 8263ksbr@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    6 months ago

    In m opinion, practicing with real life problems is the best teacher. There are some ways to cut and convert videos, audio and images via terminal. Maybe there is still a way to enrich or streamline your workflow with that. Maybe a script which will prepare the folder of your next project. Also, xdotools let you automate a lot of sometimes tedious routines.

  • CorneliusTalmadge@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    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.

  • NeoNachtwaechter@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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 :-)

  • hungover_pilot@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    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.

    https://overthewire.org/