Eine Einführung - Teil 3
Deutsche Angestellten Akademie
als root: adduser USER sudo
Datei /etc/sudoers
zu editieren mit visudo
daniel ALL=(ALL) ALL
/home/daniel/Dokumente
Domukente/rechnungen/2018
cd
ändert das aktuelle Verzeichnis der Shell, pwd
zeigt den Pfad des aktuellen.cd ..
wechselt 1 Verz. höher li>
cd ../..
wechselt 2 Verz. höher li>
cd ../../etc/nginx
cd /
-> Wurzelverzeichniscd
oder cd ~
-> home ls
gibt Informationen über Dateien und Verzeichnisse aus.mkdir
und rmdir
kann man Verzeichnisse anlegen oder entfernen.
ln
kann man »harte« und »symbolische« Links anlegen.
more
und less
dienen zum seitenweisen Anzeigen von Dateien auf dem Terminal.
find
sucht nach Dateien oder Verzeichnissen, die bestimmte Kriterien erfüllen.locate
findet Dateien nach Name/bin
type
gibt Auskunft darüber alias ,echo, rm, test?
$&;(){}[]*?!<>«
touch neue datei
- erzeugt 2 Dateientouch 'neue datei'
- erzeugt 1 Datei >
leitet Ausgabe um
Shortcut | Beschreibung |
---|---|
TAB | Vervollständige das angefangene Wort |
TAB TAB | Zeige Liste der Vervollständigungs-möglickeiten |
Ctrl + c | Aktuell laufendes Kommando abbrechen |
Ctrl + z | Aktuelles Kommando stoppen |
Ctrl + a | Gehe zum Anfang der Kommandozeile |
Ctrl + e | Gehe zum Ende der Kommandozeile |
Ctrl + w | Lösche vom Cursor zum Anfang des Wortes (das aktuelle Wort löschen) |
Ctrl + y | Füge ein gelöschtes wort wieder ein, welches mit einem der shortcuts zum löschen gelöscht wurde |
Ctrl + xx | Bewege dich zwischen Anfang der Kommandozeile und der aktuellen position des Cursor (hin und zurück) |
Ctrl + f | Ein Zeichen nach vorne |
Ctrl + b | Ein Zeichen zurück |
Ctrl + d | Löscht das Zeichen unter dem Cursor |
Ctrl + h | Löscht das Zeichen vor dem Cursor |
Ctrl + r | Durchsucht die History rückwärts |
Ctrl + g | Den History Suchmodus wieder verlassen |
Ctrl + l | Lösche das Kommandozeilenfenster |
Ctrl + s | Stopt den Output auf die Kommandozeile (Bei langen Kommandos mit viel Output) |
Ctrl + q | Stellt denn Output in die Kommandozeile wieder her (welcher vorher mit „Ctl + s“ gestoppt wurde) |
aus der bash man-page:
FILES /bin/bash The bash executable /etc/profile The systemwide initialization file, executed for login shells /etc/bash.bashrc The systemwide per-interactive-shell startup file /etc/bash.bash.logout The systemwide login shell cleanup file, executed when a login shell exits ~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file ~/.bash_logout The individual login shell cleanup file, executed when a login shell exits ~/.inputrc Individual readline initialization file
# zusätzlicher pfad für die auto-vervollständigung
export CDPATH=$CDPATH:/home/dany/projekte
# maximale länge der history
HISTSIZE=1000
HISTFILESIZE=2000
HISTTIMEFORMAT="%d-%m-%Y %H:%M "
# promt formatierung
PS1='\[\033[38m\]\u@\h \[\033[94m\]\W\[\033[95m\]$(__git_ps1)\[\033[37m\]$\[\033[00m\] '
export
gibt alle gesetzten bash Variablen aus
export $VARIABLE
setzt die Bash Variable für die laufende Sitzung
# ls Varianten
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
#df in lesbar
alias df='df -h'
# Oft gebrauchte Pfade
alias o='cd ~/ownCloud/'
alias p='cd ~/projekte'
# stopwatch
alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'
# create a dir with date from today
alias mkdd='mkdir $(date +%Y%m%d)'
alias mp='mkdir -p'
Aufgabe: Macht die Schriftfarbe des Prompt blau
Hilfe: https://wiki.archlinux.de/title/Bash-Prompt_anpassen
Ausgabeumleitung Vorsicht! Überschreibt vorh. Datei inhalt.txt!! Zum anhängen: Umleitung stderr Umleitung stdin PS1="\[\033[34m\]\u@\h:\w$"
stdin, stdout, stderr - Kanäle der Bash
ls -la > inhalt.txt
ls -la >> inhalt.txt
ls -la /home/user 2> fehler.txt
ls -la > verzeichnis.txt 2> fehler.txt
ls -la > gemeinsam.txt 2>&1
tr -d '0-9' < datei.txt
Der Pipe Operator
ps ax | sort -nr
dmesg | grep -n USB
dmesg | grep -n USB | tail
dmesg > alle-meldungen.log
grep usb < alle-meldungen.log | tail > usb-meldungen.log
dmesg > alle-meldungen.log
grep usb < alle-meldungen.log | tail > usb-meldungen.log
find . -type f -mtime +1 -name "*.log" -exec zip -m {}.zip {} \; >/dev/null &
Reguläre Ausdrücke