Why do you use the terminal?

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

BudgieMania,

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

Crul,
cbarrick,

I’m a software developer. I think about my interactions with computers as language. And Posix shell is a pretty good programming language.

So interacting with the computer this way just makes sense to my monkey brain.

Tiuku,

I’m a shell user too, but as programming languages I would rate Bash utter garbage. Fine for little piping but for longer scripts I will be reaching for Haskell.

cbarrick,

Shell and Haskell are for different purposes.

Shell is for composing tools that work on text streams.

Haskell is for writing new tools or for programming against other (more structured) data models.

Also, shell programs are small. The interpreter can be tiny. Re-compiling every new tool can add a ton of bloat.

Also also, the key to effective shell programming is to recognize it as a macro language.

crony,
@crony@lemmy.cronyakatsuki.xyz avatar

I’m just faster in the terminal than a gui

platypus_plumba,

Really depends on the task and how critical it is. I would never use gparted on the terminal, 3 clicks and I’m done in the UI, without risks.

crony,
@crony@lemmy.cronyakatsuki.xyz avatar

there is always fdisk, the tui parition manager.

helenslunch,
@helenslunch@feddit.nl avatar

There’s no way that’s true unless the GUI is straight garbage.

southernbrewer,

How can it not be true though? Terminal shines when you chain together more than one operation.

Imagine doing this in a GUI: list the files in a large directory, ignore the ones with underscores in them, find the biggest file, read the last 1000 lines from it and count the number of lines containing a particular string.

Thats a couple of pretty straightforward commands in a terminal, could take 30s for an experienced terminal user. Or the same task could take many minutes of manual effort stuffing round with multiple GUI applications.

I’m certain that I do tasks like that (ad hoc ones, not worth writing dedicated software for) tens of times in a typical work day. And I have no idea how GUI users can be even remotely productive.

helenslunch,
@helenslunch@feddit.nl avatar

How can it not be true though?

How can it? It’s very simple, it takes far less time to click a mouse than it does to type a command.

Imagine doing this in a GUI: list the files in a large directory, ignore the ones with underscores in them, find the biggest file, read the last 1000 lines from it and count the number of lines containing a particular string.

Okay. I’m imagining it, it’s incredibly easy. What else?

Thats a couple of pretty straightforward commands in a terminal, could take 30s for an experienced terminal user. Or the same task could take many minutes of manual effort stuffing round with multiple GUI applications.

My guy, you’ve never used a file explorer?

I have no idea how GUI users can be even remotely productive.

Back at ya

crony,
@crony@lemmy.cronyakatsuki.xyz avatar

I can type at 100wpm, its a lot faster do just run a couple of programs than open a heavy gui program and try to find the correct button to type.

helenslunch,
@helenslunch@feddit.nl avatar

I don’t care how fast you can type, you can’t type faster than I can click.

If the GUI takes any time to load at all, it’s garbage.

crony,
@crony@lemmy.cronyakatsuki.xyz avatar

That’s where alises and script’s come in, I can make a 20 click’s process in a gui be a single character command in the terminal.

helenslunch,
@helenslunch@feddit.nl avatar

I can make a 20 click’s process in a gui be a single character command in the terminal.

If you can make it a single command in the terminal then you can make it a single click in a GUI and the GUI still wins…

crony, (edited )
@crony@lemmy.cronyakatsuki.xyz avatar

for that I need to know gui codding and code the program it self, in terminal I just tie a few commands together and be done with it.

helenslunch,
@helenslunch@feddit.nl avatar

That’s unfortunate for you but really besides the point.

LainOfTheWired,
@LainOfTheWired@lemy.lol avatar
  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

theUnlikely,

Can confirm #6. Wife calls it dark screen and does indeed think I’m cool for using it.

Snoopy, (edited )
@Snoopy@jlai.lu avatar

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.

tuhriel,

