DEV Community

Cover image for Linux Usage Intro: System Folders Explanation, Proton, Apps Install&Remove
hopsayer
hopsayer

Posted on • Edited on

Linux Usage Intro: System Folders Explanation, Proton, Apps Install&Remove

Linux Usage Quick Intro: From Confusion to Clarity

If you're new to Linux, especially coming from Windows, the operating system can feel like a completely different world. The lack of C:\ and D:\ drives, the terminal-centric approach, and the different file system hierarchy can be overwhelming at first. This guide aims to demystify Linux usage, focusing on Arch Linux (though most concepts apply universally), and help you understand the why behind the system's design.

The Core Philosophy: Order Over Chaos

Unlike Windows, Linux follows a unified, hierarchical file system that starts from a single root: /. There's no concept of separate drives in the path structure. When you install programs, they go into standardized, predictable locations by default. Why?

  • Interoperability: Program A can reliably find files from Program B.
  • Predictability: You (and the system) always know where to look for things.
  • No manual path selection: You don't need to choose "install locations" for each application.

The rare exception? Massive games or datasets that don't fit on your primary drive. For these, you use symbolic links (advanced "shortcuts") to redirect from standard paths to other locations.

Navigating the File System: Key Directories

Open your file manager, type / in the address bar, and press Enter. Welcome to the root. Here's what matters:

  • /home/ – Equivalent to C:\Users\. Your personal folder is /home/your_username/. This is typically where your file manager opens.
  • /etc/The configuration hub. Contains config files for most system-wide applications. Crucial: If you edit configs here, they might get overwritten on updates. The proper way is to copy them to your user config directory (more on that later).
  • /tmp/ – Temporary files. Browser caches, app temp data, etc.
  • /usr/ – User programs and data (despite the name).
    • /usr/bin/ – Main executable binaries for installed programs.
    • /usr/share/ – Shared data: icons, .desktop files (menu entries).
  • /opt/ – Optional/third-party large applications (Steam, some proprietary software).
  • /var/ – Variable data like logs (/var/log/).
  • /bin/, /sbin/, /lib/ – Essential system binaries and libraries. Rarely need manual interaction.

Your Home Directory: The Hidden Power

Inside /home/your_username/, you'll find visible folders (Downloads, Documents) and hidden ones starting with a dot (e.g., .config). Enable "Show Hidden Files" in your file manager (Dolphin: Ctrl+H or View menu).

Key hidden directories:

  • .configYour personal configuration center. Copy and edit config files from /etc/ here. They won't be overwritten by updates, and they're portable between installations.
  • .cache – Local cache (browsers, apps). User-specific version of /tmp.
  • .local/share/ – Your personal AppData\Roaming.
    • .local/share/applications/ – Place custom .desktop files here to add programs to your application menu.
  • TemplatesA brilliant feature. Whatever files you put here (e.g., New Image.png, Resume.docx) will appear in your file manager's right-click "Create New" menu. No more cluttered context menus!

Installing Software: Repositories Are Your Friend

Forget downloading .exe files from websites. Linux uses package managers.

Official Repositories (pacman in Arch)

Thousands of vetted, maintained packages.

# Search for a package
pacman -Ss package_name

# Install
sudo pacman -S package_name

# Remove
sudo pacman -R package_name
Enter fullscreen mode Exit fullscreen mode

AUR (Arch User Repository) via yay

A community-driven repository with virtually every program imaginable. If it's not in the official repos, check AUR.

# Install yay (if not present)
sudo pacman -S yay

# Install from AUR
yay -S package-name-from-aur
Enter fullscreen mode Exit fullscreen mode

Pro tip: yay will show multiple options. Usually pick the first one, especially if it has a -bin suffix (pre-compiled, faster installation).

How AUR works: Community members create PKGBUILD scripts that automatically:

  1. Download the program from its official source (even .deb files for Ubuntu)
  2. Compile or extract it
  3. Place files in correct Linux paths
  4. Create a native Arch package

Gaming on Linux: Steam & Proton

  • Steam typically installs to ~/.local/share/Steam/ or /opt/.
  • Proton is a compatibility layer (Wine) optimized for games. It's not emulation – it translates Windows API calls to Linux on the fly.
  • To enable Proton: Right-click a Windows game → Properties → Compatibility → Enable Steam Play → Choose Proton version.
  • Check game compatibility at protondb.com.
  • Steam's new behavior: With "Enable Steam Play for all titles" checked, your library shows ALL games regardless of OS. The Linux filter (penguin icon) won't change counts – Steam assumes everything can run via Proton.

