*Congratulations, you are a proud terminal owner! *
When I first switched to Linux, I avoided my terminal like the plague. Now I don't know how I managed without my terminal!
But I think there is a lot more we can do to just make our experience easier.
Write Shell Scripts
Say you have a long list of commands you need to run, but now enough time to sit there waiting typing them all out one at a time. A simple shell script can solve that problem! But shell scripts go beyond just commands.
Since I use Bash. I am going to focus on Bash. A few people don't realize that Bash is a full featured scripting language. It has while loops, if statements, takes input, and does basically anything that any other scripting language can do. This can be really great for making things automated on your computer. It is also really easy to get shell scripts to start running on startup, which is perfect if you wan't it running in the background.
I have a joke that I already built AI by myself because of the amount of shell scripts I have running at one time.
Use the '&&' operator
The && operator is what turns two terminal commands into one. For example:
echo "hello" && echo "Lazar"
This just prints out in the terminal:
"hello"
"Lazar"
Word for the wise here this is NOT concatenation! It runs the two commands separately, that's why it printed on two different lines.
So what can you do with this, plenty It really saves time for me. When I used to use Debian, and I was installing something it would sometimes take a really long time for the repositories to update, then I would have to go still and type the command to install something. So I would just type:
sudo apt-get update && sudo apt install
Change the terminal font
Comment down below, if you change the font on your terminal. Because I don't know ANYONE who does. Now, I can't comment on every terminal out there, but for gnome, deepin and tilix, it is really easy. ** Preferences => General => Font**. I find if you wanna make the terminal just a little less scary, just use a font that maybe is a little more calming for you. Also, In deepin, you can change the theme and the opacity of the terminal.
So that's all for now. I think I may have to write a few of these articles like this, this week because I am working on two different projects for two different people and really can't work on anything spectacular right now.
Y'all have a great day!
Top comments (13)
Another bonus for the && syntax is that if the first command fails it will not run the second command.
This is useful if the second command relies on the first commands result (Like with your example updating packages).
If they're two separate commands that don't rely on each other then you can use
;
instead.Also || is a valuable tool on scripts, to exit or inform an error:
do_something_amazing || echo “nope” && exit 1
I use that with gcc.
gcc filename.c && ./a.out
If compilation failed, it won't run the program.
+1: commit your dotfiles to a repo so it's easy to restore on an other machine.
Eventually I would like to write about the collection of terminal tools I use and love (like grep, sed, tmux, multitail, ncdu, ranger etc). Follow me if you want to read one day.
I pretty spend my coding life between the terminal and the browser (which is the only things keeping me from going full minimal). I use Neovim as a text editor and even if you can launch commands within it, it' often faster for me to pause it using
ctrl-z
and resume it afterward withfg
. I usually have both Ranger and Neovim open and I can be pretty fast with them (keyboard only). Another thing that helps is using zsh and oh-my-zsh with a few plugins enabled (git, yarn, laravel5, z) which boost my productivity to the roofOnce I found a fancy function to handle
ctrl-z
behaviour. As seems that you usezsh
and in a similar way, here it is:Funny you talk about going full minimal! Same thing with me, the browser is the only one tying me down as well... or else I would just have a full cli system. lol
+1 for changing terminal font lol, whenever I set up a computer the first thing I do is change the default size of my terminal (making it much bigger), increase the font size to make things easier to read, and change the font (for the same reason)
A couple of years ago I wrote a small cheat sheet on some terminal commands for myself
Amazing post!
Another very useful command is "man"! When you have no idea about all the capabilities of a certain program it shows the manual of it.
+1 Set the background color to translucent, so you can see what's happening at the window beneath it.
+1 install 'nautilus', helps you open the terminal from any folder location.
Yup, being able to use the terminal is like a super power for productivity. And it's amazing how many other tools you can suddenly use once you master the terminal.
Actually, nearly anyone using ohmyzsh with a powerline font theme changed his terminal fonts 😉