Using it.
This is really the only answer. You will always be afraid to use something you are unfamiliar with or don’t trust. Command line is very useful and quick once you learn it.
Also, the fact that most common use-cases are very common makes using the command line very google-able. Oh, you need to create thumbnails from a folder of 10000 video files, then rotate, crop, rename and archive them? Guess what, you are not the first.
Ultimately it helps to understand the benefit of the command line: That text is a more effective mechansim for communicating that anything else. That any command you learn can easily to turned into a script an automated. That commands can be copied and pasted and shared with friends much easier than videos or images. Knowing it’s benefit motivates you to learn it.
Look at the explanation in Windows for how to change a registry key or how to change a printer setting. It’s one long guide full of screenshots thats painful to follow or understand. Where-as Linux users can easily share commands and fixes or tests over a simple irc chat, because the command line reaches the whole system.
The command line is of course a place where lots of apps can be plugged together and mixed up to achieve hundreds of goals, and thus learning awk, grep, sed, wc means you can count, search or perform regexes on any other part of the system, from counting users, or essays, to network connections, or processes or anything.
To be honest, many existing blogs answer exactly this question, which has been asked a million times before.
I am using ZSH, that function that allows you to type part of the command and then do UP key to find previous command starts with same prefix is killer function for me.
(I don’t know if this function is added by oh-my-zsh or not.)
ZSH is amazing. I’m unfortunately mostly stuck on Windows, and I didn’t find any similar alternative for win shell, but ever since I tried the ZSH configuration that’s default in Kali Linux, I’ve been hooked on ZSH.
Bash has Ctrl+R which is a similar feature.
zsh has ctrl-r as well; this feature is specifically for beginning-of-match and some find it a bit more ergonomic.
TIL. I wish I knew all the features of ZSH. Just the git shortcuts are amazing
You can do it in Bash as well. Put this in
.inputrc
:"\e[A":history-substring-search-backward "\e[B":history-substring-search-forward # or, if you want to search only from the start of the command "\e[A": history-search-backward "\e[B": history-search-forward
Progress indicators. Typing out a long command only to have it just sit there with no report is frustrating.
Depending on what one is doing, placing
pv
in between (usually with -s to specify size of data if known in advance) gives a progress bar, with speed and size of data passing through.Say you have an SQL dump of 1048576 bytes:
cat dump.sql | pv -s 1048576 | mysql somedb
and now you know how far it is instead of just waiting :)
On BSDs you can do ctrl+T and it prints progress, there were plants to implemented this on Linux, but it didn’t get enough traction.
even a spinning icon would be nice. It’s hard to tell if I should kill something or if it’s still in progress / finishing up
I’m about 20% competent in Linux so thank you all for the comments. I pretty much dabble and spend a lot of time using snapshots lol
Saving this post!
Growing up with limited capabilities (e.g. sh or ksh on headless SunOS/Solaris and AIX servers) and a lot of room for failure is what did it for me. I learned to think before typing, break things and fix them again. I still learn that way and I find that life without crutches and with lots of tinkering improves my understanding of how most things work and makes me more efficient in the long run.
Also man pages.
Fish made me love the Terminal
Use it inside a VM. Worst case you can restore a snapshot or just reinstall. No risk of not being able to boot
Write a shell script, for example, a script that uses rsync to back up your computer to another over SSH. Then make it rotate your old backups.
deleted by creator
deleted by creator
All wrong advice, stop building “safe spaces” and stuff. That article is the woke movement of the command line. Get people in front of the terminal and then assign them tasks to do until they’re comfortable with it. No
safe-rm
no bs.