Skip to main content

Hier kommt eine kleine, praktische Ansammlung von oft benutzen Linux Terminal Befehlen, in abgekürzter, etwas leichter zu merkender Form a la Bash-Aliases. Diese Aliases werden zur dauerhaften Nutzung meist in eine extra dafür vorgesehene Datei (.bash_aliases) im Home-Verzeichnis des Benutzers abgespeichert. Diese können zur besseren Übersicht auch in mehreren Dateien (z.B .bash_aliases_docker,.bash_aliases_fw) abgespeichert werden, müssen dann aber auch in der .bashrc mit eingebunden werden.

Diese .bash-aliases Liste wurde auf Ubuntu-Systemen (bis 18.04) getestet und wird mit dem neusten, heißen Scheiss aktualisiert.

.bashrc

if [ -f ~/.bash_aliases ]; then
      . ~/.bash_aliases
fi
#===========================================================
# Crepes
#===========================================================
alias grep='grep --color=auto' # grep $MUSTER auf LSD
alias grepn='grep -iRn' # Rekursive Suche mit Zeilennummerausgabe
alias fgrep='fgrep --color=auto' # Schneller als grep aber ohne Regex
alias egrep='grep -iE --color=auto' # Erweiterten Regex-Möglichkeiten
alias grepv='grep -vE "(#|^$)"' # Haut mit '#' anfangende Kommentare aus den $CONFIGS

#===========================================================
# Informationsbeschaffung
#===========================================================
alias os='lsb_release -a' # OS-Version
alias myshell='ps -p $$' # Aktuelle Shell
alias header='curl -I' # Headeranzeige eines $ZIEL
alias dmesg='dmesg -Tx' # Kernelmeldungen in schön
alias mem='free -m -l -t' # Ausführliche Memoryangabe
alias dff='df -Th --total' # Anzeige Festplattenbelegung
alias mountt='mount | column -t' # Ausführliche Mountpoints
alias myip='curl ipinfo.io/ip' # Anzeige eigene, externe IP
alias fastping='ping -c 100 -s.2' # Ping auf Steroide $ZIEL
alias aports='ss -tulpan' # Anzeige aller TCP/UDP-Ports
alias lports='ss -tuln | grep LISTEN' # Anzeige aller offenen Ports
alias nlsof='lsof -n -P -i +c 15' # Übersicht Netzwerkverbindungen
alias log='lastlog | grep -vi "\*\*"' # Letzte Logins aller User
alias dux='du -h --max-depth=1 | sort -rh' # Nach Größe sortierte Ordnerübersicht
alias dux10='du -hsx * | sort -rh | head -10' # Die 10 Größten Ordner anzeigen
alias ifconfig='ip -br -c addr show' # Kompakte Anzeige aller IP-Adressen in Farbe
alias dfff='df -hlT --total --exclude-type=tmpfs --exclude-type=devtmpfs' # Anzeige Festplattenbelegung ohne tmpfs-Systeme

#===========================================================
# Misc
#===========================================================
alias c='clear' # Screen putzen
alias h='history' # Anzeige der Befehlshistory
alias sudo='sudo ' # Damit Aliases auch mit sudo genutzt werden können
alias cp='cp -i' # Beckenrandschwimmer-Abfrage beim kopieren ob überschrieben werden soll 
alias mv='mv -i' # Abfrage/Doppelter Boden beim verschieben ob überschrieben werden soll 
alias tmux='tmux -2' # Stabiler Terminal-Multiplexer
alias tailf='tail -f' # Fortlaufen Ausgabe einer $LOGDATEIN
alias l='ls --color=auto -CF' # Ordnerinhalte anzeigen
alias ll='ls --color=auto -l' # Ordnerinhalte als Liste anzeigen
alias lshide='ls -ld .* --color=auto' # Versteckte Daten anzeigen
alias la='ls --color=auto -A' # Ordnerinhalte inklusiver versteckter Daten anzeigen
alias lso='stat -c "%A %a %n" -L' # Übersichtliche Anzeige der Berechtigung von $DATEI
alias lll='ls --color=auto -la' # Ordnerinhalte als Liste inklusiver versteckter Daten anzeigen
alias ht='export HISTTIMEFORMAT="%F %T"' # Anzeige der Befehlshistory inkl Zeitstempel
alias hg='history | grep -i --color=auto' # Durchsuchen der Befehlshistory
alias atime="date +'%Y-%m-%d-%H-%M-%S'" # Ausführliche Datumsanzeige inkl Uhrzeit
alias bashreload='source ~/.bashrc && echo Bash reloaded' # Bash-File reloaden

#===========================================================
# Ordner
#===========================================================
eval "`dircolors`"
alias ..='cd ..'
alias ...='cd ../../../'
alias ....='cd ../../../../'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'

