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.
- 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.
Ü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
whereis
rsync
df -h
cat /proc/partitions
dmesg
Spielereien
curl wttr.in/bretten
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
: 1, 2, 3, 4, 5, 6
Weitere Beispiele
sudo pm-hibernate
find \( -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.gif' -or -iname '*.png' -or -iname '*.bmp' \) | wc -l
ls -1 *.jpg | parallel -j 3 convert '{}' -resize 1920x -quality 60 '{/}_1920px.jpg'
- http://www.shellbefehle.de/bash-tipps/
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"
Dabei sind Zeilen mit #
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.