Verarbeiten von Dateien
|
, >
, >>
cat
, head
, tail
, less
, tee
sort
, uniq
, wc
Pipes, stdin, stdout, stderr
$PROGRAMM1 | $PROGRAMM2
$PROGRAMM > $DATEI
$PROGRAMM >> $DATEI
Dateien ausgeben und verarbeiten
cat $DATEI
cat $DATEI1 $DATEI2
less $DATEI
# q
head $DATEI
tail $DATEI
head $DATEI -n 1 ## --lines
tail $DATEI -n 1 ## --lines
$PROGRAMM | head
$PROGRAMM | tail
grep $SUCHBEGRIFF $DATEI
grep $SUCHBEGRIFF -r $VERZEICHNIS
$PROGRAMM | grep $SUCHBEGRIFF
$PROGRAMM | grep -v $SUCHBEGRIFF ## --invert-match
$PROGRAMM | grep -i $SUCHBEGRIFF ## --ignore-case
$PROGRAMM | grep --color $SUCHBEGRIFF
$PROGRAMM | grep -A $NUM $SUCHBEGRIFF ## --after-context
$PROGRAMM | grep -B $NUM $SUCHBEGRIFF ## --before-context
$PROGRAMM | grep -C $NUM $SUCHBEGRIFF ## --context
Aufgaben
- In welcher Datei (unterhalb von
/etc
) wird das WLAN-Passwort gespeichert? -
Filter aus
/var/log/dpkg.log
alle Zeilen, die beschreiben, wann welches Paket installiert wurde.- Schreibe das Ergebnis in eine Datei.
- Welche Pakete waren die 10 zuerst installierten?
Zusatzaufgaben
-
Was waren die ersten auf der Kommandozeile eingegebenen Befehle? Verarbeite dafür die Ausgabe von
history
. -
In welche Datei speichert
history
? Findest du die entsprechende Zeile der manpage pergrep
? -
Wann erhielt das System zuletzt eine IP-Adresse per DHCP? Als Administrator kannst du die logs in
/var/log/syslog
oder mit dem Befehljournalctl
finden.
Tools für Fortgeschrittene
$PROGRAMM | sort
$PROGRAMM | sort -n ## --numeric-sort
$PROGRAMM | uniq
$PROGRAMM | sort | uniq
$PROGRAMM | sort | uniq -c ## --count
$PROGRAMM | wc
$PROGRAMM | wc -l ## --lines
cut -d$TRENNZEICHEN -f$INDEX $DATEI
cut -d: -f1 /etc/passwd
$PROGRAMM | tr $VON $NACH
echo Maus | tr M H
$PROGRAMM | sed "s/$SUCHMUSTER/$ERSETZUNG/g"
sed -i "s/$SUCHMUSTER/$ERSETZUNG/g" $DATEI ## --in-place
Aufgaben
-
Welche Nutzer (in
/etc/passwd
) habenbash
als Standartshell? - Berechne eine Liste, in der jede verwendete Standartshells genau genau einmal gelistet wird.
- Wieviele Nutzer nutzen jeweils welche Standartshell?
Zusatzaufgaben
-
Welche der von
history
gelisteten Befehle wurden am häufigsten verwendet? -
journalctl
listet als 5. durch Leerzeichen getrenntes Feld (vor dem Zeichen „[“) die „Unit“, von welcher der Logeintrag kommt. Berechne eine sortierte Liste, welche Unit wie viele Zeilen geloggt hat.