#===========================================================
# Paketmanagement
#===========================================================
alias show='apt show' # Infos zu einem $PAKET
alias remove='apt purge' # $PAKET inkl Configs droppen
alias search='apt search' # Nach einem Muster in den $PAKETEN suchen
alias autoremove='apt autoremove' # Deinstalliert nicht mehr benutze $PAKETE
alias software='dpkg --get-selections' # Anzeige aller $PAKETE inkl Statusflag
alias fupgrade='apt install --only-upgrade' # Upgrade der vorhandenen $PAKETE
alias update='apt update && apt upgrade' # Update der Paketlisten + Pakete
alias autoclean='apt clean && apt autoclean && apt autoremove --purge' # Apt-Cleanup
alias check='ls -l /var/run/reboot-required 2>/dev/null || echo "No reboot required"' # Muss das System nach einem Update rebootet werden

#===========================================================
# Programm - DNS
#===========================================================
alias dns-a='dig +noall +answer +ttlid -t A'        # Azeige $ZIEL A-Records
alias dns-mx='dig +noall +answer +ttlid -t MX'      # Azeige $ZIEL MX-Records
alias dns-ns='dig +noall +answer +ttlid -t NS'      # Azeige $ZIEL NS-Records
alias dns-any='dig +noall +answer +ttlid -t ANY'    # Azeige $ZIEL ANY-Records
alias dns-txt='dig +noall +answer +ttlid -t TXT'    # Azeige $ZIEL TXT-Records
alias dns-soa='dig +noall +answer +ttlid +nssearch' # Azeige $ZIEL SOA-Records
alias dns-rev='dig +noall +answer +ttlid -t ANY -x' # Anuzeige $ZIEL IP-Reverse-Lookup

#===========================================================
# Programm - Firewall
#===========================================================
alias fwl='/sbin/iptables -L -n -v --line-numbers' # Nummerierte Anzeige der Regeln
alias fw='fwl' # Eine Alias für den oberen fwl-Aliase ;)
alias fwin='/sbin/iptables -L INPUT -n -v --line-numbers'   # Anzeige aller INPUT-Regeln
alias fwout='/sbin/iptables -L OUTPUT -n -v --line-numbers' # Anzeige aller OUTPUT-Regeln
alias fwfw='/sbin/iptables -L FORWARD -n -v --line-numbers' # Anzeige aller FORWARD-Regeln
alias fwall='iptables -vL -t filter && iptables -vL -t nat && iptables -vL -t mangle && iptables -vL -t raw && iptables -vL -t security && iptables -vL --line-numbers' # Anzeige wirklich aller Firewall-Table-Regeln

#===========================================================
# Programm - Nmap
#===========================================================
alias npv='nmap -Pn --script vuln' # Schwachstellen Scan $ZIEL
alias npssl='nmap --script=ssl-cert -p 443' # SSL-Zertifikat Scan $ZIEL
alias np='nmap -p 1-65535 -T4 -r -v' # Scannt alle Ports des angegebenen $ZIEL
alias npddos='nmap -max-parallelism 600 -Pn --script http-slowloris --script-args http-slowloris.runforever=true' # DDOS-Test $ZIEL

#===========================================================
# Prozesse
#===========================================================
alias pss='ps axjfwww' # Anzeige der Prozesse als Baumliste
alias pscpu='ps auxwww | sort -nr -k 3' # Prozesse nach CPU sortieren
alias psmem='ps auxwww | sort -nr -k 4'  # Prozesse nach RAM sortieren
alias pscpu10='ps auxwww | sort -nr -k 3 | head -10'  # Die 10 CPU-hungrigsten Prozesse
alias psmem10='ps auxwww | sort -nr -k 4 | head -10' # Die 10 RAM-hungrigsten Prozesse
alias psg='ps auxwww | grep -v grep | grep -i --color=auto' # grep nach einem Prozess

#===========================================================
# Security
#===========================================================
alias shred='shred -n 7 -z -u' # $DATEI hardcore shreddern
alias crontab='crontab -i' # Verhindert das löschen der crontab
alias sha='sha512sum' # Stabilere SHA-Checksumme benutzen
alias pass='openssl rand -base64' # Stabile Passwortgenerieren. $ANZAHL hinter -base64 angeben
alias rm='rm -Iv --preserve-root' # Abfrage beim löschen von $DATEN ohne Slash zu entfernen
alias backup='rsync -aAXv --human-readable --info=progress2' # Backup mit ACLs, xattr, Gesamtfortschritt & lesbarer Ausgabe
alias sshkeyinfo='for keyfile in ~/.ssh/id_*; do ssh-keygen -l -f "${keyfile}"; done | uniq' # Infos zu allen SSH-Keys im Home-Verzeichnis
alias sshkey='ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_$(whoami)@$(hostname -f)_ed25519 -C "$(whoami)@$(hostname -f)-$(date -I)"' # Sicherer SSH-Key mit Elliptische Kurven
alias sshkey-rsa='ssh-keygen -o -a 100 -t rsa -b 4096 -f ~/.ssh/id_$(whoami)@$(hostname -f)_rsa -C "$(whoami)@$(hostname -f)-$(date -I)"' # Sicherer 4096 Bits RSA SSH-Key ohne Elliptische Kurven

