I Alias "sudo !!" with "plz"
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I rawdog every single command, I use no aliases at all.
I couldn't even work if I had aliases in my muscle memory. Imagine ssh'ing to a server and every second command you issue doesn't exist because it's some weird alias you set up for yourself.
I'll stick with the "pure" command and use tab completion.
That's also part of the reason why I don't use some of the fancy new tools like ripgrep and exa.
Yeah, I remember when Linux was first becoming cool, in the mid-to-late 90s.
There was a lot of folk wisdom going around, and one of them was "make an alias rm='rm -i'
so you don't accidentally delete anything!"
And then there was the (correct, IMHO) counter-wisdom of "no, that actually makes it more likely to accidentally delete something, because one day you're going to be on a machine where that alias doesn't exist, but you've become dependent on it existing".
I don't mind creating aliases to add colour or change formatting a little bit or something, but don't make an alias to keep yourself safe, because it'll probably backfire on you.
Metal
What... I didn't know this was a thing.
So I could make be "sudo gimme-dat-new-new" Instead of "sudo DNF upgrade -y"
you can just put "gimme-dat-new-new"
alias gimmie-dat-new-new='sudo dnf upgrade -y'
Although you should probably look over your upgrade before applying it as a general good practice. But, hey, I do this myself (dnfup instead of gimmie-dat-etc.), so I can't talk too much shit.
ETA: If you want it to be a persistent alias, though, you gotta add it to your .bashrc
(Bash-Specific)
App-Specific
alias battery='upower -i $(upower -e | grep 'BAT') | grep -E "state|to\ full|percentage"' # Get the battery level of my laptop server when I ssh into it
alias audio="yt-dlp -f 'ba' -x --audio-format mp3" # Download the audio version of a youtube video
alias wttr="curl wttr.in/Chicago" # Get the weather of my city in the terminal
Terminal Navigation
alias ba2sy="cp ~/.bash_aliases ~/Sync/" # copy my current iteration of my aliases to my shared syncthing folder so that it's accessible across devices
alias sy2ba="cp ~/Sync/.bash_aliases ~/" # replace the current iteration of my aliases w/ the synced version from my syncthing folder
alias mba='micro .bash_aliases' # open my aliases file in the modernized version of 'nano'
alias reload="source ~/.bashrc" # Quickly refresh my system so that the latest alias file is loaded
alias l='exa --group-directories-first -hlras modified --no-user --icons' # exa is a prettier version of ls. Options toggled: Human-readable, long format, reverse output, show hidden files/folders, sort by modified, hide the 'user' column since I'm the only one that uses the computer, and show the icons to make it look fancy```
Replaced Commands
alias cat='batcat --theme=ansi ' # Replace generic output of cat w/ a formatted version. This is bat (batcat in Debian)
alias rm='trash ' # Instead of auto-deleting files, put them in the 'trash' bin for 30 days, then delete.
Server & Docker-related
alias lazy='/home/macallik/.local/bin/lazydocker' # Run Docker
alias pad='ssh MyPad20334' # shorthand to ssh into my server
Some QoL stuff my good friend set-up for me.
# ALIASES -- EXA
alias ls='exa --group-directories-first --color=auto -h -aa -l --git'
# ALIASES -- YAY
alias yy='yay -Y --needed --norebuild --nocleanafter --nodiffmenu --noredownload --nocleanmenu --removemake --sudoloop'
alias ya='yay -S --needed --norebuild --nocleanafter --nodiffmenu --noredownload --nocleanmenu --removemake --sudoloop'
alias yu='yay -R --recursive --nosave'
# ALIASES -- CP
alias cp="cp --reflink=auto -i"
And then there's a bunch of stuff from the output of alias
, most of them are git aliases. Those which aren't git-related are listed below:
-='cd -'
...=../..
....=../../..
.....=../../../..
......=../../../../..
1='cd -1'
2='cd -2'
3='cd -3'
4='cd -4'
5='cd -5'
6='cd -6'
7='cd -7'
8='cd -8'
9='cd -9'
_='sudo '
cp='cp --reflink=auto -i'
egrep='grep -E --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'
fgrep='grep -F --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}'
history=omz_history
l='ls -lah'
la='ls -lAh'
ll='ls -lh'
ls='exa --group-directories-first --color=auto -h -aa -l --git'
lsa='ls -lah'
md='mkdir -p'
rd=rmdir
run-help=man
which-command=whence
Good to see another exa user. Care to break down what yay does btw?
Ah, yay is an AUR helper, though I personally see it as a pacman
helper as well. Link here. Some of the flags and options that can be used for pacman
can be used for yay
, thus, some of the flags in the aliases I use are actually for pacman
. Anyways, on to the breakdown.
alias yy='yay -Y --needed --norebuild --nocleanafter --nodiffmenu --noredownload --nocleanmenu --removemake --sudoloop'
This one is what I use to look up for packages. The result of runnning yy «search term»
would be a list of packages matching the search term and prompting the user on which package(s) to install.
flag | description |
---|---|
-Y |
performs yay-specific operations. |
--needed |
(pacman) do not reinstall up to date packages |
--norebuild |
skips package build if in cache and up to date |
--nocleanafter |
do not remove package sources after successful build |
--noredownlod |
skip pkgbuild download if in cache and up to date |
--nodiffmenu |
don't show diffs for build files |
--nocleanmenu |
don't clean build PKGBUILDS |
--removemake |
remove makedepends after install |
--sudoloop |
loop sudo calls in the background to avoid timeout |
alias ya='yay -S --needed --norebuild --nocleanafter --nodiffmenu --noredownload --nocleanmenu --removemake --sudoloop'
This one is what I use for installing packages. Useful if I already know what package I would be installing.
flag | description |
---|---|
-S |
(pacman, extended by Yay to cover AUR as well) Synchronize packages. Packages are installed directly from the remote repositories, including all dependencies required to run the packages. |
alias yu='yay -R --recursive --nosave'
This one is what I use when uninstalling packages. I usually check the package name with something like yay -Qi «package-name-guess»
beforehand.
flag | description |
---|---|
-R |
(pacman, extended by Yay to also remove cached data about devel packages) Remove package(s) from the system. |
--recursive |
(pacman) Remove each target specified including all of their dependencies, provided that (A) they are not required by other packages; and (B) they were not explicitly installed by the user. This operation is recurisve and analogous to a backwards --sync operation. |
--nosave |
(pacman) Instructs pacman to ignore file backup designations. (This avoids the removed files being renamed with a .pacsave extension.) |
I actually don't know much about both yay
and pacman
myself, since the aliases were just passed onto me by the same friend who helped me (re-)install my system (long story) and set-up the aliases. Having looked all these up, however, I might make a few changes (like changing the --nocleanafter
and --nocleanmenu
options to their clean ones`).
I got so much crap gathered throughout the years... some of them I don't even use, but, here they are:
#!/usr/bin/zsh
# vi: ft=zsh
#############
# zsh aliases
#############
# grep
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias zgrep='zgrep --color=auto'
# processes
#alias pss='ps auxww | grep -v grep | grep' # show all processes with user, hide grep itself
alias top='top -i -e m -E m' # hide inactive and zombie processes, show ram in MB
# update system
alias p='sudo pacman'
alias pu='paru -Sua --noconfirm'
# clean up
alias pc='sudo pacman -Rsn $(pacman -Qdtq) --noconfirm 2>/dev/null; paru -Sccd --noconfirm'
# lvim
alias nvim='lvim'
alias vim='lvim'
alias vi='lvim'
alias v='lvim'
# cpg & mvg
alias cp='/usr/bin/cpg -ig'
alias mv='/usr/bin/mvg -ig'
# other useful ones
alias rm='trash'
alias duu='du -d 1 -h'
# wayland
alias gparted='sudo /bin/env WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" XDG_RUNTIME_DIR=/user/run/0 /usr/sbin/gparted'
# edit configs
alias vcs="$EDITOR $XDG_CONFIG_HOME/starship/config.toml" # starship
alias vca="$EDITOR $XDG_CONFIG_HOME/alacritty/alacritty.yml" # alacritty
alias vct="$EDITOR $XDG_CONFIG_HOME/tmux/tmux.conf" # tmux
alias vcv="$EDITOR $XDG_CONFIG_HOME/nvim/init.vim" # neovim
alias vcl="$EDITOR $XDG_CONFIG_HOME/lvim/config.lua" # lunarvim
alias vch="$EDITOR $XDG_CONFIG_HOME/hypr/hyprland.conf" # hyprland
alias vcw="$EDITOR $XDG_CONFIG_HOME/waybar/config" # waybar
# edit & source zsh configs
alias scz="source $ZDOTDIR/.zshrc"
alias vcz="$EDITOR $ZDOTDIR/.zshrc && source $ZDOTDIR/.zshrc"
alias vczo="$EDITOR $ZDOTDIR/options && source $ZDOTDIR/options"
alias vczb="$EDITOR $ZDOTDIR/bindkeys && source $ZDOTDIR/bindkeys"
alias vcze="$EDITOR $ZDOTDIR/exports && source $ZDOTDIR/exports"
alias vcza="$EDITOR $ZDOTDIR/aliases && source $ZDOTDIR/aliases"
alias vczc="$EDITOR $ZDOTDIR/completions && source $ZDOTDIR/completions"
alias vczf="$EDITOR $ZDOTDIR/functions && source $ZDOTDIR/functions"
# other cool toys
alias exa='exa --long --header --git --sort=name --group-directories-first'
alias ls='exa'
alias cat='bat -pp'
alias bat='bat --style=full'
# x11
# alias X='startx ${XDG_CONFIG_HOME}/X11/xinitrc'
# alias XX='~/.screenlayout/home2.sh'
# alias kb='setxkbmap -rules evdev -model pc105 -layout "ro,de" -variant "basic" -option "grp:shift_caps_toggle"'
# tmux
alias tmux="tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf"
alias t="tmux new-session -A -s id"
# dmenu stuff
# alias dnm='networkmanager_dmenu'
# alias dbt='dmenu-bluetooth'
# other cli utils
alias pm='pulsemixer'
# locations
alias lab='cd ~/priv/code/lab'
alias own='cd ~/priv/code/own'
alias pixl='aft-mtp-mount ~/priv/pixl'
# cleanup home
alias irssi="irssi --home ${XDG_CONFIG_HOME}/irssi"
alias svn="svn --config-dir ${XDG_CONFIG_HOME}/subversion"
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget-hsts"
# dotfiles
alias stowe="sudo stow -d $HOME/.dotfiles/etc/ -t /etc/"
# ansible
alias ansible-vault='EDITOR=lvim ansible-vault'
# acme
alias acme='acme.sh --home "$XDG_CONFIG_HOME"/acme.sh/'
# vscode
alias code='vscodium --enable-features=UseOzonePlatform --ozone-platform=wayland'
# time sync
alias synctime='echo "time now:" && date && sudo systemctl stop ntpd && sudo ntpd -gq && sudo systemctl start ntpd && echo "new time:" && date'
# nordvpn
alias nvro='sudo systemctl start nordvpnd && nordvpn c ro && nordvpn whitelist add subnet 10.0.0.0/8 && nordvpn set dns 10.10.10.10'
alias nvdown='nordvpn d && sudo systemctl stop nordvpnd'
# work
alias vpnup='nmcli con up vpn-work --ask'
alias vpndown='nmcli con down vpn-work'
alias vpn='nmcli con down vpn-work; nmcli con up vpn-work --ask'
alias vault-connect='source $HOME/work/secrets/vault.work'
alias terraform-connect='source $HOME/work/secrets/terraform.work'
alias teamsx='killall -15 teams'
alias adm='sudo mount /home/$HOME/work/adm'
alias mongo='ssh -L \*:27777:appserver:27017 jumphost'
alias ls='ls --time-style=long-iso'
alias la='ls -alh'
alias ncdu='ncdu --color=off'
alias wttr='curl wttr.in/?T0'
alias vim='vimx'
alias ipinfo='curl ipinfo.io --no-progress-meter | jq "del(.readme)"'
alias pp="pkill -SIGSTOP -f "
alias pc="pkill -SIGCONT -f "
Another wttr user 👏🏾👏🏾👏🏾
wttr gang
what is vimx just wondering ?
Seems to be just normal vim, maybe some distros packages the binary (of vim with more options enabled at compile time) as vimx so that it doesn't conflict with another vim package (as an example vim-tiny). https://www.systutorials.com/docs/linux/man/1-vimx/
But only @aram@[email protected], can answer that for us.
ussr
For connecting as root with a private key on my main server named Undine Sous Speed.
Just some simple stuff:
Strix ~> alias
alias balanced 'asusctl profile -P balanced'
alias performance 'asusctl profile -P performance'
alias quiet 'asusctl profile -P quiet'
alias upd 'yay ; flatpak update'
My favorite one: alias upgrate="sudo apt update && sudo apt upgrade"
ahhh a pormanteau lol, I like it
alias a='alias'
a c='clear'
a p='pwd'
a e='exit'
a q='exit'
a h='history | tail -n20'
# turn off history, use 'set -o history' to turn it on again
a so='set +o history'
a b1='cd ../'
a b2='cd ../../'
a b3='cd ../../../'
a b4='cd ../../../../'
a b5='cd ../../../../../'
a ls='ls --color=auto'
a l='ls -ltrhG'
a la='l -A'
a vi='gvim'
a grep='grep --color=auto'
# open and source aliases
a oa='vi ~/.bash_aliases'
a sa='source ~/.bash_aliases'
# sort file/directory sizes in current directory in human readable format
a s='du -sh -- * | sort -h'
# save last command from history to a file
# tip, add a comment to end of command before saving, ex: ls --color=auto # colored ls output
a sl='fc -ln -1 | sed "s/^\s*//" >> ~/.saved_commands.txt'
# short-cut to grep that file
a slg='< ~/.saved_commands.txt grep'
# change ascii alphabets to unicode bold characters
a ascii2bold="perl -Mopen=locale -Mutf8 -pe 'tr/a-zA-Z/𝗮-𝘇𝗔-𝗭/'"
### functions
# 'command help' for command name and single option - ex: ch ls -A
# see https://github.com/learnbyexample/command_help for a better script version
ch() { whatis $1; man $1 | sed -n "/^\s*$2/,/^$/p" ; }
# add path to filename(s)
# usage: ap file1 file2 etc
ap() { for f in "$@"; do echo "$PWD/$f"; done; }
# simple case-insensitive file search based on name
# usage: fs name
# remove '-type f' if you want to match directories as well
fs() { find -type f -iname '*'"$1"'*' ; }
# open files with default application, don't print output/error messages
# useful for opening docs, pdfs, images, etc from command line
o() { xdg-open "$@" &> /dev/null ; }
# if unix2dos and dos2unix commands aren't available by default
unix2dos() { sed -i 's/$/\r/' "$@" ; }
dos2unix() { sed -i 's/\r$//' "$@" ; }
A different way to do the usual ..="cd .."
and endless chains of ...="cd ../.."
types of aliases:
bash
/ksh
version:..() { local count="${1:-1}" local path="../" while (( --count > 0 )); do path="$path../" done cd -- "$path" }
zsh
single-line version:..() { cd $(printf "../%.s" {1..${1:-1}}) }
These take the number of directories that you want to move up as an argument (e.g. .. 3
),
otherwise they move you up one directory when used with no arguments.
alias nano='nano -l'
my only one, to have line numbers when searching for errors in log files
I alias most of my flatpaks to autorun, made a tool for that called flatalias.
https://github.com/trytomakeyouprivate/flatalias
Also
set fish_greeting
alias update='flatpak update -y && notify-send -a Updater "Flatpaks ready" && rpm-ostree update && notify-send -a Updater "rpm-ostree ready"'
alias upfin='flatpak update -y && rpm-ostree update && shutdown -h now''
alias flatrm='flatpak remove --delete-data'
alias ls="ls --color=auto -GF"
alias reload="source ~/.config/fish/config.fish && echo 'Fish-config updated'"
abbr conf "kate ~/.config/fish/config.fish && source ~/.config/fish/config.fish && echo 'Fish-config updated'"
### NETWORKING
abbr myip 'curl ifconfig.co'
abbr netlisten 'netstat -plntu'
abbr pingtest 'ping -c 2 wikipedia.de'
abbr rpmq "distrobox enter -n fedora -- dnf search"
abbr rstat "rpm-ostree status"
abbr rpmfind "rpm -qa | grep"
abbr flatinst 'flatpak install -y'
abbr flatfind "flatpak list | grep"
abbr history-off 'set +o history'
abbr sshcloud "ssh -i /home/user/.local/share/Cryptomator/mnt/SSH-keys/KEYNAME -p PORTNUMBER root@IP
# and others
abbr httpcode "curl --head --silent --output /dev/null --write-out '%{http_code}' "
abbr "pin-this" "ostree admin pin 0"
abbr "q" "exit"
abbr c "clear"
abbr errors-boot "journalctl -b"
abbr errors-last-boot "journalctl -b -1"
function copy
if test -f $argv[1]
cat $argv[1] | wl-copy
echo "Copied to clipboard."
else
echo "Error: '$argv[1]' is not a file!"
end
end
abbr off "shutdown -h now"
function findmod
set mod_path (whereis $argv[1] | cut -d' ' -f2)
kate $mod_path;
end
function mdtopdf -a filename
set -x name (basename $filename .md)
pandoc $filename -o $name.pdf | tee $name.pdf
end
function mdtoodt -a filename
set -x name (basename $filename .md)
pandoc $filename -o $name.odt | tee $name.odt
end
function mdtotex -a filename
set -x name (basename $filename .md)
pandoc $filename -s -o $name.tex | tee $name.tex
end
abbr rootfish "sudo -i fish"
abbr eng "export LANG=en_US.UTF-8"
abbr english "export LANG=en_US.UTF-8"
alias conf='nano ~/.config/fish/config.fish'
alias reload='. ~/.config/fish/config.fish'
alias pipwire-restart="systemctl --user restart pipewire.service"
function tarbrot #not yet fully working I think
if test -z $argv[1]
echo "Usage: tarbrot "
return 1
end
set folder $argv[1]
set tarball (basename $folder).tar
set brotli_file $tarball.br
# Start the timer
set start_time (date +%s)
# Create a tarball without compression
tar -cf $tarball $folder
# Display the time elapsed
set end_time (date +%s)
set elapsed_time (math $end_time - $start_time)
# Compress the tarball with Brotli
brotli $tarball && rm -f "$tarball"
echo "Folder '$folder' has been tarred and Brotli compressed as '$brotli_file'"
echo "Time elapsed: $elapsed_time seconds"
echo "Size of compressed file: (du -h $brotli_file | awk '{print $1}')"
end
I use fish btw, nice shell.
Discussion and suggestions welcome :)
I appreciate the focus on verbosity. I should probably set more of my defaults to follow the same thought process 🤔
A bit long, but here goes:
Start gomuks Matrix Client
alias gomuks=/home/craig/.local/bin/gomuks-linux-arm64
walk: Terminal File Manager
https://github.com/antonmedv/walk
alias walk="walk --icons"
Weather:https://github.com/chubin/wttr.in
alias weather="/home/craig/.local/bin/weather.sh"
Onelinershell https://github.com/Onelinerhub/shellhub
alias oh="/home/craig/.local/bin/oh.sh"
Show open ports
alias ports='sudo netstat -tulanp'
Refresh .bashrc
alias bashrc="source ~/.bashrc"
become root
alias root='sudo -i' alias su='sudo su'
Fix which
alias which='command -v'
APT User Commands
alias search='apt search' alias file='apt-file search' alias policy='apt policy' alias show="nala show"
if user is not root, pass all commands via sudo
if [ $UID -ne 0 ]; then alias update='sudo apt update' alias ainstall='sudo apt install' alias apurge='sudo apt purge -y --autoremove' alias upgrade='sudo nala upgrade' alias aremove='sudo apt autoremove -y' alias clean='sudo nala clean' alias reboot='sudo reboot' alias shutdown="sudo shutdown -P now" fi
Handy-dandy aliases for journalctl and systemctl
alias jc='sudo journalctl -b' alias jca='sudo journalctl' alias jcf='sudo journalctl -f' alias jcr='sudo journalctl --list-boots' alias sc='sudo systemctl'
Making files immortal & executable
alias im+="sudo chattr +i" alias im-="sudo chattr -i" alias exe="sudo chmod +x"
#Add safety nets
do not delete / or prompt if deleting more than 3 files at a time
alias rm='rm -I --preserve-root'
confirmation
alias mv='mv -i' alias cp='cp -i' alias ln='ln -i'
Parenting changing perms on /
alias chown='chown --preserve-root' alias chmod='chmod --preserve-root' alias chgrp='chgrp --preserve-root'
copy the current working directory to the clipboard
alias cpwd='pwd | xclip -selection clipboard'
Clipboard
alias cpy="xclip -selection clipboard"
quick directory movement
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..'
go to the last directory you were in
alias back='cd $OLDPWD'
quickly find files and directory
alias ff='find . -type f -name' alias fd='find . -type d -name'
Create Python virtual environment
alias ve='python3 -m venv ./venv' alias va='source ./venv/bin/activate'
Ping Commands
Stop after sending count ECHO_REQUEST packets
alias ping='ping -c 5' alias pg="ping google.com -c 5"
alias shortcuts
alias rpi="sudo rpi-update" alias rpi-next="sudo BRANCH=next rpi-update" alias raspi="sudo raspi-config" alias clr="clear" alias clrh="history -c -w ~/.bash_history" alias df='df -H' alias du='du -ch' alias mk="mkdir -p" alias loading="sudo dmesg > ~/dmesg.txt"
ls Commands
Colorize the ls output and human readable sizes
alias ls='ls --color=auto --human-readable -al'
Use a long listing format
alias ll='ls -la'
Show hidden files
alias l.='ls -d .* --color=auto'
Listing files in folder
alias listkb="ls -l --block-size=K" alias listmb="ls -l --block-size=M"
Colorize the grep command output for ease of use (good for log files)##
alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto'
Colorize diff output
alias diff='colordiff'
Start calculator with math support
alias bc="bc -l"
Resume wget by default
alias wget="wget -c"
ps Commands
alias ps="ps auxf"
Get top process eating cpu
alias pscpu="ps auxf | sort -nr -k 3" alias pscpu10="ps auxf | sort -nr -k 3 | head -10"
Get top process eating memory
alias psmem='ps auxf | sort -nr -k 4' alias psmem10='ps auxf | sort -nr -k 4 | head -10'
Free and Used Ram
alias meminfo='free -l' alias free='free -mt'
Run top in alternate screen
alias top='tput smcup; top; tput rmcup'
the only thing this does is add "--recursive" to every git clone
invocation
git() {
if [ "$1" = clone ]; then
shift
set -- clone --recursive "$@"
fi
command git "$@"
}
ccd() {
mkdir "$1" && cd "$1"
}
alias hgrep='function _f(){ history | grep $1; };_f'
Because I'm to lazy to type
history | grep whatever_I'm_looking_for
Feel free to call me a poser, a scrub, etc but I don't use aliases (other than the default ones, that is).
Why? Two words:
Brain. Exercise.
I have codebase of 5k lines. Most used are git commands (squash all to merge base, push to current branch, commit with format etc), work shortcuts for starting projects, time logging, startup programs. Then I have some cli interface for redo commands, size of current folders for disk pruning, abandoned project alias, os commands like brightness adjust, launch game on steam with qwert instead of dvorak keyboard, search cli history, kill with regex matching...
Just anything that I don’t want to Google twice. bash is life
I've got the standard ones (l, ll, ls) to be forms of ls -flags
df = df -h
mv = mv -i
rm = rm -i
nix-switch = sudo nix-rebuild --switch flake .
nix-upd = nix flake update
systat = systemctl status
sysena = sudo systemctl enable
systop = sudo systemctl stop
Don't really organize my aliases after making them, so this might be a mess.
##################
# ~/.aliases #
##################
# Colours
alias color-GREEN='tput setaf 2'
alias color-RED='tput setaf 1'
alias color-CYAN='tput setaf 78'
alias color-PURPLE='tput setaf 128'
#alias color-BLUE='tput setaf 4'
alias color-RESET='tput sgr0'
alias color-LIGHT_PURPLE='tput setaf 5'
alias color-LIGHT_BLUE='tput setaf 12'
alias color-TEXT='tput setaf 15'
alias color-HIDDEN='tput setaf 236'
# don't set a shutdown timer
alias shutdown='shutdown now'
# grep
alias grep='grep --color=auto'
alias pgrep='pgrep -l'
# package manager
alias pacman='sudo pacman --color=auto'
alias paru='paru --color=auto'
# ls
alias ls='eza -aMF --hyperlink --group-directories-first --icons --color=auto'
alias ll='eza -alhMF@ --hyperlink --group-directories-first --icons --color=auto --color-scale'
alias lg='eza -alhMF@ --hyperlink --group-directories-first --icons --git --git-repos --git-ignore --color=auto --color-scale'
# confirm before overwriting
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
# update grub.cfg
alias grub-update='sudo grub-mkconfig -o /boot/grub/grub.cfg'
# update function
u() {
# update distro specific packages
if command -v pacman &> /dev/null
then
# update pacman packages
printf "\n[Update] Updating Standard Packages:\n\n"
sudo pacman -Syu --color=auto
# update aur packages
if command -v paru &> /dev/null
then
printf "\n[Uodate] Updating AUR Packages:\n\n"
paru -Sau --color=auto
fi
elif command -v apt &> /dev/null
then
# update apt packages
printf "\n[Update] Updating Standard Packages:\n\n"
sudo apt-get update
sudo apt-get upgrade
fi
# update flatpaks
if command -v flatpak &> /dev/null
then
printf "\n[Update] Updating flatpaks:\n\n"
flatpak update
fi
# todo:
# - update grub
# - source shell config
printf "\n[Update] Done\n"
}
# view metadata
alias meta='exiftool'
# makepkg dependencies and install
alias makepkg='makepkg -si'
# git
alias gc='git clone'
# quick probe
alias probe='sudo -E hw-probe -all -upload -show -verbose'
# shorten pacman commands
alias pm='pacman'
alias pms='pm -Syu'
alias pmr='pm -Rns'
alias pmq='pm -Q'
alias pmu='pm -U'
alias pmd='sudo downgrade'
alias pmc='sudo paccache'
# rm pacman lock
alias rmpml='sudo rm /var/lib/pacman/db.lck'
# quick access to configs
alias brc='$EDITOR ~/.bashrc'
alias bash='exec bash'
alias zrc='$EDITOR ~/.zshrc'
alias zsh='exec zsh'
alias alia='$EDITOR ~/.aliases'
alias expo='$EDITOR ~/.exports'
alias swayc='$EDITOR ~/.config/sway/config'
#alias alac-conf='$EDITOR ~/.config/alacritty/alacritty.yml'
alias starc='$EDITOR ~/.config/starship.toml'
alias kittc='$EDITOR ~/.config/kitty/kitty.conf'
alias nvimc='$EDITOR ~/.config/nvim/init.vim'
# alias fetch scripts with hyfetch during pride month
[[ $(date +'%b') == "Jun" ]] && alias neofetch='hyfetch -b neofetch'
[[ $(date +'%b') == "Jun" ]] && alias fastfetch='hyfetch -b fastfetch'
# use fastfetch backend for hyfetch
alias hyfetch='hyfetch -b fastfetch'
# add sudo
alias docker='sudo docker'
alias systemctl='sudo systemctl'
# systemd
alias sc='systemctl'
alias sce='sc enable'
alias scd='sc disable'
alias scs='sc start'
alias scu='sc stop' # the u comes from unset
alias scr='sc restart'
# yt-dlp
alias ytm='yt-dlp -x -o "~/Music/%(title)s.%(ext)s" --add-metadata --embed-thumbnail --audio-quality 0'
alias ytv='yt-dlp -o "~/Videos/%(title)s.%(ext)s" --add-metadata --embed-thumbnail --embed-subs --embed-chapters'
# edit quicker
alias e='$EDITOR'
alias se='sudoedit'
# ryujinx (created by pinejinx)
alias ryu="AMD_DEBUG=w32ge,w32cs,nohyperz,nofmask glsl_zero_init=true radeonsi_clamp_div_by_zero=true force_integer_tex_nearest=true mesa_glthread=false vblank_mode=0 RADV_PERFTEST=bolist gamemoderun DOTNET_EnableAlternateStackCheck=1 GDK_BACKEND=x11 /home/luna/.local/share/Ryujinx/Ryujinx"
# Vencord
alias inven="sudo VencordInstallerCli-linux -install && sudo VencordInstallerCli-linux -install-openasar"
alias unven="sudo VencordInstallerCli-linux -uninstall && sudo VencordInstallerCli-linux -uninstall-openasar"
# bun > npm
alias npm='bun'
# replace cat
alias cat='bat'
# sudo
alias s='sudo'
alias clear="clear; fastfetch"
alias sudo="doas"
alias clr="clear"
alias kx="killall Xwayland"
alias vpython="~/newVenv/bin/python"
alias vpip="~/newVenv/bin/pip"
alias cat lolcat
alias ccat whatever ohmyzsh does for their colorize extension, I know it’s a function alias