control+R
in bash, it lets you quickly search for previously executed commands.
its very useful and makes things much quicker, i recommend you give it a try.
CTR + u will delete the whole command. I use that a lot so I don’t have to backspace. It’s saved me a ton of time
Related: Alt +
.
, to cycle through arguments used in previous commands
pv (Pipe Viewer) is a command line tool to view verbose information about data streamed/piped through it. The data can be of any source like files, block devices, network streams etc. It shows the amount of data passed through, time running, progress bar, percentage and the estimated completion time.
sudo !!
to rerun last command as sudo.history
can be paired with!5
to run the fifth command listed in history.Fifth as in fifth most recent command or fifth oldest?
I believe it’s the fifth oldest - I think
!-5
will get you the fifth impost recent, but I was shown that and haven’t put it into practice.The most common usecase I do is something like
history | grep docker
to find docker commands I’ve ran, then use!
followed by the number associated with the command I want to run in history.
ls
jq
Not a specific command, but I learned recently you can just dump any executable script into ~/bin and run it from the terminal.
I suffer greatly from analysis paralysis, I have a very hard time making decisions especially if there’s many options. So I wrote a script that reads a text file full of tasks and just picks one. It took me like ten minutes to write and now I spend far more time doing stuff instead of doing nothing and feeling badly that I can’t decide what to do.
I think the standard is ~/.local/bin, for the people that like standards.
This is because
$HOME/bin
is in your$PATH
environment variable. You can add more paths that you’d like to execute scripts from, like a personal git repo that contains your scripts.
Getting cheatsheets via
curl cheat.sh/INSERT_COMMAND_HERE
No install necessary, Also, you can quickly search within the cheatsheets via
~
. For example if you copycurl cheat.sh/ls~find
will show all the examples ofls
that usefind
. If you remove~find
, then it shows all examples ofls
.I have a function in my bash alias for it (also piped into
more
for readability):function cht() { curl cheat.sh/"$1"?style=igor|more }
sudo pacman -Syu
I just aliased “sudo pacman -Syu && yay -Syu --aur” to “update” cause I got tired of writing it every day.
You can just run
yay
with no arguments and it does exactly what your update script does.Huh, the more you know.
less
,watch
Since nobody has said yet, I use screen pretty heavily. Want to run a long running task, starting it from your phone? Run screen to create a detachable session then the long running command. You can then safely close out of your terminal or detach with ctrl a, d and continue in your terminal doing something else. screen -r to get back to it.
I recently switched to tmux and boy, it’s way better. I basically use only tmux now anymore. Creating panes to have two processes in one glance, multiple windows, awesome. Plus all the benefits of screen.
In a similar vein,
nohup
lets you send tasks to the background and seems to be everywhere.I Always forget to run screen first, so I just rely heavily on dtach
Also, screen can connect to an UART device or serial or anything that offers up a TTY
clear
. Constantly, and for no reason.Ctrl-L
Oh. I know. But you don’t understand - I’m compelled to type it out. I must.
I used to, but the terminal clear is better, so I don’t.
CMD/CTRL-K for me.
sudo udevadm monitor
Figuring out which usb device went on holiday.
Wow, super useful command. Starring this comment
I really like that
cd
command. :PYou’ll love
zoxide
then.It’s six letters. Can’t they just call it
zd
or something? Yeah sure, I can use aliases, but why complicate in the first place?The command is ‘z’
This is most probably a distro-specific aliasing. Tried it on Guix, it does not work:
$ z bash: z: command not found $ zoxide zoxide 0.9.2 ....
It’s in the official docs for zoxide, you are supposed to use the z alias, and many distros just set it up directly like that. I love doing
z notes
from wherever I am.
On arch the command is just
z
Hm I wonder, is it really a command? I thought it is just a function of the shell to change the working directory.
A command is anything you execute in the shell.
cd
is just a built-in command
pushd and popd to change directory and go back when done there.
Even better when
cd
automatically invokespushd
.cd -
undoes the last cd. Not quite push/popd but still useful. Pro tip, works also: git checkout -Hell yeah. Every one of these threads makes me more inclined to read man pages
what’s your alias?