Essential Software Replacements

  • Graphics:
    • sudo pacman -S krita – Digital painting (great with tablets)
    • sudo pacman -S gimp – Photo editing (with Photoshop-like extensions)
    • sudo pacman -S inkscape – Vector graphics
    • sudo pacman -S pinta – Simple image editing
  • Office Suites:
    • sudo pacman -S libreoffice-fresh – Full-featured free suite
    • yay -S onlyoffice-bin – Best MS Office format compatibility

The Mindset Shift

Yes, there's a learning curve. You need to remember paths and get comfortable with the terminal. But this is an investment that pays off:

  • Predictable system behavior
  • Easy configuration backup (just copy .config)
  • Clean software management (no registry, no scattered files)
  • No context menu bloat

Don't try to force Windows patterns onto Linux. Embrace the standardized paths, trust the package manager, and within a couple of months, you'll not only understand the system – you'll appreciate its elegance.

Final tip: When you need software, first search your package manager (pacman -Ss or yay). If it's not there, search "program_name arch linux" – you'll usually find it in the AUR. This approach keeps your system clean and manageable.

Welcome to Linux – where things make sense once you understand the logic!

Top comments (4)

Collapse
 
sephyi profile image
Sephyi

Arch as a beginner distro isn’t a tutorial, it’s a stress test 😅

You meant well, but the post says “Linux” while mostly covering Arch — and even there, topics stop just before they get useful. That’s rough for beginners and thin as stratospheric air for experienced users.

This would work far better as a focused post on one concrete topic instead of a Linux speedrun.

Also: the Filesystem Hierarchy Standard is surprisingly good reading 🤓 Anyone serious about Linux packaging or server hygiene should know it. Many clearly dont.

Collapse
 
hopsayer profile image
hopsayer • Edited

I actually realized the point you’re making at the very moment I was typing all of this. I just didn’t have enough time to consciously lower the explanation to a true “beginner” level. To be honest, it’s simply faster and easier for me to explain things the way I did.

Originally, this text was meant as a quick reference for a friend. I just decided to make it cleaner and public. It WAS supposed to be a kind of Linux speedrun 😁, and it actually worked: it helped him quickly understand where he ended up after switching from Windows. A week or two after, he is still using Arch btw 😁. The goal was to relate Windows and Linux concepts, build analogies, and explain Linux advantages along the way. I’ve had multiple experiences of introducing friends to Linux, and I’ve noticed one thing: if a person is already scared of Linux, you won’t be able to stop them from running away, no matter how simply you try to explain it.

In fact, this text is more of a general overview of the Linux experience and can be applied to different distributions. I intentionally didn’t duplicate every command with Ubuntu equivalents. From the context, it should be obvious that pacman commands can be replaced with apt ones, for example.

I deliberately made this article different from the hundreds of others out there, because those didn’t help me at all back then. I wrote this for people like I was at that time, even if there aren’t many of them 😊.

Personally, I feel more comfortable on Arch (EndeavourOS, to be precise). Arch itself is still not for beginners, but EOS is. In my opinion, it’s easier to use than Ubuntu, and not only for advanced users. I have reasons to think that Ubuntu’s “friendliness” is largely a myth from the 2010s.

Maybe later I’ll remix this and similar topics into something more beginner-oriented, popular, and conventional. On the other hand, Arch seems to be rapidly gaining popularity, at least from what I can see.

I tried to make something that can’t be found in five seconds elsewhere. There are plenty of “easy” and “out-of-the-box” solutions already. Anyway, thank you for coming, reading, and replying. Even though it’s criticism, I appreciate.

You say it is gatekeeping and maybe it is. But it definitely wasn't on purpose.

I agree that the FHS is an interesting topic for a deeper dive. I just don’t quite understand why you brought it up at this point. Do you mean that I should learn it better myself, or were you speaking more generally?

Collapse
 
sephyi profile image
Sephyi

Apologies for the delayed response. I was busy manually partitioning a drive somewhere. 🤡

In that context, it certainly makes sense. Also, if I'm not mistaken, you didn't mention EndeavourOS, which I assume ships with a graphical installer and a desktop environment pre-installed, because apparently clicking "Next" four times counts as "using Arch" now. Personally, I think you're missing the entire point of Arch if you don't install it yourself from the base image. But that's the sysadmin in me talking. The whole beauty of Arch is building a minimal system without all the bloat. And yes, I call it bloat. Don't even get me started on Windows; we'd be here all week.

