So after reading a number of posts and comments on here about Linux, I’ve decided to give 'er a go. I have access to an Azure VM, but I have never done anything involving Unix before and have only a basic understanding of coding in general.
Where do I even start? The most daunting thing for me is command line script, as it seems I have to memorize close to 150 common commands and their functions. Is there a set of tools or free classes that would make it easier for me to understand, or should I just get stuck in there? I was planning on using Pop!_OS since I do a lot of gaming and it seems like the closest thing Ubuntu has for that purpose.
Honestly any distro should be fine for gaming. Personally I use Ubuntu, it’s pretty easy to figure out and use. I tried Pop!_OS but interestingly ran into a bunch of issues with my Nvidia GPU. Ubuntu works well for my purposes
Also just Google stuff as you go and try to understand what each command does as you run it. You’ll pick it up fast. Don’t be afraid to start over if you mess something up
I began with using Pop!, especially if you have a nVidia card it will streamline a lot of the problems and dependencies of having a nVidia GPU.
As for the terminal it’s a really powerful tool. You can totally wipe your system if you put in the wrong sudo command, or edit files in your root directory. The usual commands like cd (change directory), ls (list files and folders) are essential when you navigate through your file system. CodeCademy has a bash learning program which will go through the basics.
Remember to not run a super user (sudo) command if you’re not sure what it does. That also goes for changing files that are not in your home directory. I borked my first two installs, so in the beginning: backup essential files and keep trying, there is also no shame in reinstalling the entire OS.
Feel free to reach out if you have any more specific questions!
If your goal is to run Linux, do some normal desktop stuff, and try some games, you will do no programming.
There’s a good chance you won’t need the command line either (at first, anyway).
Linux is a very deep lake, but you don’t need to buy scuba gear and learn underwater welding if you’re just looking to spend a sunny day at the beach.
Pop!_OS is a great place to start. I suggest just getting the ISO and having a go. If you need help, start by reading the official guide:
https://support.system76.com/articles/install-pop/
I always suggest starting with the official documentation. If you ask people on forums, it’s hard to tell who is a beach-goer, and who spends their days in scuba gear salvaging sunken ships.
I think you might be overthink this a tad too much, sure it can give you more problems the Windows but, in my 10 years of using it, most of the time it works fine. Pop is a decent starting place, with NVIDIA drivers being pre-installed if memory serves right, and it also has a graphical interface for installing and updating apps.
As for the terminal, it’s incredibly powerful and versatile, but you don’t need to learn and use it all at once, take small steps. Learn first the update command, the basics like cd (change directory), ls (list files and/or folders), cat (concatenate files and output to terminal), etc. Over time you’ll get the hang of the more advanced stuff.
If you go with one of the more new-user-friendly distros that includes a graphical frontend with administration tools, you shouldn’t have to spend much time with the command line. If you ever have to resort to it to fix a slippery problem (the kind that under Windows would have everyone telling you to reinstall), you’ll almost certainly be copy-and-pasting commands from somewhere else. You certainly don’t have to worry about memorizing 150 different commands—I’m not sure I know that many, and I’ve been using a command-line-oriented Linux distro as my primary OS for almost twenty years!
I think that it is impossible to learn 150 commands. You will decide if you want to do your stuff via GUI or via terminal (beside common stuff like updating that you MUST do via terminal). If you opt-in for the second choice, you will memorize only stuff that you use daily and that helps you doing your tasks as you want. For everything else, Google but before using any command please learn what it does, how it works, use the man. This way you learn how to the terminal works and the most important thing, you don’t nuke your system if that specific command doesn’t convince you.
Anyway, as a start distro I suggsst PopOS. It was my first distro when I decided to full switch to Linux and I still use it today, even for gaming on my gaming RIG. Please, don’t use Ubuntu, it’s too bloated with snaps in my opinion.
I wouldn’t worry about the command line too much, you’ll learn what you need when you need it. I’ve been using linux for over 15 years and I still have to google even simple commands sometimes because I don’t use them often enough to imprint. The important ones will come with repetition.
The thing about using the command line is that once you get comfortable with it, it becomes faster than using a GUI for some things. That being said, on modern user-friendly operating systems you can probably get by with never using the command line.
As many have said, you might not need to use the command line. That being said its an easy enough web search to get all the answers you need.
Pop!_OS is a great distro for gamers and beginners. I switch between fedora, pop, and I’m thinking if trying NixOS at some point. I would consider myself an intermediate Linux user and still love Pop.
The one piece of advice I want to give is to prioritise Flatpaks over regular packages. Its the direction the Linux app ecosystem is heading in, and removes a lot of potential issues with dependencies. Install Flatseal to manage your flatpak permissions (accessing additional folders is a good example). Pop is already setup to use flatpaks from flathub which is perfect. Just make sure you’re selecting the flapak version of an app while in the Pop!_Shop. Can be found in the header of the app’s page.
If the app doesn’t have a flatpak version, or you’re encountering issues with it, trying the .deb package is perfectly fine. Some people prefer to not use flatpaks for tighter integrations and reduced disk space, but IMO flatpaks are more beginner friendly.