Scriptability.
Linux
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.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
For me, two main aspects: I do not have to move my hands from the keyboard and I can pipe things from one tool into others, significantly speeding up many tasks
Because app manager doesn't work well. And there are the feedback on terminal that tell you about missing dependencies or broken packages...The fact you get those verbose log help for doing web research and solve lot problems. On GUI installing app isn't well done : it's slow, they don't tell you what they are doing nor why it fail.
The only limitation of terminal is when you want to work with file system. I need to see the tree and typing ls -a everytime isn't efficient. Example, i'm doing a git clone on a server throught ssh. But i have no way to know its structure and check if i downloaded it in the correct directory. I need a visual that tell me this folder is here, has those writing permission, is a tar archive... So i use both : filezilla and terminal, gui and cli. In fact, they are both very useful, so there no point comparing gui and cli, they both serve well their purpose.
I'm using CLI and GUI. For example, if i want to chose the correct keyboard and check its mapping : gui. If i want to add sources and its gpg key : app manager gui. There is no way i would enjoy typing this huge command line with flags from my mind, and i do lot mistype. Or installing the stack lamp ? on windows it was amazing and faster than linux. next, next, done.
Luckly we can copy-pasta those commands.
Edit : updated my text.
It's easy and fun
Because there is no native gui. For most things to configure in Linux there is a webui but not a simple Gui built in. Configuration files like squid.conf smb.conf nginx.com... then we have logs but here I think I never checked for a Gui, does it work for remote ssh easily? Can you restart service easy?
For simple tasks you don't need CLI. Most GUIs implement basic workflows and do a reasonable job at it (obviously not counting the ridiculous amount of time Windows needs to "compute space requirements" while deleting an empty directory. Seems it's more important to get that little popup on screen and run the animation a few times than actually doing the job).
It's when you get past the basics that CLI comes into its own. Those grindy things you do in Windows clicking one thing at a time? Glue a couple of commands together in the CLI and it's done in a tiny fraction of the time.
I don't actually use it that much to input commands, but many scripts I made pop one up to show details of what's happening, e.g. how opening the VPN connection is going, what crypto module it's currently loading or how many more iterations a macro will do.
Because I have to for some things. If I could never see a CLI again I'd be happy.
If you know how to use git, you will know how to use docker (provided you know what you want to do). They are completely different programs, yet you can quickly grasp the other instinctively.
Now, Photoshop and Blender - they are also different programs, but if you know Photoshop, you still need to relearn Blender's interface completely.
This is why I prefer terminal programs in general. Unless it's more convenient to use GUi, i.e. Drag&Drop file manager, some git tools etc.
You use it because you like to be efficient your use of a computer.
I use it because I'm a bossy arsehole and I like telling things precisely what to do.
We are not the same.