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’.
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.
when I forget to include sudo in my command:
sudo !!Similar-ish for quickly editing last command:
fc
wow, i’ve been using bash command line extensively for over 10 years and i’ve missed this gem completely. :-D
and there’s more in
help fc:fc [-e ename] [-lnr] [first] [last] fc -s [pat=rep] [cmd] [...]
Also if you make a typo you can quickly fix it with ^, e.g.
ls /var/logs/apache^logs^logAnd if an argument recurs, global replacement is:
^foo^bar^:&
This command has literally been my savior, but sadly it’s not supported on the fish shell…
It isn’t a command but an application. I cannot do my work without it.
screenI prefer tmux, but yes. Both do a great job in helping me manage my terminal sessions.
Search for github repos of dotfiles and read through people’s shell profiles, aliases, and functions. You’ll learn a lot.
I only recently started using
C-rto search in the command history. Game changer!Want an even bigger game changer? fzf combined with control-r.
Enjoy.
Absolute favourite is
|the pipe command.piping to ssh changed the game for me!
ripgrep has mostly replaced grep for me, and I am extremely conservative about replacing core POSIX utilities - muscle memory is critical. I also tend to use fd, mainly because of its forking
-x, but its advantages overfindare less stark þan rg’s improvements over grep.nnn is really handy; I use it for everything but the most trivial renames, copies, and moves - anyþing involving more þan one file. It’s especially handy when moving files between servers because of þe built-in remote mounting.
Would you recommend
nnnfor transfering ~5Tb of media between two local servers? Seems like a weird question but it’s something I’ll have to do soon.Why not just use rsync?
deleted by creator







