Linux¶
Terminal¶
Kurze Einführungen auf ubuntuusers: Shell, Bash
Einführung im Plenum¶
pwd
ls
ls -lhtra
(long humanreadable zeitgeordnet umgekehrt versteckte)- Tabulator zur Syntaxergänzung. Wiederholtes Drücken listet die (verbleibenden) Möglichkeiten auf.
- Pfeil-nach-oben zum Aufruf der letzten Eingabe.
- Strg+C zum Beenden eines Prozesses.
sudo
- Ein
^
, z.B. beim Bearbeiten einer Datei mitnano
bedeutet die Strg-Taste. Die Tastenkombinationen bekommt man beinano
z.B. mit Strg+G angezeigt. Beinano
bedeutet dasM
die Alt-Taste.
Übungen in EA/PA¶
Wofür sind die folgenden Befehle gut? Finde heraus, wofür die Befehle verwendet werden können und probiere den einen oder anderen Befehl aus.
Das Minimalziel der Stunde ist es, dass du Ordner und Datei erstellen und kopieren kannst.
Es gibt mehrere Möglichkeiten, wie du etwas über einen Befehl X herausfinden kannst:
whatis X
X --help
man X
Zum Beispiel spuckt das Terminal bei ls --help
so etwas aus wie
Aufruf: ls [OPTION]... [DATEI]...
Das heißt, dass man eine Option oder einen Dateinamen eingeben kann, aber nicht muss.
cd
cd ..
cd -
clear
mkdir
rmdir
touch
nano
cp
mv
rm
tree
less
find
echo
firefox
firefox & disown
which
wget
curl
cal
tar
gzip
vi
cat
apt
ifconfig
hostname -I
whereis
rsync
df -h
cat /proc/partitions
dmesg
Spielereien¶
curl wttr.in/bretten
curl ident.me
(gibt deine IP-Adresse aus)rev
tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32" grep --color "[^ ]"
cat /dev/urandom | hexdump -C | grep "ca fe"
- Freakige Befehle
Effektiver Umgang mit dem Terminal¶
- Bisherige Befehle nochmal aufrufen mit
- Ausrufezeichen gefolgt von einem Zeichen ruft den letzten Befehl mit diesem Zeichen auf.
history
, dann!
gefolgt von der Nummer.- Strg+R
sudo !!
- Aliase über die Datei
~/.bashrc
. - Dateien durchsuchen mit
locate
oderfind
(s.u.): 1, 2, 3, 4, 5, 6 - Wechselt man mit
cd
zu einem Verzeichnis, will dann aber wieder zurück zum letzten Verzeichnis, dann genügtcd -
. - Weitere Bash-Tricks
Weitere Beispiele¶
sudo pm-hibernate
ls -1 *.jpg | parallel -j 3 convert '{}' -resize 1920x -quality 60 '{/}_1920px.jpg'
- http://www.shellbefehle.de/bash-tipps/
Bemerkungen zu find
¶
find
hat auch eine exec-Option, z.B. kann man alle Dateien im aktuellen Verzeichnis und Unterverzeichnissen mit ~ am Ende so löschen:
find -iname *.*~* -exec rm {} \;
Etwas mit Dateien unterschiedlicher Endungen machen, geht z.B. so:
find \( -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.gif' -or -iname '*.png' -or -iname '*.bmp' \) | wc -l
Bei rechenaufwendigen Operationen lohnt sich find
mit parallel
, z.B.
find "Quellverzeichnis" | parallel -j 2 cp {} -bv "Zielverzeichnis"
Bilder bzw. SD-Karte wiederherstellen¶
sudo dd if=/dev/sdf1 of=/tmp/usb_image
foremost jpg -o /tmp/wiederhergestellte_dateien -i /tmp/usb_image
Security mit dem Terminal¶
Mit dem Terminal kann man seine Sicherheit hinsichtlich seines Datenschutzes erhöhen. Z.B.
diceware -n 4
diceware auf GitHubfind \( -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.gif' -or -iname '*.png' -or -iname '*.bmp' \) -print0 | xargs -0 mogrify -strip
Bash-Skripte¶
Bash-Skripte haben die Endung *.sh
und können in der ersten Zeile ein Shebang haben. Mit einem Bash-Skript kann man mehrere Terminal-Befehle hintereinander ausführen lassen; ein Bash-Skript ist also quasi ein Terminal-Programm. Und so sieht der Code der Datei test.sh
aus:
#!/bin/bash
notify-send "Start"
#
Kommentare.
Das Skript starten geht z.B. mit
bash test.sh
oder
./test.sh
Beim letzteren Startbefehl muss man vor dem Ausführen bei den Zugriffsrechten das starten zulassen:
chmod u+x test.sh
Bash-Spiel¶
Programmiere mit Hilfe dieses Links ein Bash-Spiel.