483 lines
15 KiB
Plaintext
483 lines
15 KiB
Plaintext
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
|
|
|
# ---------------------------------------
|
|
# 1.a Path
|
|
# ---------------------------------------
|
|
|
|
export PATH="/opt/homebrew/opt/ssh-copy-id/bin:$PATH"
|
|
export PATH="/opt/homebrew/opt/unzip/bin:$PATH"
|
|
export PATH="$HOME/Documents/venv/soco-cli/bin:$PATH"
|
|
#PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"
|
|
#PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
|
|
|
|
coreutils=false
|
|
if [ -d '/opt/homebrew/opt/coreutils/libexec/gnubin' ]; then
|
|
#PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"
|
|
#MANPATH="/opt/homebrew/opt/coreutils/libexec/gnuman:$MANPATH"
|
|
coreutils=true
|
|
fi
|
|
|
|
# ---------------------------------------
|
|
# 2. antibody (plugins)
|
|
# ---------------------------------------
|
|
|
|
# Load antibody plugin manager (http://getantibody.github.io):
|
|
source ~/.zsh_plugins.sh
|
|
|
|
# To update plugins, run:
|
|
#antibody bundle < ~/.zsh_plugins.txt > ~/.zsh_plugins.sh
|
|
|
|
#autoload -U promptinit; promptinit
|
|
#prompt pure
|
|
|
|
# Theme pure: https://github.com/sindresorhus/pure
|
|
# change the path color
|
|
#zstyle :prompt:pure:path color 045
|
|
#zstyle :prompt:pure:git:branch color white
|
|
|
|
|
|
# ---------------------------------------
|
|
# 3. nvm - node.js
|
|
# ---------------------------------------
|
|
|
|
export NVM_COLORS='BrGcm'
|
|
export NVM_SYMLINK_CURRENT=true
|
|
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
|
|
|
export NODE_PATH=$NODE_PATH:`npm root -g`
|
|
|
|
upd_nvm() {(
|
|
cd "$NVM_DIR"
|
|
git fetch --tags origin
|
|
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
|
|
) && \. "$NVM_DIR/nvm.sh"
|
|
}
|
|
|
|
|
|
# ---------------------------------------
|
|
# 4. Features (Z command, thefuck)
|
|
# ---------------------------------------
|
|
|
|
# Allow the use of the z plugin to easily navigate directories
|
|
# z directory => cd /Users/bruno/directory
|
|
# https://github.com/rupa/z
|
|
|
|
. /usr/local/etc/profile.d/z/z.sh
|
|
|
|
# thefuck
|
|
# https://github.com/nvbn/thefuck
|
|
|
|
eval $(thefuck --alias)
|
|
|
|
# dircolors
|
|
# coreutils doit être installé
|
|
|
|
eval $(gdircolors -b $HOME/.dircolors)
|
|
|
|
|
|
# ---------------------------------------
|
|
# 5. History
|
|
# ---------------------------------------
|
|
|
|
HISTFILE=$HOME/.zsh_history
|
|
HISTSIZE=5000
|
|
SAVEHIST=$HISTSIZE
|
|
|
|
setopt extended_history # Time stamp the history, and more.
|
|
setopt hist_ignore_all_dups # remove older duplicate entries from history
|
|
setopt hist_reduce_blanks # remove superfluous blanks from history items
|
|
setopt inc_append_history # save history entries as soon as they are entered
|
|
setopt share_history # share history between different instances of the shell
|
|
|
|
alias h='history'
|
|
|
|
|
|
# ---------------------------------------
|
|
# 6. Options
|
|
# ---------------------------------------
|
|
|
|
setopt auto_cd # cd by typing directory name if it's not a command (pas besoin de taper cd, juste le nom du dossier)
|
|
setopt correct_all # autocorrect commands
|
|
setopt auto_list # automatically list choices on ambiguous completion
|
|
setopt auto_menu # automatically use menu completion
|
|
setopt always_to_end # move cursor to end if word had one match
|
|
|
|
# Completion
|
|
zstyle ':completion:*' menu select # select completions with arrow keys
|
|
zstyle ':completion:*' group-name '' # group results by category
|
|
zstyle ':completion:::::' completer _expand _complete _ignored _approximate # enable approximate matches for completion
|
|
|
|
|
|
# Keybindings:
|
|
# zsh-users/zsh-history-substring-search
|
|
bindkey '^[[A' history-substring-search-up
|
|
bindkey '^[[B' history-substring-search-down
|
|
|
|
# delete key
|
|
#bindkey '^[[3~' delete-char
|
|
#bindkey '^[3;5~' delete-char
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7. *** ALIAS ***
|
|
# ---------------------------------------
|
|
|
|
alias reload='source ~/.zshrc'
|
|
alias change="bbedit ~/.zshrc"
|
|
|
|
if $coreutils; then
|
|
cd() { builtin cd "$@" && gls -lA --color; }
|
|
alias l='gls -lA --color'
|
|
alias lt='gls -lAt --color'
|
|
alias lh='gls -dla --color .*'
|
|
# --time-style="+%d-%m-%Y %H:%M"
|
|
else
|
|
cd() { builtin cd "$@" && ls -la; }
|
|
alias l='ls -la'
|
|
alias lt='ls -lat'
|
|
alias lh='ls -a | grep "^\."'
|
|
fi
|
|
|
|
alias backupzsh="cd && tar -czvf - .zshrc .zsh_plugins.txt .zsh_plugins.sh .sh_aliases | ssh funnymac@ftp.cluster011.ovh.net 'cat > www/backup/zsh_airbook.tar.gz'"
|
|
alias restorezsh="cd && curl https://clicclac.info/backup/zsh_airbook.tar.gz | tar -xzv && reload"
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.a MAKE TERMINAL BETTER
|
|
# ---------------------------------------
|
|
|
|
alias c='clear'
|
|
# history -a -d -f -i -m -n -p(purge) -r -t
|
|
alias hc='history -c'
|
|
alias hg='history -$HISTSIZE | grep'
|
|
alias x='exit'
|
|
alias path='echo -e ${PATH//:/\\n}'
|
|
|
|
alias nano='nano -l'
|
|
alias bb='bbedit'
|
|
|
|
# changes directory to frontmost Finder window
|
|
alias cdf='pwdf; cd "$(pwdf)"'
|
|
|
|
# Taille des dossiers et fichiers du répertoire courant
|
|
alias dus='du -schx * | sort -nr'
|
|
|
|
s() { pwd > ~/.save_dir ; }
|
|
i() { cd "$(cat ~/.save_dir)" ; }
|
|
alias bk='cd $OLDPWD'
|
|
|
|
# Extraire une archive
|
|
function ex () {
|
|
if [ -f $1 ] ; then
|
|
case $1 in
|
|
*.tar.bz2) tar xjf $1 ;;
|
|
*.tar.gz) tar xzf $1 ;;
|
|
*.bz2) bunzip2 $1 ;;
|
|
*.rar) unrar x $1 ;;
|
|
*.gz) gunzip $1 ;;
|
|
*.tar) tar xf $1 ;;
|
|
*.tbz2) tar xjf $1 ;;
|
|
*.tgz) tar xzf $1 ;;
|
|
*.zip) unzip $1 ;;
|
|
*.Z) uncompress $1;;
|
|
*.7z) 7z x $1 ;;
|
|
*) echo "'$1' ne peut etre extrait par ex()" ;;
|
|
esac
|
|
else
|
|
echo "'$1' fichier invalide"
|
|
fi
|
|
}
|
|
|
|
|
|
# ----------------------------
|
|
# 7.b GIT
|
|
# ----------------------------
|
|
|
|
alias ga='git add'
|
|
alias gp='git push'
|
|
alias gl='git log'
|
|
alias gs='git status'
|
|
alias gd='git diff'
|
|
alias gc='git commit -m'
|
|
alias gca='git commit -am'
|
|
alias gb='git branch'
|
|
alias gh='git checkout'
|
|
alias gra='git remote add'
|
|
alias grr='git remote rm'
|
|
alias gpu='git pull'
|
|
alias gcl='git clone'
|
|
alias gta='git tag -a -m'
|
|
alias gf='git reflog'
|
|
|
|
function acp() {
|
|
git add .
|
|
git commit -m "$1"
|
|
git push
|
|
}
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.g PYTHON
|
|
# ---------------------------------------
|
|
|
|
# soco-cli (= sonos)
|
|
#alias sonos='$HOME/Documents/venv/soco-cli/bin/soco'
|
|
#alias sonos-discover='$HOME/Documents/venv/soco-cli/bin/soco-discover'
|
|
#alias sonos-discover='$HOME/Documents/venv/soco-cli/bin/soco-discover -t 256 -n 1.0 -m 24'
|
|
#sonos-discover() {
|
|
# $HOME/Documents/venv/soco-cli/bin/soco-discover "$@"
|
|
# }
|
|
#alias sonos-http-api-server='$HOME/Documents/venv/soco-cli/bin/soco-http-api-server'
|
|
|
|
# Mkdocs
|
|
alias mkdocs='$HOME/Documents/venv/mkdocs/bin/mkdocs'
|
|
# servir Mkdocs (Python3) à 127.0.0.1 (-v verbose)
|
|
alias mkserve="cd $HOME/Documents/docs ; mkdocs serve"
|
|
# construire et envoyer les docs sur le serveur
|
|
alias mkbuild="/Users/bruno/Documents/Scripts/bash/mkbuild.sh"
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.a Homebrew
|
|
# ---------------------------------------
|
|
|
|
alias bo='brew info'
|
|
alias bs='brew search'
|
|
alias bi='brew install'
|
|
|
|
# brew restart apache
|
|
alias bra='brew services restart httpd'
|
|
# brew restart php
|
|
alias brp='brew services restart php'
|
|
|
|
alias stam='brew services start mariadb'
|
|
alias stom='brew services stop mariadb'
|
|
|
|
|
|
# ---------------------------
|
|
# 7.c CLOUD
|
|
# ---------------------------
|
|
|
|
alias 916e='ssh dsm916e'
|
|
alias 916='ssh dsm916'
|
|
alias 414='ssh dsm414'
|
|
alias ovh='ssh ovh'
|
|
alias 11='ssh 1and1'
|
|
alias pi3='ssh pi3'
|
|
alias pi3e='ssh pi3e'
|
|
alias pi4='ssh pi4'
|
|
alias sls='ssh vpssls'
|
|
alias mbv='ssh vpsmbv'
|
|
alias vps='ssh vps'
|
|
alias asus='ssh asus'
|
|
alias rebootasus='ssh asus /sbin/reboot'
|
|
|
|
alias pcloud='cd $HOME/pCloud\ Drive'
|
|
alias nextcloud='cd $HOME/Nextcloud'
|
|
|
|
# ---------------------------
|
|
# 7.d SEARCHING
|
|
# ---------------------------
|
|
|
|
alias qfind="find / -name " # qfind: Quickly search for file
|
|
ff () { /usr/bin/find . -name "$@" ; } # ff: Find file under the current directory
|
|
ffs () { /usr/bin/find . -name "$@"'*' ; } # ffs: Find file whose name starts with a given string
|
|
ffe () { /usr/bin/find . -name '*'"$@" ; } # ffe: Find file whose name ends with a given string
|
|
|
|
|
|
# ---------------------------
|
|
# 7.e NETWORKING
|
|
# ---------------------------
|
|
|
|
#alias flushDNS='dscacheutil -flushcache' # flushDNS: Flush out the DNS Cache
|
|
alias flushDNS='sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache'
|
|
|
|
alias myip='curl ifconfig.me' # myip: Public facing IP Address
|
|
#alias myip='dig @resolver1.opendns.com ANY myip.opendns.com +short -4'
|
|
|
|
alias netCons='lsof -i' # netCons: Show all open TCP/IP sockets
|
|
alias lsock='sudo /usr/sbin/lsof -i -P' # lsock: Display open sockets
|
|
alias lsockU='sudo /usr/sbin/lsof -nP | grep UDP' # lsockU: Display only open UDP sockets
|
|
alias lsockT='sudo /usr/sbin/lsof -nP | grep TCP' # lsockT: Display only open TCP sockets
|
|
alias ipinfo0='ipconfig getpacket en0' # ipInfo0: Get info on connections for en0
|
|
alias ipinfo1='ipconfig getpacket en1' # ipInfo1: Get info on connections for en1
|
|
alias openports='sudo lsof -i | grep LISTEN' # openPorts: All listening connections
|
|
alias showblocked='sudo ipfw list' # showBlocked: All ipfw rules inc/ blocked IPs
|
|
|
|
#alias p4="ping -c4 "$1" | grep 'received' | cut -f2 -d',' |cut -f2 -d' '"
|
|
alias ping='ping -c4'
|
|
pin() { ping -c4 "$1" | grep 'received'; }
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.f WEB DEVELOPMENT
|
|
# ---------------------------------------
|
|
|
|
alias apacheTools='~/Documents/Scripts/bash/apache_tools.sh'
|
|
|
|
alias apacheEdit='bbedit /opt/homebrew/etc/httpd/httpd.conf' # apacheEdit: Edit httpd.conf
|
|
#alias apacheRelance='sudo apachectl stop ; sleep 0.25 ; sudo apachectl start'
|
|
#alias apacheRestart='sudo apachectl -k restart' # apacheRestart: Restart Apache
|
|
|
|
alias apal='tail -f /opt/homebrew/var/log/httpd/access_log'
|
|
alias apel='tail -f /opt/homebrew/var/log/httpd/error_log'
|
|
#alias multiapa='multitail -F /opt/homebrew/etc/multitail.conf -s 2 /opt/homebrew/var/log/httpd/error_log /usr/local/var/log/httpd/access_log'
|
|
alias multiapa='multitail -F /opt/homebrew/etc/multitail.conf -cS apache /opt/homebrew/var/log/httpd/error_log -cS apache /usr/local/var/log/httpd/access_log'
|
|
# merge
|
|
alias mtapa='multitail -ci green /opt/homebrew/var/log/httpd/access_log -ci red -I /opt/homebrew/var/log/httpd/error_log'
|
|
#multitail -F /usr/local/etc/multitail.conf -cS apache --mergeall /opt/homebrew/var/log/httpd/*access_log --no-mergeall -cS apache --mergeall /opt/homebrew/var/log/httpd/*error_log --no-mergeall
|
|
|
|
alias log2='less +F /opt/homebrew/var/log/httpd/error_log'
|
|
|
|
alias editHosts='sudo edit /etc/hosts' # editHosts: Edit /etc/hosts file
|
|
httpHeaders () { /usr/bin/curl -I -L $@ ; } # httpHeaders: Grabs headers from web page
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.i ALIAS GLOBAUX
|
|
# ---------------------------------------
|
|
|
|
alias -g ...='../..'
|
|
alias -g ....='../../..'
|
|
alias -g .....='../../../..'
|
|
|
|
alias -g C='| wc -l'
|
|
|
|
alias -g DN=/dev/null
|
|
|
|
alias -g H='| head'
|
|
|
|
alias -g LL="2>&1 | less"
|
|
alias -g L="| less"
|
|
alias -g LS='| less -S'
|
|
|
|
alias -g NE="2> /dev/null"
|
|
alias -g NUL="> /dev/null 2>&1"
|
|
|
|
alias -g NS='| sort -n'
|
|
alias -g RNS='| sort -nr'
|
|
alias -g S='| sort'
|
|
alias -g US='| sort -u'
|
|
|
|
alias -g TL='| tail -20'
|
|
alias -g T='| tail'
|
|
|
|
alias -g X='| xargs'
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.i SONOS (soco-cli)
|
|
# ---------------------------------------
|
|
|
|
#alias sonos-discover="/Users/bruno/Documents/venv/soco-cli/bin/sonos-discover -t 256 -n 1.0 -m 24"
|
|
alias sinfo="sonos Salon play_fav 'franceinfo'"
|
|
alias sfi="sonos Salon play_fav 'france inter'"
|
|
alias sk6="sonos Salon play_fav 'K6 FM'"
|
|
alias srtl="sonos Salon play_fav 'RTL'"
|
|
alias srire="sonos Salon play_fav 'Rire et Chansons'"
|
|
alias sflow="sonos Salon play_fav 'Flow'"
|
|
alias slist="sonos Salon list_favs"
|
|
alias smeu="sonos Salon play_fav 'Meurice'"
|
|
alias son="sonos Salon mute on"
|
|
alias soff="sonos Salon mute off"
|
|
alias sstart="sonos Salon start"
|
|
alias sstop="sonos Salon stop"
|
|
alias sv11="sonos Salon volume 11"
|
|
alias sv13="sonos Salon volume 13"
|
|
alias sv15="sonos Salon volume 15"
|
|
alias sloff="sonos Salon status_light off"
|
|
alias slon="sonos Salon status_light on"
|
|
|
|
alias cinfo="sonos Chambre play_fav 'franceinfo'"
|
|
alias cfi="sonos Chambre play_fav 'france inter'"
|
|
alias ck6="sonos Chambre play_fav 'K6 FM'"
|
|
alias crtl="sonos Chambre play_fav 'RTL'"
|
|
alias crire="sonos Chambre play_fav 'Rire et Chansons'"
|
|
alias cflow="sonos Chambre play_fav 'Flow'"
|
|
alias sclist="sonos Chambre list_favs"
|
|
alias cmeu="sonos Chambre play_fav 'Meurice'"
|
|
alias con="sonos Chambre mute on"
|
|
alias coff="sonos Chambre mute off"
|
|
alias cstart="sonos Chambre start"
|
|
alias cstop="sonos Chambre stop"
|
|
alias cv11="sonos Chambre volume 11"
|
|
alias cv13="sonos Chambre volume 13"
|
|
alias cv15="sonos Chambre volume 15"
|
|
alias cloff="sonos Chambre status_light off"
|
|
alias clon="sonos Chambre status_light on"
|
|
|
|
|
|
# ---------------------------------------
|
|
# 7.i ALIAS (divers)
|
|
# ---------------------------------------
|
|
|
|
|
|
# Portainer & Docker
|
|
alias portainer='docker run -d -v "/var/run/docker.sock:/var/run/docker.sock" -p 9000:9000 portainer/portainer'
|
|
|
|
alias backpi='sudo rsync -av --exclude ".*/" pi@192.168.1.100:/home/pi/ ~/RPi-backup'
|
|
|
|
alias up_kymsu='cd /Users/bruno/Documents/Scripts/kymsu2/ ; ./install.sh'
|
|
|
|
alias bashTools='/$HOME/Documents/Scripts/bash/bash_tools.sh'
|
|
alias zshTools='/$HOME/Documents/Scripts/bash/zsh_tools.sh'
|
|
|
|
# Convert contents of clipboard to plain text.
|
|
alias txt='pbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy'
|
|
#recupere le presse-papier et le met dans un fichier .txt
|
|
#dld() { pbpaste >> "$1".txt; }
|
|
dld() { pbpaste >> $HOME/Desktop/"$1".txt; }
|
|
|
|
# Convertit en minuscule
|
|
alias tolowercase='pbpaste | tr "[:upper:]" "[:lower:]" | pbcopy'
|
|
#Convertit en majuscule
|
|
alias touppercase='pbpaste | tr "[:lower:]" "[:upper:]" | pbcopy'
|
|
|
|
# Ouvrir un fichier markdow dans Typora
|
|
alias typora="open -a typora"
|
|
|
|
# De-quarantine
|
|
alias quarantine="sudo xattr -rd com.apple.quarantine"
|
|
|
|
# Optimise la base Mail
|
|
alias mailoptimiser="curl -sS https://raw.githubusercontent.com/pbihq/tools/master/MailDBOptimiser/MailDBOptimiser.sh | bash"
|
|
|
|
# Multitail
|
|
alias mt='multitail -F /usr/local/etc/multitail.conf'
|
|
|
|
|
|
# ---------------------------------------
|
|
# 8. FONCTIONS
|
|
# ---------------------------------------
|
|
|
|
# prints the path of the front Finder window. Desktop if no window open
|
|
function pwdf () {
|
|
osascript <<EOS
|
|
tell application "Finder"
|
|
if (count of Finder windows) is 0 then
|
|
set dir to (desktop as alias)
|
|
else
|
|
set dir to ((target of Finder window 1) as alias)
|
|
end if
|
|
return POSIX path of dir
|
|
end tell
|
|
EOS
|
|
}
|
|
|
|
function bbshellcheck {
|
|
shellcheck -f gcc "$@" | bbresults
|
|
}
|
|
|
|
listening() {
|
|
if [ $# -eq 0 ]; then
|
|
sudo lsof -iTCP -sTCP:LISTEN -n -P
|
|
elif [ $# -eq 1 ]; then
|
|
sudo lsof -iTCP -sTCP:LISTEN -n -P | grep -i --color $1
|
|
else
|
|
echo "Usage: listening [pattern]"
|
|
fi
|
|
}
|