Linux Directories Explained in 100 Seconds

preview_player
Показать описание

00:00 Filesystem Hierarchy Standard
00:10 /
00:15 /bin
00:30 /sbin
00:38 /lib
00:42 /usr/bin
00:54 /usr/local/bin
01:05 PATH
01:20 /etc
01:34 /home
01:58 /boot
02:02 /dev
02:12 /opt
02:17 /var
02:24 /tmp
02:29 /proc

#linux #dev #100SecondsOfCode

Install the quiz app 🤓

Use code lORhwXd2 for 25% off your first payment.

My VS Code Theme

- Atom One Dark
- vscode-icons
- Fira Code Font
Рекомендации по теме
Комментарии
Автор

This video went a little long, use the timestamps to skip the directories you already know

Fireship
Автор

All i am sayin is that "HOW DOES THIS GUY KNOW WHAT I WANT? "

poglord._
Автор

As a systems administrator for Linux servers, this was amazingly accurate while being concise.

earthling_parth
Автор

I have an old book and it says: "The /usr stands for Universal Shared Resources but it get usually referred as the "user" file because in the unix times, they need to save memory and that's why most of the folder has only 3 characters." That folder contains most of file shared across the system including wallpapers, themes and so on instead if users files.

ChristianTorres
Автор

I didn't realize how much sense and how well grouped is linux, yet so simple

xSferQx
Автор

Fun fact: /bin and/or /sbin are sometimes symlinks to /usr/bin/ and are there for compatibility purposes.

relims
Автор

Wow. I've been using Linux regularly in a graduate Operating Systems course for months now, but this very simple video filled in so many gaps in my knowledge that should never have existed. Well done!

saintsword
Автор

The most useful explanation is often the shortest one. Thank you for not taking 10 minutes for something very simple, even included the relevant commands!

Slugbunny
Автор

usr stands for Universal System Resources*

claudespeed
Автор

Damn, I can't handle this onslaught of "Explained in 100 seconds"

thegreatfellow
Автор

Interesting fact: at times when / had a limited storage capacity /bin and /lib used to contain the minimal programs necessary for init. /usr - containing the rest of the applications - was mounted during the init process. Today initrd mounting root is a similar pattern to how /usr was mounted back then.

Gregorius
Автор

Wow that was great. As a Linux noob, these kind of videos are perfect to give me an overview of the essentials, without boring me to death with details.

oioisexymlaoy
Автор

Duuude I can't belive the question that I have listed in my to-do list for half a year, and couldn't find any satisfactory answer to, is answered at the right level just by a 100 second video freely available on youtube! Thank you so much!

oceannuclear
Автор

More Linux videos please, this one was awesome

theredditbandit
Автор

You are GOATED for doing this video. I cannot express the true joy I have rn after watching few videos before this one that couldn't express the things you taught in 100 seconds in a timespan more than 15 minutes.

seemystories
Автор

Please make a "how to get a girlfriend in 100 seconds.". Something I have never been able to master.

pjbramsted
Автор

Easily the best content about linux filesystem ever. Amazing!

victordeoliveira
Автор

100 seconds and every second is worth watching. Very very very helpful and informative. The common Linux-User salutes you! Well done!

uLu_MuLu
Автор

"/sbin" didn't originally mean "system binaries" but static binaries. It was the place for binaries that you can run in case "/lib" is not available, contrary to "/bin" which require to load libraries from there. So "/sbin" binaries could be used pretty early during boot, as "/lib" may only become available later during the boot process and most of the binaries there were only supposed to be used by system administrators as "root" user, because other users would only become available even much later in the boot process. This lead to the wrong interpretation, that this directory was for system binaries that require root privileges, as that's what it in fact was but not on purpose and that was never what the "s" was supposed to mean. Today binaries in "/sbin" aren't static anymore and also require "/lib".

And "/usr" came into existence because the main system was on a single floppy disk and by adding more and more binaries and libraries, at some point there was no space available anymore. So they had to move some less important stuff to a second floppy disk, which could resist in a second floppy drive. Yet the system required some place where to mount that second floppy and this place was "/usr", named that way as originally also the user home directories where located on the second floppy disk and "/home" didn't yet exist.

And "/usr/local" came into existence when floppies got replaced by network shares. Instead of having hundred computers, each with two system floppies or expensive hard drives (the first ones were very expensive), the system was hosted on a central server. A lot directory choices come from that kind of pattern. And in case "/bin" and "/usr/bin" were both mounted from a central server, "/usr/local/bin" was the place for binaries to go that were, well, local, meaning "not from the network server" but stored on some local storage medium on this machine only.

xcoder
Автор

It's worth noting that "/[s]bin" and "/lib" are separated because "/usr" was often mounted over NFS and you cannot boot the system when files required for it are located on a mountable resource, including programs used to mount it and set up the network. Also, you still need tools when mount breaks. Nowadays, initram is pretty much common and all tools required to mount/check/repair filesystems are packed into a ramdisk image. Mounting "/usr" from NFS share or a separate partition is no longer a thing, except in diskless terminals. That is why some Linux distributions today are merging "/usr/lib" with "/lib", "/usr/bin" with "/bin" and "/usr/sbin" with "/sbin" - it makes packaging easier at the cost of a feature almost nobody needs anymore. Additionally, separate user directories can be made a bit more secure by mounting "/home" with "nodev" and "noexec" flags which could not be done with the "old /usr scheme".

KaitoKumashiro