Anyway, I’m just saying the crypticness is largely cultural and unnecessary. If there is some kind of CLI “skin” that lets you interact with Linux at the command line using normal words, I’d love to know about it.
This is far more manual than you probably had in mind, but Linux has support for a command called alias, which allows you to basically rename anything you like:
That’s because for the most part, it’s faster. You don’t have to lift one hand off the keyboard. Also using the cursor and clicking on something requires more precision and effort to get right compared to typing a word or 2 and hitting enter.
This is me kinda bragging, but at my typing speeds, something like ls -la is under half a second. Typing cd proj (tab to auto complete) (first few letters of project name if it’s fairly unique) (tab to auto complete), hitting enter, and then typing a quick docker compose up is an order of magnitude faster than starting the containers in docker GUI.
But tbh Linux commands really are ridiculously cryptic - and needlessly so.
Agreed. Okay, to be fair, for parameters, most of the time you have the double-dash options which spell out what they do, and for advanced users there’s the shorthands so everyone should be happy. But the program/command names themselves. Ugh. Why can’t we standardize aliases for copy, move, remove/delete? Keep the old binaries names, but make it so that guides for new users could use actual English aliases so people would learn quicker?
At least part of this is the decentralized/complied nature of a FOSS operating system. You don’t get a command called grep because someone making design decisions about a complete system holistically decides that tool should be called grep. You get it because some random programmer in the world needed a way to find patterns in text so they wrote one and that guy called it grep and someone else saw utility in packaging that tool with an OS. It’s a patchwork, and things like this are a culture of sorts.
The great thing about the core philosophy of unix is that you could easily do what you suggest and maintain compatibility with applications that rely on the traditional coreutils (Which is the major reason why no one will really suggest changing the traditional syntax. It’ll break way too much.).
Just build a series of applications that actively translates your “less ambiguous” commands into traditional syntax. I’ve done it for a number of things where the syntax is long and hard to remember.
In fact I think a “nuutilus” would actually be fairly well received for distributions that are more new user focused and a pretty worthwhile endeavor.
I say “easily” because it wouldn’t require a major effort on the scale of coreutils. It could just be a series of fancy automation scripts. It’ll take effort, but not the most intense of exercises.
I made a handful of them at an old job because we had a few specific tasks that we would regularly do, but not enough to commit it to memory. I just spent an afternoon here and there slapping together python scripts with just the options we would need and tossed it into /bin
Removed by mod
This is far more manual than you probably had in mind, but Linux has support for a command called alias, which allows you to basically rename anything you like:
https://phoenixnap.com/kb/linux-alias-command
Removed by mod
That’s fair. But it’s at least something.
That’s because for the most part, it’s faster. You don’t have to lift one hand off the keyboard. Also using the cursor and clicking on something requires more precision and effort to get right compared to typing a word or 2 and hitting enter.
This is me kinda bragging, but at my typing speeds, something like
ls -la
is under half a second. Typing cd proj (tab to auto complete) (first few letters of project name if it’s fairly unique) (tab to auto complete), hitting enter, and then typing a quickdocker compose up
is an order of magnitude faster than starting the containers in docker GUI.Agreed. Okay, to be fair, for parameters, most of the time you have the double-dash options which spell out what they do, and for advanced users there’s the shorthands so everyone should be happy. But the program/command names themselves. Ugh. Why can’t we standardize aliases for copy, move, remove/delete? Keep the old binaries names, but make it so that guides for new users could use actual English aliases so people would learn quicker?
At least part of this is the decentralized/complied nature of a FOSS operating system. You don’t get a command called grep because someone making design decisions about a complete system holistically decides that tool should be called grep. You get it because some random programmer in the world needed a way to find patterns in text so they wrote one and that guy called it grep and someone else saw utility in packaging that tool with an OS. It’s a patchwork, and things like this are a culture of sorts.
interesting you used grep because it’s a command that has a very clear origin.
in ed/vi the g command was used to run commands on some pattern. eg
g/[regex pattern]/[command]
the p command was used to print current line so to print any line that matched the string “grep” you would do:
g/grep/p
.when this was made into a seperate command it was called grep:
g/re/p
. using re to denote regex.Removed by mod
alias
your way to something you likeIt’s definitely more intuitive but It would drive me insane having to type that all out.
Removed by mod
The great thing about the core philosophy of unix is that you could easily do what you suggest and maintain compatibility with applications that rely on the traditional coreutils (Which is the major reason why no one will really suggest changing the traditional syntax. It’ll break way too much.).
Just build a series of applications that actively translates your “less ambiguous” commands into traditional syntax. I’ve done it for a number of things where the syntax is long and hard to remember.
In fact I think a “nuutilus” would actually be fairly well received for distributions that are more new user focused and a pretty worthwhile endeavor.
Removed by mod
I say “easily” because it wouldn’t require a major effort on the scale of coreutils. It could just be a series of fancy automation scripts. It’ll take effort, but not the most intense of exercises.
I made a handful of them at an old job because we had a few specific tasks that we would regularly do, but not enough to commit it to memory. I just spent an afternoon here and there slapping together python scripts with just the options we would need and tossed it into /bin
Oh that reminds me of diskpart on Windows. I always liked the fact that I could abbreviate “assign” to “ass”.
Removed by mod
That’s true