this post was submitted on 11 Jul 2024
664 points (97.7% liked)
Technology
59322 readers
4370 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I know the filesystem is simple to Linux users, but the semantic form of physical drives getting a letter always made more sense to me.
I have three drives in my computer. So they're labeled C:, D:, and E:. You can't place a file on "The Computer" - it's stored on some particular drive. If I install a game on the E drive, and then later somehow remove that drive and bring it somewhere else, that game remains on that drive, even if it's no longer E.
On Linux, as best I understand it, if I have three drives, two of them are at /dev/hdd0 and hdd1. But they're not actually there, they're accessed at /media/hdd0 after mounting them (or at least, that's the convention, and if it's someone else's computer, good luck). Then you either begin every game installation path with that annoying prefix, or you start configuring a dozen symlinks. If you place an item in /home/documents/notporn, then who knows which drive it's on because you don't know what symlinks someone set up to make that folder.
Windows does have symlinks too now, which has been nice for hacking a few installation directories, but I appreciate that it's an exception, and everything else follows relatively logical division of space, rather than this hybrid system where the filesystem isn't just stored files but also devices, programming concepts, and more.
That's one of the things that semi-experienced Windows users need to wrap their head around, but I strongly disagree that drive letters are somehow inferior to a hierarchical file system structure. I mean, the A:, B:, C: ... convention was originally just intended for the first IBM PC with 1 or 2 floppy drives. It was never intended to support complex storage configurations, whereas the hierarchical file system was designed for Unix systems that had to handle multiple magnetic drives from the start. It is a much more flexible system to organize your file storage.
That's because there is a difference between a block device and a mounted file system. Windows just obscures that difference from you with its archaic drive mapping system.
All your block devices and partitions on your block devices will be in
/dev
with a meaningful name. You can list them with thelsblk
command. If a partition contains a file system that Linux knows how to use, you can mount it anywhere you like.No that's not "convention" at all. Some desktop environments may decide to mount undefined drives there, but there really is no convention, ultimately you mount it where you want it to be mounted.
If your unsure,
df /home/documents/notporn
should tell you exactly what drive it's on, but ultimately it's up to you to know how you've organized your storage.BTW I've said this before, but Linux is probably harder for users who know Windows just well enough to be dangerous than it is for relative beginners, because there are so many concepts and things they take for granted that they have to unlearn.
As an interesting fact, windows totally supports mounting positions to folders and as far as I recall it's been able to for a very long time, remember doing it as a teenager and thinking it was cool AF.
https://learn.microsoft.com/en-us/windows-server/storage/disk-management/assign-a-mount-point-folder-path-to-a-drive And https://learn.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc772671(v=ws.10)
Yeah, I believe that was introduced as far back as Windows 2000. It never really caught on though.
I think I did it back in xp, I was trying to figure out when support was added.
I don't think it's super advertised that it's a capability which definitely doesn't help its usage, heck I kinda forgot about it even though I used it until your comment triggered a memory.
I just booted up a Windows 2000 VM to check ... it's there in the disk management tool. It looks a bit weird with the drive icon in Explorer, but ok.
While it might be suitable for server environments with 400+drives, all home setups will have fewer volumes than there are alphabet letters, so it’s a suitable setup there.
Someone else identified how you can run an extra command to identify actual location of a file, and while that’s useful, it’s an extra step that’s unnecessary when the design of the location string itself also identifies that. Unless you can tell me which drive /home/supra-app/preconfiguration/media is on - without running something different. (Vs windows: C:/Users/Someone/AppData/supra-app/preconfiguration/media) That’s what the design of WWW URLs was for - you never have to ask which domain a website is on, and it can even inform you about whether a site is trustworthy.
I don’t think you’re helping your case by showing there’s no drive location convention at all. A friend plugs a USB device in your computer while you’re busy in the kitchen. He’s fine if he just uses a UI autopopup, but if he needs the full path, he has to ask you where you’ve set up auto-mounting, if you have at all.
The thing is, you are absolutely free to use a
/c
,/d
,/e
mounting scheme, but you are not shackled to it like you are in Windows. Personally I like to organize my data in one big root (/
) file system on my NVME drive and then/data
for my bulk storage on HDD and/nas
for my NAS shares. I never have any problems knowing where my data is.BTW, I notice all your complaints revolve around "OMG it's different" and "OMG the user can choose to do things differently... so complicated". That is kind of the point of Linux you know?
At some point you just have to accept that it's different and move on, or decide that it's too complicated for you and use something else.
BTW, I wonder why people never make this complaint about Apple devices? It also has a hierarchical file structure without drive letters, after all it is also a Unix variant.
This is really what people should understand, you CAN do all these things in Linux... you can change virtually anything to your liking if you are so inclined. And it's usually a Google search away if you aren't sure how to go about it.
The dog whistle of “maybe it’s not for you” is pointless, since all we’re doing here is talking about preferences and opinions of design. Whether something is “complicated” or “poor design” is very subjective across many fields. It’s easy to laugh at someone pushing at a “Pull” door, but less so if there’s a pushbar there and they don’t speak English.
I could easily be facetious and suggest “Maybe Windows is just too complicated for you” but that’s similarly needlessly talking down to people’s intelligence. The topic only came up because it’s frustrating there’s no operating system out there that:
For now, issues like the last one are what keep me on Windows, and I’m not even claiming they’re easy to solve.
Well keep dreaming then. If that is what keeping you on Windows, you will never leave Windows. Nobody in their right mind is ever going to create a new OS with drive letters.
/thread
So just to help a little bit without getting too technical...
df -h
is your friend to find out which physical drive or partition relates to which directory (called the "mount point")If you want, you can set up each drive/partition to be mounted a bit Windows-esque.
For example:
/
/mnt/d/
/mnt/e/
And so on.
You'll need to look up
fstab
to understand how to do that.I understand it's tricky to get your head around initially as I felt exactly the same coming from Windows to Linux.
Once you get your head around partitions being able to be mounted anywhere, it actually becomes really handy
That’s the default configuration but there’s actually no guarantee that those drives map bijectively to physical devices.