I’ve been setting up a new Proxmox server and messing around with VMs, and wanted to know what kind of useful commands I’m missing out on. Bonus points for a little explainer.
Journalctl | grep -C 10 'foo' was useful for me when I needed to troubleshoot some fstab mount fuckery on boot. It pipes Journalctl (boot logs) into grep to find ‘foo’, and prints 10 lines before and after each instance of ‘foo’.
when I forget to include sudo in my command:
sudo !!I use $_ a lot, it allows you to use the last parameter of the previous command in your current command
mkdir something && cd $_
nano file
chmod +x $_As a simple example.
If you want to create nested folders, you can do it in one go by adding -p to mkdir
mkdir -p bunch/of/nested/folders
Good explanation here:
https://koenwoortman.com/bash-mkdir-multiple-subdirectories/qSometimes starting a service takes a while and you’re sitting there waiting for the terminal to be available again. Just add --no-block to systemctl and it will do it on the background without keeping the terminal occupied.
systemctl start --no-block myservice
Is there a version of $_ that works with mv? It just keeps renaming my files to “filedir,” I’m trying sort through a directory and move some files to another for keeping, be easier if I could do:
mv picture1.jpg /path/to/keepdirectory
then do something like
mv picture2.jpg $_
And so on. But with that I’d just be renaming all my photos “filedir” instead of moving them lol.
I just tried your use case, and it did move the files to the correct folder.
using zsh:
user@computer ~ touch test.jpg user@computer ~ touch test2.jpg user@computer ~ mv test.jpg ./Public user@computer ~ mv test2.jpg $_ user@computer ~ ls ./Public test2.jpg test.jpg user@computer ~ using bash:
[user@computer Public]$ mkdir test [user@computer Public]$ ls test test2.jpg test.jpg [user@computer Public]$ mv test.jpg ./test [user@computer Public]$ mv test2.jpg $_ [user@computer Public]$ ls test [user@computer Public]$ ls test/ test2.jpg test.jpg [user@computer Public]$using bash and full path:
[user@computer Public]$ ls test test2.jpg test.jpg [user@computer Public]$ mv test.jpg /home/user/Public/test [user@computer Public]$ mv test2.jpg $_ [user@computer Public]$ ls test [user@computer Public]$ ls test/ test2.jpg test.jpg [user@computer Public]$What shell are you using? You can check it by using
echo $0.user@computer ~ echo $0 /usr/bin/zsh[user@computer ~]$ echo $0 /bin/bashI can’t reproduce it, even when putting the directory path in quotes, it still simply moved the file.
On bash I found out
alt+.puts the last last parameter back up, and you can hit it again to keep cycling, that’s what I’ve been using.
Absolute favourite is
|the pipe command.piping to ssh changed the game for me!