For filesystems I have another gripe: if I move a file to another directory and I want to swap to the directory I just copied the stuff to I have to enter the whole path again…

Dio9sys,

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 😅

beeng,
  • verbosity

That mean you install powershell on linux?

Dio9sys,

No, I just run everything with -vvvvvvvvvv so I can see my computer yelling at me

beeng,

-vvvvvvvvv makes everything CAPS?

gornius,

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.

superbirra,

eh?

onlinepersona,

Because GUIs on linux don’t do everything that the CLI can. I use my computer for more than just browsing and editing documents, so the GUIs that do just that, don’t cut it.

Also, I’m on NixOS. There’s simply no way around the terminal - sadly.

CC BY-NC-SA 4.0

mutter9355,

Mentioning you’re using NixOS is slowly becoming the new “I use arch btw”, isn’t it?

mcepl,
@mcepl@lemmy.world avatar

Yup, and “I use Gentoo” before that.

onlinepersona,

I’m not saying it as a source of pride. It’s incredibly annoying to me that I need to edit a file in order to manage my system instead of having a GUI like KDE’s to manage all the settings. On NixOS, there’s just no way around that at the moment.
Unfortunately, I don’t know another somewhat sane declarative distro. Do you? (No, not GUIX. That’s just NixOS with a ton more brackets and less packages).

CC BY-NC-SA 4.0

manito_manopla,
@manito_manopla@lemmy.ml avatar

Because it’s fun

Merulox,
@Merulox@lemmy.world avatar

This and work are the only real answers

princessnorah,
@princessnorah@lemmy.blahaj.zone avatar

Hardly. I self-host a bunch of VMs on a home server. It would be a waste of resources having window managers running them just so I can click around once in a while. Also, it takes way more time to set up a container in Docker Desktop compared to just copying across a command to the terminal from a setup guide.

satans_crackpipe,

Because I don’t use desktop environments.

downhomechunk,
@downhomechunk@midwest.social avatar

Tiling wm or cli only, Satan’s crackpipe?

satans_crackpipe,

Cli

Trent,

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.

umbrella,
@umbrella@lemmy.ml avatar

this and its sometimes faster than sifting though a gui

lorty,
@lorty@lemmy.ml avatar

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.

richieadler,

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.

c10l,

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.

azimir,

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.

megaman,

Every time I touch the mouse i get a little more elbow pain. Tendens or whatever. The keyboard (an ergonomic one, at least) is more ergonomic.

hips_and_nips, (edited )

I built a split ergonomic keyboard with a trackball on it so I never have to leave.

mcepl,
@mcepl@lemmy.world avatar

Without regards about this discussion, run, don’t just go, and buy a vertical mouse. Just saved my wrists.

bionicjoey,

Pipes are OP

kpw,

tar + netcat are really nice. Not very secure but gets a folder from A to B using standard tools.

bionicjoey,

ssh is probably better than nc for that.

azimir,

I live and die by ssh and scp. Sometimes rsync for larger moves.

Once you’ve got ssh for terminals (used to be x sessions too!), then port forwarding and socks proxies, add in scp for file moves, and layer in sshfs for whole file system mounts it’s a potential combo for remote work and network tunnels. Such a phenomenal toolkit.

bionicjoey,

Isn’t sshfs defunct now? I used to use it a lot.

xycu,

SSHFS is shipped by all major Linux distributions and has been in production use across a wide range of systems for many years. However, at present SSHFS does not have any active, regular contributors, and there are a number of known issues (see the bugtracker).

The current maintainer continues to apply pull requests and makes regular releases, but unfortunately has no capacity to do any development beyond addressing high-impact issues.

When reporting bugs, please understand that unless you are including a pull request or are reporting a critical issue, you will probably not get a response.

PlasterAnalyst,

I don't use it very often because my memory is for shit so I need gui options to be right in front of me.

lolcatnip,

If you use it often that stops being a problem. You remember command names like they’re your friends.

meyotch,

history | grep *

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #