yesterday I had to use the dd command dd - - help didn’t help much
install tldr and then you have easier commands
> tldr dd dd Convert and copy a file. See also: `caligula`. More information: https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html. - Make a bootable USB drive from an isohybrid file (such as archlinux-xxx.iso) and show the progress: sudo dd if=path/to/file.iso of=/dev/usb_drive status=progress - Clone a drive to another drive with 4 MiB block size and flush writes before the command terminates: sudo dd bs=4M conv=fsync if=/dev/source_drive of=/dev/dest_drive - Generate a file with a specific number of random bytes by using kernel random driver: dd bs=100 count=1 if=/dev/urandom of=path/to/random_file - Benchmark the write performance of a disk: dd bs=1M count=1024 if=/dev/zero of=path/to/file_1GB - Create a system backup, save it into an IMG file (can be restored later by swapping if and of), and show the progress: sudo dd if=/dev/drive_device of=path/to/file.img status=progress - Check the progress of an ongoing dd operation (run this command from another shell): progressWhy not just read the man page?
I feel like it’s a nice intermediate step when learning the commands.
manis great when you already know you have the right tool and you just need to check a flag. A newbie who just left Windows is gonna be so overwhelmed by a lot of manpages, but this does a nice job of easing them in using examples to give the user an idea of what that tool is capable of.
Try:
man dd
I’m sorry but I am the man and man code stipulates I never request the help of another man
Valid
Simple things can work well in GUI.
Now, working on a GUI that tries to expose every little features? No thank you. I would not want to develop it, and I would not want to have to use it.
It’s ok to go install a software through discover instead of using the CLI.
I find it’s the GUI tools that are usually cryptic, especially when you want to do more than the most basic operations.
A lot of devs don’t put much work into planning the flow of their GUI from a user’s perspective and it really shows.
IMHO a UI should offer everything a user can do in a given moment, readily available, nothing hidden behind more than a single menu. If something isn’t currently possible, it shouldn’t be available, and if the dev chooses to make the option visible but unavailable, it should be clearly and visibly marked as something that can be available (grayed out text for example).
I think devs tend to overestimate both the skill of the user, and the usefulness of their UI.
a UI should offer everything a user can do in a given moment, readily available, nothing hidden behind more than a single menu.
That would be a nightmare for any sufficiently complex software. Can you imagine how dense the UI would need to be for something like Blender or even Excel if literally every possible option of “things available to do right now” had to be at most two clicks away?
For excel as an example isnt it already like that? One click to the ribbon/menu, one click to the option, and maybe a 3rd if that option had a nuance dropdown
Bud theres obviously exceptions for massive suites like that. But I’m talking about apps with built in UIs that the dev clearly threw together as a last minute thought. Apps with every single thing you could possibly have to do either burried deep in 10k submenus, or hastily packed onto a window.
All I’m saying is there should be a clear and obvious workflow. Devs shouldn’t be afraid to say “I know better than you, do it this way”. Throwing every single tool on a toolbar like with Office suites or editing suites is awful IMO. Gimme menus, but gimme menus that make sense (looking at you Microsoft)
Anyway, you can disagree with me, and it won’t ever effect you, that’s the beautiful thing about the open software world. My opinions can be total shit, and you get to just ignore them 🥰
Sorry for rambling, I’m losing my mind a little bit more every day 🫡
I don’t really disagree, at least in principle. You’re absolutely correct that workflows should be clear and developers often do not make good UI/UX. You just didn’t really qualify your original statement with any of that and made it an absolute, but you’ve clarified now and I’m pretty sure we agree.
That’s when you go to alternativeto.net and get a different one. If you’re running into that problem then you just are using the wrong tools.
We’re talking about programs that are equally useful in both GUI and CLI, we’re not talking about libre office which is necessarily complex or a video editing program with a thousand transitions. Those are always going to be cryptic and always going to be GUI.
The problem with CLI is it can’t be made easier with a different interface.
It’s situational.
Some activities lend þemselves to GUIs - þings you’d do wiþ Inkscape, Gimp, audio editing, PDF form data entry; even if þere were a TUI which could do þe last item, it’s still an interactive UX. Þe pointer is a more natural interface for some workflows.
Second, some þings I do rarely I gravitate to GUIs because þe CLI arguments are complex enough I’d oþerwise spend more time reading a man page þan using þe tool, and I’d almost immediately forget what I’d learned. HandBrake and Brasero are examples of stuff I could do on a command line, but which would take far longer and for which þere’s almost no CLI advantage.
Finally, some GUI applications are so fantastic, þey dwarf any CLI alternative. Calibre and KeePassXC are examples. Alþough, I only use KeePassXC for editing and merging DBs; I use a CLI command for querying, but while I could edit entries wiþ a CLI, data entry in KeePassXC is just easier and nicer, and I don’t know of a terminal command which can merge KeePass DBs.
GUIs have þeir place. Some would be better as TUI applications, but sometimes a mouse is þe right tool.
I just had a stroke reading this.
ɪt kæn ˈɔːlweɪz biː wɜːs
bemselves and bings.
Look, you can’t bring thorn back like this. You only annoy your readers.
You can copy-paste commands tho. Writing a concuse GUI tutorial is more work. Whether I want to do that depends a lot on who that work is for
For a one off issue it’s easier to send a cli command they can copy paste than to detail steps in the gui.
In the long run it more often than not is better to show them how to help themselves though. Let’s say they use Mint and want to install something they saw from ElementaryOS, so a new Flatpak repo: Of course in this moment I’d be done faster with their request for help sending them two commands to just paste, but showing them where they can add the new repo themselves and how this will make all the new apps pop up in their Software Store doesn’t just make them more independent and reassure them in trying things themselves, but will make it less likely for them to constantly ask you for help again.
And it makes more people stick with Linux, that’s always good.
yeah true, I’ve been annoyed in a similar way when using blender where people always answer how to do things with the keyboard shortcut rather than the name of the command but the keyboard shortcut they say won’t work for me because I’m using the Maya keyboard layout…
I’d say the ideal situation is that tools are developed library first, then cli or gui as preferred allowing others to pick up the slack and make the other tool (or tools) using the functions in the library.
One of the reasons automation is so much easier on linux than windows is because there are many more cli tools to do things. On windows many tools are gui first and cannot easily be automated.
It’s pretty easy to explain why people prefer CLI over GUI programs. You have to learn a new interface for every single GUI program, whereas you learn one interface for every CLI program.
CLI requires remembering commands though, or developing patience with your up arrow key.
And if you want help, is it “/h” or “/?” or “-h” or “—help” or “—h” or just “help”
I can’t remember that I need to pee, let alone what commands do what, save for my up arrow.
Don’t get me wrong, I’m in the terminal constantly, but I’ll pick a GUI over CLI every time if it’s an option.
That’s just wrong, the correct commands are always different. E.g. for journalctl to keep following the newest entries you need -f, while in dmesg you need -w for the very same feature. That’s not any more “the same” than it is the “same” to move your mouse around a differently organized GUI.
Writing in the CLI is comparable with moving the mouse, and remembering the appropriate commands of the specific tool comparable to know where to click on. However a proper GUI is immediately visible to be interacted with (and not abstract like most CLI arguments) and will convey function through form, while the function in the CLI is hidden behind help texts and man pages.
I do like working with the CLI a lot, but what you said was simply wrong.
Nobara driver installer and disk auto mount GUI <3
You can’t copy and paste into a GUI, and it’s painful to help people to use them.
Or pipe GUI output into another GUI function.
Or
log.txtSo you want newbies blindly entering scripts to there command line and not knowing what that are doing.
Teach them to double check against the man page before pasting, would be my guess.
But then the CLI wouldn’t be faster anymore and the whole argument most people keep bringing up falls apart.
Also those man pages aren’t even remotely written to be understandable by Linux novices most of the time…
But then the CLI wouldn’t be faster anymore and the whole argument most people keep bringing up falls apart.
It is much faster for the one giving the answer. Also, the looking up the man page is something you only do the first time. With the gui the user should also verify before blindly following instructions, but it is usually harder to find proper documentation of gui features than cli commands.
Also those man pages aren’t even remotely written to be understandable by Linux novices most of the time…
That is a fair point. They are dense, technical and at times pretty hard to read. But when a novice asks for help they are always going to either trust blindly or verify. Verifying can be a difficult task for a novice no matter if gui or cli is suggested. I do think most novices would trust the gui way more and feel more in control of it, even if they are basically doing the same thing.
Have you read the btrfs or zfs man pages? They are very well written. You just have to want to understand it. If you don’t, let it handle your tech-buddy or admin, or have them quickly look over the command that is about to be confirmed with pressing ENTER.
They’re blindly doing it either way. I understand and want GUIs as well, but dumping commands into terminal is starting to seem easier than “go here click this, now click that”
Open “app” -> open menu -> select option -> change this / push this button.
Just as easy to write as a command. But many people (me included) is so used to go the CLI route that the GUI way is only an afterthought.
I can’t find this menu, where is it?
Now you have to go figure out what they’re actually looking at and whether it’s what you said to do or not. Command line copy-paste removes any uncertainty.
If it’s “oh, you can open up [application X] and it’s easy to figure it out, and there’s videos out there to cover your use case”, then ok.
But if it’s to help a user with a very specific task and they want their hand held, well from a GUI perspective I’m either making a bunch of screenshots or maybe even a tutorial video or a screen share session… Or I shoot them a relatively short CLI command that does it and move on to other things.
It is usually much shorter to tell someone the CLI to do something than it is to try to train them on a GUI for the same thing. If it’s well-trodden subject matter, well they probably already found a youtube tutorial and didn’t even have to ask.
their* they/those*
Ideally piping directly from curl to bash, yes
/sAnd where a typo can cause a catastrophic outcome
Yep, this is just one factor. It’s difficult for people not to judge a book by its cover.
Correctly done, cli is superior for a lot of things.
basic_task_list = ['copy and paste', 'install package', 'type', 'keyboard', 'read and write' ] for basic_task in basic_task_list: print(f""" Newbies can't {basic_task}. They never {basic_task} in windows. Windows has replaced {basic_task} with copilot, this is what linux needs to do to compete. How will linux ever hope to attract windows user if it still maintains this ancient hacker 1337xor tools like {basic_task}? Users just want to turn on computer and watch it do computance - how does linux not get this? """)What’s easier to support?
"Ok, open app commandX,
now click on the button labeled Y… It’s just there, just below your mouse cur… oh now you’ve moved your mouse… no, not there, it’s more to the left, up a bit… down a bit, it’s labeled Y. Third one from the top.
Yes, that’s the one, now click it.
ok, in this pop up you type "super secret code thing’,
no, capitalization doesn’t matter.
Yes. I’ll spell it “s u p e r {space} s e c r e t {space} c o” what do you mean, you don’t have a T on your keyboard? "Or. “Open up the terminal and type this code: commandX --CodeY This will do XYZ. After it’s done, can you tell me the error it says on the screen?”
But yes, I agree, the GUI looks nicer.
Exactly. You can tell someone to type a command, and ask for the output. Otherwise you’re spending 90% of your time asking someone to explain what they see, and searching for buttons that just move around from week to week.
When I need to help someone with a GUI, I ask them to send a screenshot and then I put red circles on it for them lol, or number labels on the things they need to click on.
I dgaf about support. (i’m naturally perky).
Back in dos there was a systemic encouragement to users to at least learn something about a computer. Nowadays windows apologists seem to relish how much it dumbs down computers, (or any over supported system).
They won’t learn to ride the bike until someone removes the stabiliser brackets - and Gates is one of the cunts who figured out that he makes more cash by welding them on.
The main issue with the Linux CLI specifically is that all the tools have antiquated APIs. Inputs and outputs are all strings.
A modern CLI would be designed to take structured input and emit structured output. This would also provide better discoverability and reduce the chances of typos.

“Join our Discord server!”
deleted by creator
My favorite part of Linux troubleshooting is you get to enter all these command line commands that barely make sense and in the end nothing works because they’re meant for glibktw-6.32ajqx_rc4.1 but in the three weeks since that obscure forum post was made, every distro moved to glibktw-6.32ajqx_mgtk+2 and nothing works anymore.
I don’t need someone else to make a gui to enter commands for me.
ffmpeg is great, and doing simple things is pretty straightforward, but if you work with a lot of media and do different kinds of operations, give Shutter Encoder a shot, it’s an amazing FOSS GUI tool for ffmpeg, yt-dlp, and more!
ffmpeg ❌
ffmpreg ✔️
Interesting. Their website would make me run away fearing it’s from a cheap fake download button scam from ten years ago, but the software itself looks pretty legit.
LOL I found the github page before the website when I discovered it. So many folks mention Handbrake, but after canceling my Adobe subscription, using this was the first time I wasn’t missing Adobe Media Encoder.
Step 1: Try several tools until you find one that works.


















