There are no wrong answers, don't listen to people saying "this is better" or "do it this way". Maybe it'll help, but maybe it'll make you not like the community. If that's the way you feel, just do whatever you need to to get something to work.
There's a lot of choice, so make a choice and stick to it, but at the same time be open to change.
No worries! The man command is short for manual - basically, you can think of it as a local wiki on your computer (local being that you don't need internet to access it) for various installed things. While "things" is generally going to be programs for most people, the "man page database" can actually have entries for things that aren't programs like various Linux internals! Here are a couple of other example man pages:
man (Yep, there's a man page for the man command!)
That last one, bash-builtins I linked to also demonstrate that there are man pages for more than just programs. cd for example is a very commonly used command, but its not actually a program - it is what is known as a "built in" because its a part of the specific shell you're using (9 times out of 10 these days, that is going to be bash unless you install a different one like zsh). A ton of commands can often be found under /usr/bin (or /usr/local/bin) - if you enter which program_name at your shell, it'll tell you where exactly that program lives at. Commands come in many flavors, they can be programs, they can be built-ins, they can be shell scripts (even if there is no file extension, Linux doesn't actually care about the file extension - its purely there for us humans!), or they can be aliases.
A couple of fun facts on even that itself:
You can run which which to see where the which command itself lives
The which command will also tell you if there is an alias defined for the command, an alias is a custom defined command - but if you have a longer command that you commonly want to run you can redefine it as an alias, so ls is often by default an alias of ls --color=auto to give you a few splashes of colors in the output of the command without actually having to type out ls --color=auto every time
Despite the fact that cd is a built-in, for what I believe is compatibility reasons, there is a file at /usr/bin/cd on most Linux distributions... which itself is just a shell script that actually invokes the cd built-in!
That's probably a bit more information than you originally intended, but I like to be thorough on these sorts of things as I'm passionate about Linux! Note that at the start, man pages can often seem really daunting, but after spending some time looking at them you'll get really good at quickly finding what you need. You can even write your own, and there is even a man page on the conventions and specifications on how you'd usually write them!
Deletes all the files in the root-dir recursively (needs sudo).
Without sudo all user-accessible files will be removed.
This will also affect all mounted drives (like USB-Drives, ...) and on some motherbords can also corrupt the UEFI.
Ignore the folks with way too much time on their hands who tie their self-worth to their ability to install Arch or whatever. Just use Ubuntu*; it's fine.
Once you install it, just use it like the normal desktop OS that it is. There's no need to immediately go down a !unixporn rabbit-hole just because the customizability of the system facilitates it. If something you need doesn't work or otherwise bothers you, fix it, but otherwise leave the system alone and just let yourself get used to it with default stuff.
By the time you get done with step 2, you'll be able to know for yourself what you want to do next.
Unnumbered: Gradually come to understand that the terminal is your friend, not something to be intimidated by. You shouldn't need to use it (not with Ubuntu, anyway), but if you give it a chance you'll eventually find yourself wanting to use it because of the advantages it has, such as using the history to have a perfect record of what you did, executing a complicated sequence of commands perfectly by pasting them in instead of trying to manually follow instructions clicking around in a GUI, and creating pipelines and scripts to do complicated things (say, batch-renaming files) relatively easily.
(* Yes, specifically Ubuntu, not a "similar" distro like Debian or Mint or Pop! OS (let alone a dissimilar one like Arch or CentOS or Slackware). You want the distro that things like Steam officially support, not one that they unofficially work on. Picking a different "flavor" of Ubuntu that uses a different UI, like Kubuntu or Xubuntu, is fine though.)
Edit: removed my own Linux background after realizing I didn't know how to use the app, and responses were to top comment.
Ubuntu is a great suggestion for beginners- that's what I install for friends and family as of now (I'm considering alternatives). I'm thinking about getting new folks on opensuse tumbleweed, but let's see.
Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.
Complete agree: always mainstream distribution for new users - Fedora, opensuse tumbleweed, Ubuntu are all great choices.
There are a lot of distros that are great (for beginners and in general), but I recommended Ubuntu and only Ubuntu for two reasons:
It's the only distro other than SteamOS that Valve officially supports (and there's a reasonably decent chance folks wanting to try Linux are also gamers).
Even merely presenting choices incurs a cost in terms of increasing cognitive load, and I think it's important to avoid inflicting more than is absolutely necessary on newbies. I think it's very likely that analysis paralysis on distro choice is one if the biggest barriers to entry for Linux, and saying "X, Y, and Z are good options" when the person has no clue what the differences between them are or why they should care, instead of just straight-up saying "use X," may be doing them a disservice.
Don't start out with the stuff that experienced people use, you'll just get frustrated if you do.
My first experience was that windows got on my nerves so much I said "fuck it, I'll just learn linux". And I've been learning ever since. Just using linux as a desktop OS and figuring stuff out along the way is a great way to learn the basics.
:x for write and quit. But I think the more appropriate one in this situation will be :q! which will force quit without saving any modifications, since someone who doesn't know how to exit vim probably doesn't want to save whatever modifications they made (probably by mistake).
You can also type ZZ (uppercase, so hold Shift) to write and quit. But for all of the above you have to be in normal mode, so if it doesn't work, try pressing Esc first.
If you do dual boot, check 10 times that you are installing to the correct drive/partition.
Since Linux uses a different drive naming scheme than Windows, it's super easy to accidentally install Linux on the partition where you actually wanted to keep your Windows.
What kind of platform are you working with? laptop? desktop? RPi?
You can run Linux on trash hardware. If you have the option, start by installing Linux on something that is not your daily use computer, like an old laptop.
If you can't do that, then consider getting a second hard drive and installing Linux on that so you don't have to mess with your primary OS install.
If you can't do that, then at least prepare a USB drive/DVD installer for your primary OS (presumably Windows) now before you make any changes to your computer. Boot the installer once to make sure it works before you need it.
And before you do anything else back up your important files to an external storage of some type.
It's extremely useful to have a second working computer to use for doing research and downloading files/installers/recovery tools as needed. Your phone isn't good enough because you won't be able to create an OS install drive from it if you need to.
Don't fixate on/rush switching. Even before using Linux, identify what software you need that doesn't support Linux, find multi-platform (+FOSS) alternatives and attempt to gain comfort/proficiency with them. (I wholeheartedly recommend Krita, personally I have used it for pixel art and image editing on top of normal art) WINE sometimes works, but native feels much better and switching makes more sense when you have a known-good system to switch over to.
If you remember to consider limitations, there are a few methods to try Linux (LiveCD, VM, spare hardware etc). If you have a desktop you can remove your Windows drive (particularly w/SATA) for a step more cautious than just dual-booting.
Use a note-taking application you are comfortable with (I use Joplin) to maintain a history of what you wanted to do, why you did/did not do it, and how you did it; save relevant links to help articles, SO posts, etc... (this is particularly useful if you want to retrace your steps to undo something). If you end up not doing something, strike through the text and leave a note explaining why you chose not to do it after all and what alternative, if any, you went with.
This greatly expedites the learning process, in my opinion.
Edit: I realized everyone was responding to top comment, removed long winded rambling about my personal Linux journey.
I 100% second note taking - my personal favorite is ObsidianMD.
I used Joplin for many months, with WebDAV (koofr)/e2e setup for sync, till I discovered ObsidianMD.
Now: all my notes are in markdown/plantuml/mermaid/Obsidian canvas/drawio, managed primarily by ObsidianMD, but occasionally on vscode for special use cases (plantuml diagram editing.. vscode flow is better). I use obsidian git to sync to my git repo across my machines. Still love Joplin in a pinch (mobile app on occasion) though.
Cockpit Web GUI made finding and reading logs, restarting services and so on much easier for me as a beginner: https://cockpit-project.org/
If you use the GNOME desktop then the ArcMenu, Dash to Panel and JustPerfection gnome extensions allow you to simulate the Windows workflow. There's also many other extensions as better window tiling, showing status indicator at the bottom panel and so on. https://extensions.gnome.org/
i think gnome works best without any plug-ins if you're ok with getting used to the workflow; it's an amazing experience out of the box if you have a touchpad/touchscreen device like a laptop.
I only have libindicator support installed (for apps that like to close to tray)
Try out different linux distros / desktop environments in virtual machines and find out which ones you like the most. I spent about a month doing this, until I found kde neon.
Know that you are going to break stuff, and don't be afraid of it. Even if you are a tech savy Windows user (as i was), Linux will be a new thing for you and you'll not know the nuances. I broke my installs a bunch of times because of things like nvidia drivers, but I was running Linux in virtual machines so I just started over from scratch. Breaking things makes you learn the fastest imo, so don't be scared of it.
Have fun. Linux is going to give you some frustrations, so it's important that you are using Linux because you want to so you can keep moving forward.
Ideally have a separate computer so you can easily google stuff if you break something, a lot of the times what you just broke is fixible with one simple command, you just need to know it.
Start with dualboot
Don't look for "windows replacement" in your new OS, this way you will be frustrated with differences, instead of seeing how the new way might be helpful.
Give it some time, any new system will always be worse than what you have been using for years because you know nothing about the new and everything about the old system, regardless of actual merit.
Also, anyone who says βtry this, itβs neatβ:
:(){ :|:& };:
Donβt. Itβll lock up your computer.
The markdown is adding code to the above. Ignore the βamp;β. Itβs just an ampersand.
Also anyone who tells you run level 6 is the best oneβ¦
Donβt. Itβll set you in a boot loop.
Basically, Google whatever someone suggests to you just to verify theyβre not being a dick. I would say spend a bunch of time in the command line interface (CLI). Thereβs nothing wrong with the GUI desktop, but the real power of Linux is in the CLI because you can do so much with it. Itβll also get you on the road to scripting, if youβd like. That unleashes the power even more by making your Linux box so cool stuff on its own. Then learn the power of cron tables (crontab) so that you can schedule your computer to do cool things on its own.
A fork bomb no longer works on modern distros which use systemd btw, since systemd imposes limits on the user and system cgroups (IIRC, a user can't have more than ~10,000 tasks or something).
Jokes aside, don't get caught up in picking the most popular or most hipster distro or DE (desktop environment). Pick one, stick with it, get used to how Linux works.
Linux Mint, Zorin OS, Debian, MX Linux (if you got a pretty old laptop) are decent start. All have graphical installers, so just follow along.
When you get to disk partitioning, most people start with
1GB for /boot
Up to 8GB for swap
The rest for /, EXT4 or BTRFS
Or
1GB for /boot, FAT32
Up to 8GB for swap, swap
64GB for /, EXT4 or BTRFS
The rest for /home, whichever you picked for /
You might see ZFS or people talking about it, don't worry about using it. Keep things simple for the start.
After rebooting and everything seems to work, dive in, friend.
hey, if you ever need advice on a decision, feel free to message me, i've built up quite a knowledge.
anyways:
first: choosing a Distro:
do you want something that just works, super stable and reliable, out of your way? choose Ubuntu (don't listen to the Elitists)
do you want something similar, just with more frequent updates? OpenSUSE
do you want something that's super reliable that never breaks and are willing to invest a few weeks relearning your computer? a Immutable Distro will do. i personally recommend and use NixOS, as it's the most reliable and unorthodox (a lot of overthrowing traditional convention on how to do stuff) ones of the bunch. but for something (much) simpler, use OpenSUSE MicroOS
next, the DE:
realistically you want either GNOME or KDE Plasma. i Personally like GNOME more, but KDE Plasma is just as fine. again, don't listen to any Elitists.
the Applications:
realistically you want to use Flatpaks. check the Flathub Setup guide on how to install it to your System.
installing Flatpak can never break your system, while installing through traditional package managers (apt, dnf, pacman, etc tec) might, if something goes very wrong.
Flatpaks are also updated more often, are (even if not as great as MacOS, iOS or Android) sandboxed (apps first need to get permission to do certain things such as use the Camera) and there are more people to help fix your problems.
snap are also great (again again, don't listen to the Elitists) but not a lot of apps seem to be made for it as Flatpak seems to have become the default.
now, a personal recommendation:
all the Elitists please look the other way now
i recommend you install fish and set that as your default shell.
it really is a lot better and user-friendly than any other shell there is. this is the Link, use it or not, but i really highly recommend it. makes Terminal work just so much easier.
i personally use NixOS. however, i woudn't actually recommend it to you just now.
i reckognize that NixOS is very complicated at the Start and does a lot of things different and is very difficult to learn compared to other OSes (although after you get used to the System, it is a lot easier than normal Linux).
i still often have to look up Stuff, what config to use etc.
but i like the fact that all my stuff is saved in a single config and if i were to reinstall the whole system for some reason, everything would be right back to how i wanted it. (provided i changed it in the Nixos-Config File and didn't just do it in the Settings App.)
i like the fact that if i make a change on my Desktop, i can just synchronise the config-file with my Laptop, and violΓ , all the changes are now also on my Laptop.
but then again, i wouldn't recommend it to you, seeing that you're new.
i recommend either OpenSUSE Tumbleweed or OpenSUSE MicroOS. install Flatpaks and the FISH Shell and you're good to go for your adventure.
When choosing a linux distribution, or a desktop environment, or anything really, go with the most popular, "basic" choice. Because when you have questions and need to search them, the more popular stuff is 99.9% guaranteed to have the answer to your question on some stackoverflow thread, or the arch linux wiki (which is pretty much just "the linux wiki" at this point).
Also, asking AI for help (chatgpt, phind, etc) is surprisingly helpful.
To add, you're best going with a distro that looks the most appealing to you. The build it yourself style like Manjaro or Arch have a steep learning curve if you don't know how the file structure works intuitively.
Really, just look up any online multiplayer game you play for proton compatibility. Like I believe Valorant does not work either due to the strict anti-cheat systems not playing nice with wine.