#===========================================================
# Systemctl
#===========================================================
alias start='systemctl start' # $DIENST starten
alias stop='systemctl stop' # $DIENST stoppen
alias reload='systemctl reload' # $DIENST reloaden
alias restart='systemctl restart' # $DIENST restarten
alias enable='systemctl enable' # $DIENST aktivieren
alias disable='systemctl disable' # $DIENST deaktivieren
alias status='systemctl status' # $DIENST Statusabfrage
alias running='systemctl list-units  --type=service  --state=running'
alias systemdconf='systemctl cat' # $DIENST-Konfiguration anzeigen
alias systemddep='systemctl list-dependencies' # $DIENST-Abhängikeiten anzeigen
alias stats='systemctl list-units --type=service' # Infos zu allen von Systemd kontrollierten Diensten

#===========================================================
# Programm - Git
#===========================================================
alias gs='git status -sb' # Kompakte Statusübersicht (Branch + Shortform)
alias ga='git add' # Datei(en) zum Commit vormerken
alias gaa='git add -A' # Alle Änderungen (inkl. Löschungen) adden
alias gb='git branch -v' # Branch-Übersicht mit letztem Commit
alias gl='git log --oneline --graph --decorate' # Kompakte Commit-Historie (akt. Branch)
alias glo='git log --oneline --decorate --graph --all' # Komplette Commit-Historie aller Branches
alias gd='git diff' # Zeigt unstaged Änderungen
alias gdc='git diff --cached' # Zeigt staged Änderungen

alias gc='git commit -m' # Commit mit Message
alias gca='git commit -a -m' # Commit + auto-add
alias gco='git checkout' # Branch oder Datei auschecken
alias gnew='git checkout -b' # Neuen Branch erstellen und direkt wechseln
alias gcm='git checkout main' # Direkt zu main wechseln
alias gp='git push' # Änderungen zum Remote pushen
alias gpu='git push -u origin HEAD' # Push + Upstream setzen (neuer Branch)
alias gpl='git pull --ff-only' # Pull nur mit Fast-Forward (keine Merge-Commits)

alias gcl='git clone' # Repo klonen
alias gr='git remote -v' # Remote-Verbindungen anzeigen
alias gstash='git stash -u' # Änderungen stashen inkl. untracked Files
alias gpop='git stash pop' # Gestashte Änderungen wiederherstellen

#===========================================================
# Programm - Docker
#===========================================================
alias dops="docker ps"
alias dopa="docker ps -a"
alias doi="docker images"
alias dos="docker search"
alias dokd="docker run -d -P"
alias doex="docker exec -i -t"
alias doki="docker run -i -t -P"
alias dtail='docker logs -tf --tail="50" "$@"'
alias doip="docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
alias dormf='docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)'

dostop() { docker ps -a -q | xargs -r docker stop; }
dorm()  { docker ps -a -q | xargs -r docker rm; }
dori()  { docker images -q | xargs -r docker rmi; }
dorin() { docker images --filter "dangling=true" -q | xargs -r docker rmi -f; }

#===========================================================
# X-Custom
#===========================================================
alias apache-t='apachectl configtest' # Apache Konfig testen
alias apache-l='apachectl configtest && apachectl graceful' # Apache testen und sanft restart
alias apache-r='apachectl configtest && systemctl restart apache2' # Apache testen und Chuck-Norris Like restarten
alias lamp='apachectl configtest && systemctl restart apache2 && systemctl restart mysql' # Apache testen und den LAMP-Stack restarten

#===========================================================
# Alias-Overview
#===========================================================
_fmtalias() { sed -E "s/^([^=]+)='([^']+)'$/\1 => \2/"; } # Alias-Formatierung: name => befehl (ohne Quotes)

grepalias()  { alias | grep 'grep'        | _fmtalias | sort; } # Anzeige aller grep-Aliase
diralias()   { alias | grep -E 'cd|dir'   | _fmtalias | sort; } # Anzeige aller cd/dir/vdir-Aliase
aptalias()   { alias | grep -E 'apt|dpkg|required' | _fmtalias | sort; } # Anzeige aller APT-Aliase
dnsalias()   { alias | grep 'dns'         | _fmtalias | sort; } # Anzeige aller DNS-Aliase
fwalias()    { alias | grep 'iptables'    | _fmtalias | sort; } # Anzeige aller iptables-Aliase
nmapalias()  { alias | grep 'nmap'        | _fmtalias | sort; } # Anzeige aller Nmap-Aliase
psalias()    { alias | grep -E '\sps.+='  | _fmtalias | sort; } # Anzeige aller Prozess-Aliase
sysalias()   { alias | grep 'systemctl'   | _fmtalias | sort; } # Anzeige aller systemctl-Aliase
gitalias()   { alias | grep 'git'         | _fmtalias | sort; } # Anzeige aller Git-Aliase
doalias()    { alias | grep 'docker'      | _fmtalias | sort; } # Anzeige aller Docker-Aliase
wwwalias()   { alias | grep 'apache'      | _fmtalias | sort; } # Anzeige aller Apache/Webserver-Aliase

Aktivierung und Überprüfung der Aliases

source ~/.bashrc
alias

Bash-Aliases Repository

.bash_aliases