this post was submitted on 24 Dec 2023
46 points (88.3% liked)

Linux

47237 readers
3343 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi, everybody Recently, a guy noticed that I was using it and asked why? For me it because in Linux many things are done through the terminal because Linux has many different desktop environments

He also compared terminal commands with cheat codes in GTA and other games, he understands what benefits you take from them, but not from terminal commands

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 19 points 9 months ago

because every additional layer of abstraction disrupts communication with the Machine Spirit even further

[–] [email protected] 15 points 9 months ago

Because I prefer using keyboard for almost everything and in most cases terminal is faster than GUI.

[–] [email protected] 14 points 9 months ago

Command line is a lot more powerful for a lot of cases. Most CLI programs are written with the idea that the caller might be another program, so they tend to be easy to chain with pipes and redirection. So you have tons of simple tools that you can combine however you need.

[–] [email protected] 13 points 9 months ago

For tasks that I know, I'm faster in the terminal. For tasks where I'm less familiar or that are very important (like disk partitioning) I prefer a GUI because with a GUI I can usually see a bit better what I'm doing.

Terminal tasks for me include copying stuff, setting folder permissions, uncompressing or compressing folders, quick edits in vim, etc.

[–] [email protected] 11 points 9 months ago

Because Gui's don't show advanced options and so I know/understand exactly what is being done. (e.g. I would always use apt over mint's package store so I could see what it did, how much time I had left, download multiple applications at once and see if the package made a random config file somewhere)

[–] [email protected] 11 points 9 months ago

Reproducable actions that do exactly what you expect.

[–] [email protected] 10 points 9 months ago

Only one of the ~250 linux machines I maintain has a gui.

[–] [email protected] 9 points 9 months ago

Because you can't (easily) program gui apps to automate tasks, but combining a few terminal programs to get more complex behaviour is really easy

[–] [email protected] 8 points 8 months ago
  1. Scripting is easier. Apps and commands can be composed together in simple repeatable scripts.
  2. looks cool.
  3. Remotely administer machines with the same interface and little lag.
[–] [email protected] 8 points 9 months ago (1 children)

I like using the terminal because of 3 main reasons:

  1. I like using my keyboard
  2. I like doing multiple things in one window
  3. Verbosity

I'm pretty quick with typing, but sometimes I can't see !y mouse at first, so it's just faster for me to type out what I want to do as long as I know the right arguments for it.

My average workflow at work as me doing frequent saml logins and going between multiple kinds of databases. It's just easier for me to run the saml cli command and then run the SQL CLI command I need instead of messing with datagrip settings and stuff. Also I recreationally run some servers and it's just easier to ssh into the server, make the changes I need in something like nano or the redis CLI tools and then log back out. This means I'm just plain more comfortable on the terminal in certain situations like config editing, writing posts for my gemini capsule, etc.

Sometimes when I run a GUI program I'll get big loud silence and don't know what to do. In that case I genuinely enjoy using the terminal and running an equivalent command with verbosity settings so I can see what it's doing or not and can track down any errors.

On top of those reasons, I've been playing with RISC-V architecture lately and, while the xorg riscv64 port is admirable, I just get better performance rn by running my RISC stuff through tty.

I recognize that not everybody is going to have the same use case and workflows as me, but I'm pretty comfortable with what I've got 😅

[–] [email protected] 2 points 9 months ago (2 children)
  • verbosity

That mean you install powershell on linux?

load more comments (2 replies)
[–] [email protected] 8 points 9 months ago
  1. It feels great
  2. Terminal programs run on a potato
  3. They are almost always way more powerful then their GUI counterparts
  4. They integrate with scripts and other tools for unlimited power and flexibility!
  5. You feel like a hacker man
  6. Your IT literate friends think you are cool
  7. You can really do things your own way

So yeah I love using the terminal for almost everything

[–] [email protected] 7 points 9 months ago

I just think it's neat!

[–] [email protected] 7 points 9 months ago

Terminal is faster when you're used to it and sometimes offer more customization options to some apps that has both a GUI and TUI/CLI version.

I use the terminal (st with zsh and tmux) for:

  • file management (advcpmv, fd, trash-cli, fzf ...)
  • emails (neomutt)
  • text editing/coding (neovim)
  • project management (taskjuggler)
  • image viewing/organization (ucolla,ge)
  • online video browsing (ytfzf)
  • calendar (khal)
  • ssh
  • vpn
  • news aggregator (newsboat)
  • web, bookmarks manager (buku)
  • passwords manager (pass)
  • dotfiles manager (stow)
  • not in the terminal but I also have a lot of scripts used in rofi to control my audio input/outputs, launch a web search, access my bookmarks, autocomplete username and password fields

I'm sure I'm missing some obvious tools I use daily. It's hard remember everything when it becomes so natural.

I have shared my experience with some of these tools here.

[–] [email protected] 5 points 9 months ago

Here's the ELI5 answer I'd give to your friend:

Computers are like servants. They do whatever you ask of them. But to be able to ask them things, you must do so in their language. On the extreme low level that means writing code to make programs, but on a higher level, it means talking to programs someone else already wrote using special commands.

The buttons and switches on a GUI that you can click on with a mouse are like pre-recorded commands that instruct the computer to do some specific thing. The button or whatever will have a symbol or text description that lets you intuitively know what it's for, and when you click on it, it plays a pre-recorded command to the computer in its language that tells it to do that thing. With these buttons, you can ask things of the computer in its language without having to know that language.

As you get more intimate with the computer, this system can start to feel a bit stiff. You've essentially got a butler who doesn't speak your language, and any time you need to give him a task, you have to fumble through a basket of pre-recorded tape recorder messages to find the one for the task at hand, and play it to him. For more complex tasks, you may need to chain several of these together. It gets slow and awkward. And god forbid you don't even have a tape recording for the thing you need.

It's easier if you learn the butler's language yourself. Then you can ask him for things directly. You're not bound to any collection of pre-recorded messages to use, you can tell him exactly what you need. And if you don't happen to know the word for something, you can look it up. It cuts out all the faffery with fumbling over a tape recorder looking for the messages you need to play.

Using a terminal is roughly the computer equivalent of speaking to your butler in his native language. You're not limited to only the buttons and features any particular program lets you have; you can make up exactly what you need on the spot. And you never have to bounce your hand between a mouse and keyboard to do it, you can keep your hands in one position at all times, which really adds up over time in both speed and comfort.

Practicing this will also give you the side perk of better understanding how the computer actually works overall, and what it's actually doing. This knowledge can come in super handy when diagnosing problems with the thing. When a GUI gives up, a terminal can keep digging.

[–] [email protected] 5 points 9 months ago

Because it's the most effective and powerful tool for putting the Unix philosophy into practice.

[–] [email protected] 5 points 9 months ago

Because I have no other choice?

[–] [email protected] 5 points 9 months ago

It is quick. it does not need to load a bunch of things and in certain tasks, I can do multiple things at once.

I also find it easier to navigate and edit files with tab to complete.

[–] [email protected] 5 points 9 months ago (2 children)

Because every IDE implementa a different git interface and I can't be bothered to figure out where they hid the commit, push, pull etc. buttons this time.

[–] [email protected] 3 points 9 months ago (1 children)

Damn I hate with a passion the IDE interactions with source control software. I may make use of the visual information they give me, but I still execute the commands in the console.

[–] [email protected] 3 points 9 months ago

Same. Git GUIs can be great for examining commit trees, visualising patches, etc. For any write operations (this includes things like fecth and pull which write to .git), it’s all in the shell.

[–] [email protected] 2 points 9 months ago

When teaching programming classes it's awful trying to figure out every IDE's git interface that my students are using. Each IDE puts the buttons in very different layouts and they even change the names of the buttons because they don't like the way git itself named operations. It's untenable to know them all and actually be efficient and helpful as the instructor.

Instead, I say they're welcome to use the IDE, but the class materials use the canonical underlying command line tools and terminology. They just need to search for how to translate the real git interface to however their chosen tool does the same operation, but it's up to them to figure it out.

When they do ask for help, I bring up the terminal (usually even inside the IDE) and run the git commands just like we went over in class.

[–] [email protected] 5 points 9 months ago

The terminal is a power tool. I can do stuff with it that’s slow or inconvenient with graphical tools.

I really like the piping capabilities of the Linux terminal. Incredibly useful for text processing.

[–] [email protected] 5 points 9 months ago

Because I'm forced to use a Mac at work. So to avoid their terrible UI, I use the terminal for most of the things. Then switching back to Linux is relatively easy.

Also it is faster in most cases and it's keyboard-first.

[–] [email protected] 5 points 9 months ago

It's an one in all tool. I like that I can do almost everything through one program.

[–] [email protected] 4 points 9 months ago (2 children)

Cause it is faster than GUI...

load more comments (2 replies)
[–] [email protected] 4 points 9 months ago

Makes me feel like a hacker and makes other ppl think that I'm smarter than I am... That and there are certain things that are just more convenient through the terminal

[–] [email protected] 4 points 9 months ago (2 children)
load more comments (2 replies)
[–] [email protected] 4 points 8 months ago

Why should i open discover, wait half a year for it to load, search for vlc, wait half a year, look if its not a flatpak, realise its a flatpak, repeat

If i could just type sudo pacman -S vlc?

Or search how to update my grub config if I could just type grub-mkconfig -o /mnt/Boot/grub/grub.cfg?

[–] [email protected] 3 points 8 months ago

For me it's because I get a lot of feedback, if anything I do goes wrong I know why. Also it's usually faster

[–] [email protected] 3 points 8 months ago

Because googling a command line works way better and faster than any other form.

[–] [email protected] 3 points 9 months ago

I use a lot of programs and scripts that I wrote myself and most of the time I couldn't be bothered to make a GUI for them.

[–] [email protected] 3 points 9 months ago

You can use the terminal commands to automate tasks, build cicd etc. Navigating file tree and performing tasks is much quicker once you get the hang of it. Lastly it translates well on all distros and even on Mac, or windows with wsl or cygwin

[–] [email protected] 2 points 8 months ago

Nice choice. Try to stick to the standard repository, kinda like the Play store on android.

I believe Mint tries to have minimal dependence on the command line. But usually it's easier to help others solve problems with the command line since that is easier to write out than how to click through menus. So don't let it scare you too much.

The internet is a friendlier place now, at least in the linux help-o-sphere. People don't let others post destructive "lessons" for people to learn anymore.

That was comment I wrote in a thread about distro recommendations. I think it provides a context in which CL has a clear advantage over GUI.

[–] [email protected] 2 points 8 months ago

I use the terminal in a variety of circumstances (like working on Node.js and other programming projects) where there is either no good GUI alternative or using a CLI is actually faster. I've been using computers since 1989 and my first operating system was MS-DOS, so the thought of using a CLI when necessary doesn't bother me.

[–] [email protected] 2 points 8 months ago

Why not? It's simple, lightweight, has a lot of interesting commands that fills its respective niche really well (btop, for instance) and (the best of all) it doesn't explode my PC everytime I run such commands.

[–] [email protected] 2 points 9 months ago

To be honest I hardly use it. I'm on Linux Mint Debian Edition and the built in updater does a great job. So I find myself never using the terminal

[–] [email protected] 2 points 9 months ago

I think about it like a tree structure for both. With a gui you have to move your mouse around to various places, with a cli each character branches off into another tree. Mathematically you can handle more options faster with a CLI.

[–] [email protected] 2 points 9 months ago

Repeatibility (is that a word?) and scriptability. I find CLI tools easier to work with and easier to get information from them.

[–] [email protected] 2 points 9 months ago

it allows easy scripting. also for frequently used commands, i can just scroll up in the history, instead if clicking the same buttons over and over

[–] [email protected] 2 points 9 months ago

Some applications take some time to load up visual elements that you don't need before you can start using it. When you got a lot of work to do sometimes that just slows you down.

A lot of CLI programs do one thing and do it well while also working excellently in custom scripts.

[–] [email protected] 2 points 9 months ago (3 children)

I'm just faster in the terminal than a gui

load more comments (3 replies)
[–] [email protected] 2 points 9 months ago (5 children)
load more comments (5 replies)
[–] [email protected] 2 points 9 months ago

If I figure out how to do something in the terminal, then I know I can automate it eventually.

If I figure out how to do something in a GUI I might be able to automate it.

[–] [email protected] 1 points 8 months ago

It's very fast and nearly always gives me the results I want without extra bullshit. For example using bc or qalc to do a quick unit conversion vs launching a calculator app for the same purpose.

[–] [email protected] 1 points 9 months ago

Because I can do things in 30 seconds what two windows admins take 15 minutes to do with their point and clicking. Not even making this up, this happened.

load more comments
view more: next ›