1236
Linux Directory Structure - FHS
(lemm.ee)
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.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
wait /usr doesn't mean user?
/etc has to be the worst name in there
usr does mean user. It was the place for user managed stuff originally. The home directory used to be a sub directory of the usr directory.
The meaning and purpose of unix directories has very organically evolved. Heck, it's still evolving. For example, the new .config directory in the home directory.
I hope slowly but surely no program will ever dump its config(s) as
~/.xyz.conf
(or even worse in a program specific~/.thisapp/
; The~/.config/
scheme works as long as the programs don't repeat the bad way of dumping files as~/.config/thisconfig.txt
. (I'm looking at you kde folks..) A unique dir in .config directory should be mandatory.If I ever need to shed some cruft accumulated over the years in ~/.config/ this would make it a lot easier.
Per the graphic, it means Unix System Resources....
I don't trust a graphic which explains /boot as "system boot loader files"...
Why? What's inaccurate about it? I have no idea and would like to learn.
It's not wrong, but it feels a bit like some tech articles you'll see which are obviously just created to fluff up a CV. I wouldn't say avyttring here is flat out wrong, just kinda... lacking.
But yeah, /boot holds "system boot loader files", sure, but that's a bit vague. It should contain your kernel and initramcpio and IIRC Grub also had its config here. That's pretty much it. I would've rather said /boot contains the kernel.
"device files" it's so vague that it's almost wrong IMO. At first glaze I would've thought that it means drivers rather than, say, "interfaces to devices"
It kind of makes sense on many BIOS/UEFI-less systems where e.g. Uboot is used. And it does contain things like kernel images, sometimes initRD files etc. (which may not be bootloader files but are still system boot files).
Well that's a shame for me. This graphic finally made the Linux file directory structure make sense to me
I wonder why that isn't /cfg? Is there a historical reason?
According to this, it's been around since the 70's and was originally just a catch-all for files that didn't fit in the other default directories, but over time has come to be mostly used for config files. I assume it would cause utter mayhem to try and change the name now so I guess it just sticks. Someone suggested "Edit To Configure" as a backronym to try and make it make more sense if that helps anyone lol.
I too expected it to be "et cetera".
If you're asking that in anything Linux related, it's probably a Yes 99% of the time LMAO
Not just Linux... 99% of the time you see something weird in the computing world, the reason is going to be "because history."
Looks at the entire networking stack
Yup (unfortunately)
Windows 11 is still reserving A and B drive for floppy discs.
Try naming a folder "CON" in Windows and learn the magic of old spaghetti code by a multi billion dollar company.
It's probably the standard in both POSIX and the Single UNIX Specification, so I guess ask Ken Thompson?
It meant user, as in user-installed programs and libraries for this system over the core system programs and libraries of the operating system in /bin and /lib.
Someone learned it wrong, but otherwise I think the image is right.