alias more="less -cX"
alias moer=more
alias meor=more
alias meor=more
alias mroe=more
alias More=more
alias grpe=grep
alias gerp=grep
alias gpre=grep
Welcome to c/linux!
Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!
Rules:
Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.
Be respectful: Treat fellow community members with respect and courtesy.
Quality over quantity: Share informative and thought-provoking content.
No spam or self-promotion: Avoid excessive self-promotion or spamming.
No NSFW adult content
Follow general lemmy guidelines.
alias more="less -cX"
alias moer=more
alias meor=more
alias meor=more
alias mroe=more
alias More=more
alias grpe=grep
alias gerp=grep
alias gpre=grep
In a big fan of the ‘fuck’ package for this. Try it out. Sudo apt install thefuck.
edit: oops got the name wrong; been a while since I installed it. Fuck.
@model_tar_gz @kometes "yay fuck" sounds better I believe
Does it *work*? IRL?
Yes it’s for real. I type fuck, it fixes my prompt, I accept and move on.
The what, now?
googles hastily
Oohhhhh mmmmmyyyyyyy…
alias g=grep -i
A humble and simple "c" for "clear" in the terminal.
CTRL+L works on most I've used
But c
and ENTER is even quicker. No need to reach out for ^L.
This kinda feels like Vim vs Emacs now.
For a few basic things, yes. For a couple of others, I've set up a shell function or a script instead.
Obligatory warning before I list a few of my aliases - overriding commands by an alias with the same name can be dangerous, as it can mean that expected behaviour can become destructive behaviour on a foreign system without those aliases. e.g. a common error is aliasing rm
to rm -i
so that rm
always asks if the user is sure. Until that user is on a different machine without the alias and the files vanish without warning, anyway. Oops.
Some of mine are arguably questionable in that regard, but I don't think any will result in anything particularly destructive if I expect them in the wrong place.
These two override the default which
command to deliver slightly more useful output, especially when the command is itself an alias (or an alias override). command
is a bash builtin:
alias Which='command -V'
alias which='command -v'
The obligatory ls
config override. long-iso
formatting ensures that ls
's output is consistent, which is tidy, and also useful for further processing. That said, use of stat
is probably a better choice for that sort of thing.). LC_ALL=C
setting is so that things sort in "ASCIIbetical" order. My locale mixes upper and lowercase filenames and I'm too old-school for that sort of thing.:
alias ls='LC_ALL=C ls --color=auto --group-directories-first --time-style=long-iso'
Some versions of mtr
start in GUI mode. -t
prevents that. And of course, Windows muscle memory dies hard:
alias mtr='mtr -t'
alias tracert='echo '\''Use mtr, you ninny.'\'''
Hex dump using the ancient and nearly always present od
command (the incantation is right out of the od
manual):
alias odx='od -A x -t x1z -v'
Process control. Give either a PID and the process will do as it's told. Usually. :
alias pause='kill -TSTP'
alias resume='kill -CONT'
How many times do I type the wrong thing? Too many:
alias quit='exit'
Setup for fortune
. The first one is self-explanatory. The second one shows which of the fortune files the fortune came from (-c
) but does some shenanigans to send that header to STDERR rather than STDOUT. This makes the header vanish when fortune
is piped into fun things like cowsay
.
alias bofh='fortune bofh-excuses'
alias fortune='fortune -c | while read -r line ; do [[ ! "$A" ]] && echo $line >&2 || echo $line ; [[ "$line" == "%" ]] && A=1; done'
I have a load of silly text cipher filters as scripts, but this one came for free with the bsdgames package
alias rot='caesar'
alias rot13='caesar 13'
And of course, every time I create a new alias (which isn't very often, I admit), I run this one, which dumps all current aliases into a file that some distros set up by default.
alias save_aliases='alias > ~/.bash_aliases'
Certain aliases related to docker compose, just because it saves 2-3 words which never change.
There's not enough storage space on the Internet to list all my aliases.
Oh boy, my time to shine:
mkd
- Create directory and immediately cd
into itdei
- docker exec -i
dps
- docker ps
mdocker
- Switch to minikube's docker contextn
- nvim
n.
- nvim .
Exampes use pnpm
but I have them for yarn
, npm
, and bun
too
pi
- pnpm install
pd
- pnpm run dev
sdh
- Search home directory (directories, recursive)fuckyou
- git push --force
nano
- nvim
createpgdb
- Create a postgres db on the given container with the given name
Usage: createpgdb "postgres container" "db name"
I have similar ones for dropdb
and pg_dump
. Here's the command:
f() { local __user; if [ -z $3 ]; then __user=postgres; else __user=$3; fi; docker exec -i $1 createdb -U $__user $2; unset -f f; }; f'
Don't overlook functions, they're more versatile.
I alias most common git commands because they're so frequent. Like co
for git checkout
.
I don't know about your other questions but here's my current list of aliases:
g
: git
, also several git aliases in my global gitconfig, so I can type "g s
" for git status
e.g.y
: yarn
b
: bun
fu
: flatpak update
cu
: checkupdates
lg
: lazygit
n
: nnn
e
: kak
shutup
: an hdparm
incantation to spin down my noisy hard drive.Also various forms of ls
, like ll
, la
, just l
, etc. (I made ls
a function wrapping eza
in fish shell as well. I like eza over standard ls.)
I use Nala for package management in my Debian systems. I've created aliases for 'apt' & 'apt-get' to use Nala instead.
Also 'll' alias for 'ls -lah'.
That's about it though.
hgrep
history | grep
Because I can never remember what parameters to use for things so my history is a quick reference.
Have you tried fzf and it's history integration? Ctrl+R and youre fuzzy finding through your history. I don't know how I lives without it
That sounds fantastic. Thanks!
alias ll = 'ls -l'
alias kk = 'ls -l'
alias jj = 'ls -l'
Dyslexia sometimes hits hard.
no, i make shell scripts for everything in /usr/local/bin/ . i find it more easy to manage and transfer. one liners can become bigger real quick, so i start with a script right away. also, since they have the shell in the hash bang line, they work in multiple shells.
I recently set up an alias since I do some hardware stuff and need to run programs not in my default path as sudo.
’alias sudop='sudo env PATH=$PATH'’
And that's pretty much the extent of my aliasing. I'm interested to see what other people do
I use aliases to streamline some of my git workflows
I don't use aliases but I use bash to do common things.
"bash update" will run apt update and upgrade
Yes, when I type $installed
Come back with all installed packages with version removed. I use this for a system back up script
I do.
I use a few, but this one is the best and most used:
gg = "git log --branches --remotes --tags --graph --pretty='%C(yellow)%h %C(cyan)%cd %Cblue%aN%C(auto)%d %Creset%s' --date=relative";
Some of these demand that the terminal you use them with is kitty:
alias ipc='curl icanhazip.com'
# btop is *pretty* bloat!
alias htop='btop'
# I'm kinda proud of this oneliner. It's pointless, but it was fun. It displays a random square image when you run
# neofetch rather than the default ansi art
alias neofetch='filarr=(~/Media/Images/1x1/*.*) && fil=${filarr[$RANDOM % ${#filarr[@]}]} && neofetch --kitty $fil'
# comics are an important part of my life
alias gd='cd ~ ; gallery-dl'
alias gde="cd ~ ; gallery-dl --chapter-filter 'lang == (\"en\")'"
alias yd='yt-dlp --sub-langs all --embed-subs --embed-chapters --progress --paths home:~/Downloads'
alias subl="/opt/sublime_text/sublime_text"
#exa is currently unmaintained. eza is a maintained fork. It installs a link to exa, but...
alias ls="eza --icons --hyperlink --group-directories-first --git"
alias lsblkv="lsblk -o \"NAME,KNAME,SIZE,TYPE,VENDOR,MODEL,MOUNTPOINT\""
alias icat="kitty +kitten icat"
alias mem="grep -e Dirty: /proc/meminfo; grep -e Writeback: /proc/meminfo"
alias flush="sync"
alias links="links https://www.duckduckgo.com"
alias q="qalc"
alias hf="history 1 | fzf"
# tile the first two kitty windows and resize all kitty windows to 915x945, redirecting any errors to /dev/null
alias tk="xdotool search --class kitty windowmove %1 30 105 windowmove %2 975 105 windowsize %@ 915 945 2>/dev/null"
# only ask for password once on long updates
alias yay="yay --sudoloop"
I've got a ton, most are already listed or along the same vein.
The two suggestions I have are not actual aliases but worth remembering:
rm
with another app that deletes files, then you forget that, and then try to delete some files using rm
-i to get a prompt for each removed file. Often the alias will just operate as normal w/o a prompt saying that it ignored -i
completely)Slightly.
These are the aliases I set manually:
alias :q='exit'
alias kgpg='gpgconf --kill gpg-agent'
alias battery='upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -wE "percentage:|time to empty:|state:|energy:|energy-rate:|voltage:"'
alias park='sudo hdparm --idle-unload'
OMZsh has some powerful auto complete if you care to look around. Their plugins are amazing for saving time.
Only for typos alias bim="vim"
me:
wgup="sudo wg-quick up wg0"
wgdown="sudo wg-quick down wg0"
and some pacman cleaning command..
edit: forgot that it is markdown
My aliases all involve updating Docker containers or managing VPN and SSH connections to the laptop that hosts them.
I'm a bit confused as to what you mean by "I’ve used them in the past and on specific programs but never on command line utilities". What's an example of an alias you used outside CLIs?
CAD programs that have command line utilities, old text based games in the 90s had aliases and they were used a lot. I had just never thought to use them in BASH for some reason.