So I realize this is a joke, but, and I am legit asking, isn't there a command where you can tell Linux to treat Downloads and downloads as the same thing?
Maybe, but there is always the possibility that Downloads and downloads both exist in that path and in a case sensitive file system, those are going to be two completely different directories, so adding that obfuscation on top might wind up biting you later.
Sorta. If you put a FAT32 disk or sd card into a Linux system and mount it, it will ignore case because of the way the filenames are stored in that filesystem. However, there are a lot of important features you lose working on filesystems like that, so really it should be reserved for sneakernet with other operating systems.
I guess you could use an ntfs filesystem... Or if you just mean for autocompletion, I've found that if there's no completions matching e.g. readme then zsh will autocomplete README. But I'd say case sensitivity of files is a feature not a bug. People use it to make files starting with a capital letter appear at the top of a list of files in a directory.
I once got into it with a dev who had written an Arduino library. I reported a compile bug, and he said my environment must be broken. In fact, it was because the headers in the library were set for #include 'arduino.h', not Arduino.h. Which would work fine on the default settings for Windows and Mac, but not Linux.
You can't hardlink directories on a standard *nix filesystem. NTFS has that in the form of Junctions and it's likely made more messes than it has prevented.
Well, it kind of would if you did alias downloads="cd Downloads" but then you wouldn't cd downloads you'd just type downloads on its own.
As other comments here already point out, you can do it with a symlink if you really want it. i.e. ln -s Downloads downloads, then you can cd downloads.
Nowhere near the same as making everything effectively case insensitive, but it works for the odd one that you always mistype.
There are ways to patch command completion and/or write a variant cd that does the job intelligently too, but those are harder work.
Day-late edit that no-one will see: The answer is bind "set completion-ignore-case on". It's embarrassing how simple this is and how long it took me to find it. I may have been trying to emulate this feature in other ways for a long time.
48 Comments
mycodesucks@lemmy.world · 126 pts · 345d
lastweakness@lemmy.world · 29 pts · 345d
Just another reason to use fish
pineapplelover@lemmy.dbzer0.com · 10 pts · 345d
I love fish. I just hate that it's not posix compliant, so if I need to run posix stuff I need to switch to sh
BuboScandiacus@mander.xyz · 15 pts · 345d
Then it turns out it was bash specific stuff
cole@lemdro.id · 7 pts · 345d
why not zsh? that's why I switched from fish
stsquad@lemmy.ml · 4 pts · 345d
Why? Scripts can still invoke the needed shell? Or are you taking about things that like to set up a shell environment?
iusearchbtw@feddit.uk · 4 pts · 345d
https://github.com/akinomyoga/ble.sh
int32@lemmy.dbzer0.com · 4 pts · 345d
I use nushell btw, but I do agree fish autocompletions are the best!
KSPAtlas@sopuli.xyz · 1 pts · 344d
I think you can use fish autocompletions in nushell?
int32@lemmy.dbzer0.com · 1 pts · 343d
you can, but you have to install fish, would be better if it was a default or standalone package.
grrgyle@slrpnk.net · 10 pts · 344d
Rofl
For the first time I've actually started, like, using the Documents folder to store copies of receipts, contracts, etc.
I feel like I have finally entered adulthood.
iveseenthat@reddthat.com · 2 pts · 343d
Oh shit. I feel personally identified...
bobo@lemmy.ml · 5 pts · 345d
Zoxide:
z dsbus_factor@lemmy.world · 74 pts · 345d
ZSH will tab-complete it even if you have a small D
tatann@lemmy.world · 24 pts · 345d
BuboScandiacus@mander.xyz · 12 pts · 345d
zsh not letting down our short king Ds
mal3oon@lemmy.world · 2 pts · 345d
bcachefs entered the chat. Linus slammed the chat close.
nocturne@slrpnk.net · 16 pts · 345d
So I realize this is a joke, but, and I am legit asking, isn't there a command where you can tell Linux to treat Downloads and downloads as the same thing?
TVA@thebrainbin.org · 30 pts · 345d
Maybe, but there is always the possibility that Downloads and downloads both exist in that path and in a case sensitive file system, those are going to be two completely different directories, so adding that obfuscation on top might wind up biting you later.
jonathan@piefed.social · 11 pts · 345d
That's where case-insensitive tab complete comes in. You can still tab through downloads and Downloads, and it doesn't impact anything else.
TVA@thebrainbin.org · 5 pts · 344d
Absolutely! That's probably the best compromise to make it easier without risking something breaking or not working as expected
oktoberpaard@piefed.social · 15 pts · 345d
In Bash you can use a shell option to alter this behavior:
shopt -s nocaseglob. See https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html for more options.jdnewmil@lemmy.ca · 13 pts · 345d
Sorta. If you put a FAT32 disk or sd card into a Linux system and mount it, it will ignore case because of the way the filenames are stored in that filesystem. However, there are a lot of important features you lose working on filesystems like that, so really it should be reserved for sneakernet with other operating systems.
BuboScandiacus@mander.xyz · 7 pts · 345d
Symlink ?
pressanykeynow@lemmy.world · 7 pts · 345d
You can use casefold option on ext4.
_stranger_@lemmy.world · 6 pts · 344d
ln -s downloads Downloads
or
ln -s Downloads downloads
depending on your situation.
nocturne@slrpnk.net · 3 pts · 344d
Thank you. I thought I remembered using something like this back when I ran OpenSUSE and redhat years ago.
overload@sopuli.xyz · 5 pts · 344d
I've kind of just accepted this is one of the differences between Linux and Windows that we as users need to understand is OS-specific.
communism@lemmy.ml · 4 pts · 344d
I guess you could use an ntfs filesystem... Or if you just mean for autocompletion, I've found that if there's no completions matching e.g.
readmethen zsh will autocompleteREADME. But I'd say case sensitivity of files is a feature not a bug. People use it to make files starting with a capital letter appear at the top of a list of files in a directory.pelle@veganism.social · 3 pts · 345d
@nocturne
if you use #fishshell, it'll autocomplete to "Downloads"
iveseenthat@reddthat.com · 3 pts · 343d
angband@lemmy.world · 2 pts · 344d
alias downloads="cd ~/Downloads"
edit: but if you want to get freaky in bash, alias downloads="pushd ~/Downloads"
probably works in some other shells too
frezik@lemmy.blahaj.zone · 14 pts · 344d
I once got into it with a dev who had written an Arduino library. I reported a compile bug, and he said my environment must be broken. In fact, it was because the headers in the library were set for
#include 'arduino.h', notArduino.h. Which would work fine on the default settings for Windows and Mac, but not Linux.Randelung@lemmy.world · 11 pts · 345d
$ ln -s ~/Downloads downloads
You can even hard link it if you feel fancy.KickMeElmo@sopuli.xyz · 4 pts · 345d
You can't hardlink directories on a standard *nix filesystem. NTFS has that in the form of Junctions and it's likely made more messes than it has prevented.
Randelung@lemmy.world · 3 pts · 345d
Ah, yes, my bad. Need a file for hard links.
jim3692@discuss.online · 2 pts · 345d
I have yet to see anyone brave enough, to mount /home to NTFS
ViaFedi@lemmy.ml · -3 pts · 345d
ln -s is a symlink. You’re better off editing user-dirs.dirs anyway
_stranger_@lemmy.world · 10 pts · 344d
It's pronounced "Data".
mazzilius_marsti@lemmy.world · 8 pts · 345d
alias downloads='Downloads'
alias Downloads='downloads'
icelimit@lemmy.ml · 2 pts · 345d
What was the new one? Pay respects?
prole@lemmy.blahaj.zone · 1 pts · 344d
Oh shit, I've never thought to do this... Would this work? Or are aliases only for commands?
palordrolap@fedia.io · 4 pts · 344d
This wouldn't work.
Well, it kind of would if you did
alias downloads="cd Downloads"but then you wouldn'tcd downloadsyou'd just typedownloadson its own.As other comments here already point out, you can do it with a symlink if you really want it. i.e.
ln -s Downloads downloads, then you cancd downloads.Nowhere near the same as making everything effectively case insensitive, but it works for the odd one that you always mistype.
There are ways to patch command completion and/or write a variant
cdthat does the job intelligently too, but those are harder work.Day-late edit that no-one will see: The answer is
bind "set completion-ignore-case on". It's embarrassing how simple this is and how long it took me to find it. I may have been trying to emulate this feature in other ways for a long time.ArmchairAce1944@discuss.online · 8 pts · 344d
I ran into that same issue. When case sensitive stuff hits for rhe first time.
Also I love linux's cmd line. I grew up on MS-DOS and I feel like the computer hacker that I always dreamed I would be.
CheesyFox@lemmy.sdf.org · 8 pts · 345d
try out zoxide
fleebleneeble@reddthat.com · 4 pts · 345d
D
HakunaHafada@lemmy.dbzer0.com · 2 pts · 343d
crossdresser downloads? Don't mind if I do!
sircac@lemmy.world · 2 pts · 344d
My home is so populated of symlinks of similar namings: capital leters, other languages,...