Linux Basics, Security & Hacking
willi moser (2005-12-12)
Shell / Kommandointerpreter
Ist man auf der Kommandozeile angelangt, so findet man einen ein weissen bzw. schwarzen Block oder einen nervös blinkenden Unterstrich vor; beide werden als ''Cursor'' bezeichnet und markieren die Stelle, an der die eingetippten Zeichen erscheinen.
Die Shell oder auch der Kommandointerpreter ist ein Prozess der nach dem Anmelden (Login) an einer Unixmaschine gestartet wird und die Interaktion des Benutzers mit dem Betriebssystem erlaubt. Diese Shell bringt bereits etliche Funktionalitäten mit. Sie interpretiert die Kommandoaufrufe seitens der Benutzer und erlaubt einfache Shell- (bzw. Batch-)programmierung zur Erleichterung bei sich wiederholenden Tätigkeiten. Sie stellt weiterhin über Umgebungsvariablen Programmen bestimmte Informationen zur Verfügung.
Die Kommandozeile beginnt meistens etwa so:
meier@hermes:~/kursunterlagen >
Zu Anfang steht der Username, mit dem man/frau am System angemeldet ist. Dann folgt der Rechnername und anschliessend das Verzeichnis, in dem man sich befindet.
Die Shell dient zum Aufruf der Programme, mit denen man eigentlich arbeiten will. Ein typischer Programmaufruf sieht etwa so aus:
meier@hermes:~/kursunterlagen > less -MMI kurs01.txt
Zuerst steht das Kommando, dann folgen mit einem Leerzeichen (white space) die Optionen des Kommandos und der Dateiname, so einer übergeben werden soll. Es ist dabei immer auf die Leerzeichen zu achten, da sonst die Shell Kommandos nicht von ihren Optionen oder nachfolgenden Dateinamen unterscheiden kann.
Achtung:
Jeder korrekt ausgeführte Befehl wird bis auf wenige Ausnahmen sofort, ohne
Rückfragen und ohne Rückmeldungen ausgeführt.
ls | list | listet Verzeichnisinhalte im Blockformat auf | |
ls -l | list -l(Parameter) | listet Verzeichnisinhalte als Liste mit Details auf | |
mkdir | make dir | Erstellt ein Verzeichnis | |
rmdir | remove dir | Löscht ein Verzeichnis | |
cd | change dir | Wechselt zum Verzeichnis | |
mc | midnight commander | ein "textbasierender Explorer" wie Norton Commander unter DOS | |
mcedit | Aufruf des Midnight Commanders zum editieren einer Datei | ||
cat | concatenate | Gibt den Inhalt einer Datei aus | |
mk | make | Erstellt eine Datei | |
rm | remove | Löschen einer Datei | |
mv | move | Verschieben (Datei oder Verzeichnis) | |
cp | copy | kopieren (Datei oder Verzeichnis) | |
touch | Erstellt ebenfalls eine Datei | ||
mv mydat /root/xy | Verschiebt die Datei mydat in das Unterverzeichnis xy im Verzeichnis root | |
cp mydat /root/xy | Kopiert die Datei mydat in das Unterverzeichnis xy im Verzeichnis root | |
rm -rf xy/ | Löscht das gesamte Verzeichnis xy samt der darin enthaltenen Unterverzeichnisse und Dateien | |
mcedit mydat | Erstellt, oder öffnet zum Editieren, die Textdatei mydat | |
which | Zeigt den Pfad an wo diese Datei zu finden ist z.B. which httpd liefert: /usr/sbin/httpd | |
[root@blue root]# ls
anaconda-ks.cfg Desktop XXXXX
[root@blue root]# mkdir info
[root@blue root]# ls
anaconda-ks.cfg Desktop info XXXXX
[root@blue root]# rmdir info
[root@blue root]# ls
anaconda-ks.cfg Desktop XXXXX
[root@blue root]# mkdir info
[root@blue root]# ls
anaconda-ks.cfg Desktop info XXXXX
[root@blue root]# cd info
[root@blue info]# ls
[root@blue info]# mcedit meine.informationsdatei.heute
[root@blue info]# cat meine.informationsdatei.heute
Meine Informationsdatei.
[root@blue info]# rm meine.informationsdatei.heute
rm: remove `meine.informationsdatei.heute'? y
[root@blue info]# ls
[root@blue info]#
[root@blue info]# mcedit info.alex
[root@blue info]# ls
info.alex
[root@blue info]# mv /root info.alex
mv: cannot overwrite non-directory `info.alex' with directory `/root'
[root@blue info]# mv /root/ info.alex
mv: cannot overwrite non-directory `info.alex' with directory `/root/'
[root@blue info]# mv /root/info.alex info.alex
mv: cannot stat `/root/info.alex': No such file or directory
[root@blue info]# mv info.alex /root
[root@blue info]#
[root@blue info]#
[root@blue info]# ls
[root@blue info]# cd ..
[root@blue root]# ls
anaconda-ks.cfg Desktop info info.alex XXXXX
[root@blue root]# cp info.alex info
[root@blue root]# cd info
[root@blue info]# ls
info.alex
[root@blue info]# cd ..
[root@blue root]# mkdir move
[root@blue root]# ls
anaconda-ks.cfg Desktop info info.alex move XXXXX
[root@blue root]# mv -R info move/info
mv: invalid option -- R
Try `mv --help' for more information.
[root@blue root]# mv info move
[root@blue root]# cd move
[root@blue move]# ls
info
[root@blue move]#
Linux Basics, Security & Hacking
willi moser (2005-12-12)