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/nginxcd / -> 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.txtls -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.loggrep 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