As for FHS — it's simply a Pavlovian response at this point. Someone says "Linux" and "file system" within a 10-minute window and I physically cannot stop myself. In my experience, almost nobody deploys server applications in an FHS-compliant way, which temporarily transforms me into a screeching gremlin. I think it's genuinely relevant for anyone working with Linux beyond surface level, though. I meant it more as a general PSA for humanity.

Anyway, I don't want to hijack your comment section into my personal therapy session. Feel free to get back to me and I'll respond at a more relaxed moment. Faster this time, I swear.

At the end of the day, everyone needs to find their own Linux distribution soulmate. I personally can't stand any of them for desktop use because I like my machines to, you know, work. If I really had to recommend a Linux desktop distribution to someone, I would probably say Fedora.

I switched from Android to iOS probably over a decade ago for that exact reason, got myself a MacBook a good while after, and never looked back. macOS being Unix-based is the cherry on top — it's basically everything I love about Linux without the weekend-destroying urge to fix my own display manager at 2 AM.

Thread Thread
 
hopsayer profile image
hopsayer • Edited

Oh, you seem heavily disappointed in Linux, though the conversation started about helping newcomers love it. Interesting turn of events. You probably have a heavy sysadmin job and don’t have much time to recover.

About your “clicking Next four times counts as using Arch now” - it might shake your foundations, but yes, it is using Linux, and it is using Arch. You even used the word “using”. There’s no mention of installation by all Abrahamic rites. If I tell you I did install Arch manually - bit-by-bit partitioning on the worst partitioner I’ve ever seen - I gave up halfway because it’s painfully slow and boring, especially since I already understood the subsequent steps. I also installed Gentoo, compiling 800 packages over three days on mediocre hardware just to remove it in minutes. That’s self-assertion, not practical Linux use. Your second statement is correct: “The whole beauty of Arch is building a minimal system without all the bloat.” I agree. I also get annoyed by Windows. Arch is minimalism, control, pacman, AUR, good wiki, latest packages, quick fixes, excellent hardware support, versatility.

You mentioned gatekeeping - but what are you doing now in relation to me? Maybe I’m a beginner Linux user, and you’re telling me the only right way is manual console-based Arch installation. That is exactly gatekeeping: preventing newcomers from entering. My article has, at most, accidental gatekeeping in a far smaller percentage and with radically less pretentiousness.

About therapy - don’t worry, we’re already doing it here. In the age of AI, listening to a human for variety is valuable.

Regarding Pavlovian responses - behaviorism is too simplistic for describing people. If you ever need to understand yourself or someone else, Pavlov won’t be enough, and it has nothing to do with the current Linux discourse.

About Fedora - I never recommend it to beginners. I like vanilla Wayland and GNOME out of the box, but not at Fedora’s price. I don’t understand how Linus Torvalds could install Fedora but not Debian. Personally, I and a few Linux-using friends couldn’t stomach Fedora’s installer, partitioner, dracut, and especially proprietary NVIDIA driver setup, which is highly not transparent there. DNF/YUM is unbearably slow, even with tweaks, compared to apt. Fedora isn’t easier for newcomers. Maybe you missed the point that Arch-like distros became easier for “ordinary people” than Fedora, sometimes even Ubuntu, if introduced briefly like I did in my article.

About “in the end of the day” - maybe you’re looking for a soulmate in me, given your long comments (as well as mine tho). If so - it could be interesting for me to have an internet buddy at least for keeping my english acceptable.

About iOS/macOS - I respect Apple. I know several people who are happy with it. It seems the only ecosystem where you never have to fix anything - hard to argue with that. If it helps you escape stressful Linux, good for you. I’d do the same if I had resources for a second machine.

If you broke your display manager, you were likely using Xorg. Wayland is harder to break due to better consistency and smaller attack surface. Try it - it pleasantly surprised me after the 2025 autumn updates. I used to be strictly pro-Xorg.

I never said anything in my article about configuring servers to FHS standards. You’re inventing arguments. Beginners quickly learn about FHS from Wikipedia or articles repeating Unix philosophy. So did I back then. My inclusion of the term into the header affects readability and scares some beginners, I agree. But that occured to me the only way to say "Linux filesystem typical locations" shortly. I also agree that the article isn’t a successful “product” of mine for Dev.to. Newbies have already passed by. Leaving only you and me here arguing 😂

Don't get me bad. I appreciate your communication. It's interesting for me - if I'm catching myself typing all of this right now in the middle of the evening. But I lose the thread "why" at some of your points. Which are pronounced like being the highest and only truth.
If I was occasionally rude elsewhere - excuse.