What are your most liked alias for long commands or just to give them better names.
Mine are:
alias load="source .load.sh"
alias eload="$EDITOR .load.sh"
alias gpush="git push"
alias gadd="git add --all"
alias gcommit="git commit -m "
alias gst="git status -s"
alias gpull="git pull"
alias ..='cd ..'
AmigaOS style!
My variant (u mean “up” in my head)
alias u ='cd ..' alias uu ='cd ../..' alias uuu='cd ../../..'
mkcd() { mkdir -p “$1” && cd “$1”; }
Make a directory and immediately cd into it. I rarely make a directory and not cd into it.
My app keeps crashing. That’s the older version of my alias.
mkcd() { mkdir -p “$1” && cd “$1”; }
Uuuuh needed this one so many times.
alias weather=‘curl wttr.in’
I found a function version of this version somewhere. Same thing except it defaults to my local area but can be overridden if you specify a different zip code.
weather() { if [ $(command -v curl) ]; then if ! (($#)); then curl wttr.in/44113 else curl wttr.in/$1 fi else echo "curl not installed. Aborting." fi }
That is really neat. I never knew I needed that.
alias ll=“ls - l”
My most-used, by far, for decades.
This and
alias la="ls -lhA"
In addition to this, I have
lat
&las
with-t
&-s
sorting added respectively.
For just a second I thought this was Loss
alias ta="tmux attach -t"
I’m always thinking of using tmux for tilling.
Not exactly an alias but a short script. First, get git-revise which is a replacement for
git rebase
, and fzf if for some reason you don’t have it yet. Then make a script in your~/.local/bin
calledgit-f
or whatever you’d like:#!/bin/bash REF=${1:-origin/main} # adjust to your favorite trunk branch name COMMIT=$(git log --pretty=oneline ${REF}.. \ | fzf --preview "git show -p --stat {+1}" | cut -d' ' -f1) if [ -n "$COMMIT" ]; then exec git revise "$COMMIT" else exit 1 fi
Now hack away in a branch, make some commits, and at some point you will realize you want to modify an earlier commit. Use
git add -p
to add the relevant lines, but then instead of making a fixup commit just typegit f
and pick the target commit from the list.I always set these because I’ve been burned too many times:
Turn on interactive mode for dangerous commands
alias cp='cp -iv' alias mv='mv -iv' alias rm='rm -iv'
alias clearswap='sudo swapoff -a && sudo swapon -a' alias grep='grep --color=auto' alias ls='ls --color=auto --group-directories-first' alias la='ls -lAh --color=auto --group-directories-first' alias timestamp='date +%Y-%m-%dT%H-%M-%S'
Here are mine. Sorry for the mouth full, but I think people may benefit from some of these :)
alias ll="ls -alkhF" alias l="ls -1" # BE CAREFUL WITH THIS AND COULD RETURN COLOR KEYCODES INTO PIPES ETC... alias grep='grep --color=always' alias db='dotnet build' alias gs='git status' alias gf='git fetch' alias gl='git pull' alias gp='git push' alias gpt='git push --tags' alias gP='git push --force-with-lease' alias ga='git add' alias gd='git diff' alias gw='git diff --word-diff' setopt interactive_comments preexec(){ _lc=$1; } alias gcm='git commit -m "${_lc#gcm }" #' # THE BELOW TO BE USED ALONG WITH THE FOLLOWING GIT ALIASES: #[alias] # logo = log --pretty=tformat:'%C(auto,red)%m %C(auto,yellow)%h%C(auto,magenta) %G? %C(auto,blue)%>#(12,trunc)%ad %C(auto,green)%<(15,trunc)%aN%C(auto,reset)%s%C(auto,red) %gD %D' --date=short # adog = log --all --decorate --oneline --graph # dog = log --decorate --oneline --graph alias glog='git logo' alias gdog='git dog' alias gadog='git adog' alias gb='git branch' alias gba='git branch --all' alias gco='git checkout' alias gm='git merge' alias gt='git tag | sort -V | tail' alias rl='source ~/.zshrc' alias n='nvim' # LIST PATHS OF OTHER ZSH SHELLS I HAVE OPEN lssh() { ps au \ | awk '$11 == "-zsh" || $11 == "/bin/zsh" { print $2 }' \ | xargs pwdx \ | awk '{ print $2 }' \ | sed -n "\|^${2}.*|p" \ | sort -u \ | nl } # CD TO SHELL NUMBER RETURNED BY LSSH cdsh() { cd $(lssh \ | sed "$1!d" \ | cut -f 2) } # CD TO PATH OF ANOTHER SHELL, USING FZF AS SELECTOR cs() { cmd1=$(lssh | fzf --select-1 --query "$1" --height=~50 | cut -f 2) cmd="cd $cmd1" print -S $cmd eval $cmd } # RUN THE COMMAND FROM HISTORY, USING FZF AS SELECTOR, ALTERNATIVE TO <C-R> hf() { cmd=$(history 0 | sort -nr | cut -c 8- | fzf -e --select-1 --no-sort --query "$1" ) # push the command into the history print -S $cmd eval $cmd } # REMMINA USING THE CONNECTION FILE SELECTED USING FZF rf() { pushd ~/.local/share/remmina cmd=$(remmina -c $(ls $PWD/* | fzf -e --select-1 --no-sort --query "$1")) # push the command into the history print -S $cmd eval $cmd popd }
Good luck, I’m dogshit at maintaining the comments lol
Very nice
I use this function to launch GUI apps from the shell without occupying that shell or cluttering it with their output:
nown() { if [ -n "$1" ] then nohup $@ &> /dev/null & disown else echo "Don't give me a null command dumbass." fi }
I maybe will steal that for myself.
become="sudo su -" pb="ansible-playbook"
alias fuck='sudo $(fc -ln -1)'
Just use
sudo !!
yeah, I could do that. Kinda prefer to use my alias anyway as the expletive is almost always the first word that comes to mind when I forget to sudo something
Can’t argue with that but it reminds me of thefuck which is similar but does more
thanks for that link!! I’m going to try it out :)
Technically not aliases but I have these in my ~/.bash_aliases so…
bind ‘“\e[A”: history-search-backward’
bind ‘“\e[B”: history-search-forward’Type a few letters and press up/down arrow to scroll through matching history entries.
Also…
alias s=“cd -”
It’s like Alt+Tab for CLI.
I don’t use aliases. Since I use
fish
as a login shell, I use abbreviations. I have a lot of them configured. But I think my favorite one isyeet
which expands toparu -Rcns
.What a nice abbreviation of the conventional way of declaring the minimanalasation of a command. I need to check out fish but i don’t really know about it so much.