Die Linux-Konsole, die Bash, das Terminal, die - Anti

Transcription

Die Linux-Konsole, die Bash, das Terminal, die - Anti
Die Linux-Konsole, die Bash, das Terminal, die
Kommandozeile, die Shell
losrobos@users.sourceforge.net
Von Windows-Usern gerne als Relikt
aus grauer Vorzeit bezeichnet ist die
Linux-Konsole doch etwas ganz
anderes – sie ist die
Kommunikationsschnittstelle
zwischen dem System und dem User.
Unter Microsoft Windows würde
man die Linux-Konsole als MSDOS-ähnlich bezeichnen, doch ist sie
viel mehr:
Info: Was tut man unter Microsoft Windows wenn ein Programm gerade etwas nicht kann, man
sucht sich ein weiteres Programm und wenn nötig noch ein drittes, hier ein mögliches kleines
Beispiel: man lädt sich von Youtube eine Video-Datei in Flash herunter und möchte diese Datei in
das MP3-Format konvertieren (nötigenfalls kann man dies in Firefox mit einem Dienst-AddOn
erledigen) – diese dann weil zu viel Pause am Beginn und am Ende ist zurecht schneiden und dann
noch die Lautstärke verändern – vielleicht auch noch ein vorhandenes Rauschen entfernen –
bestenfalls benötigt man dazu schon drei Programme und jedes muss man extra starten, unter Linux
jedoch öffnet man die Konsole gibt einen verketteten Befehl mit einigen Optionen ein und die
ganze Geschichte hat sich in Sekunden erledigt.
Unter Microsoft gibt es keine Möglichkeit mit dem System richtig zu kommunizieren – auch die
von Microsoft neu entwickelte „Powershell“ ist nichts anderes als ein Flop, man muss sich an die
Vorgaben halten die der Programmierer der grafischen Oberfläche bei gebracht hat – mehr ist nicht
möglich, unter Linux stellt die Konsole die Möglichkeit dar mit dem System richtig zu
kommunizieren – dem System Befehle zu erteilen, Fragen zu stellen und die richtigen Antworten zu
bekommen.
Wenn man die richtigen Befehle kennt erkennt man auch die Vorteile und vieles lässt sich viel
schneller erledigen als wenn man sich unter einer grafischen Oberfläche durch unzählige Menüs
klicken muss.
Diese kleine Hilfe soll einen ersten Einstieg in den Umgang mit der Konsole ermöglichen und die
Grundbegriffe erklären.
Starten der Konsole:
Der Konsolen-Prompt:
Korrektes Eingeben von Befehlen:
Datei-Verwaltung mit Bordmitteln:
Optionen kombinieren
zwischen Verzeichnissen wechseln:
Befehls-Vervollständigung
Dateien löschen:
Dateien kopieren:
Dateien verschieben:
neue Dateien erstellen:
Text-/Konfigurations-Dateien auf der Konsole bearbeiten:
Benutzer-wechsel auf der Konsole:
Programme mit grafischer Oberfläche auf der Konsole:
Die Begriffe: Konsole, Terminal, Kommandozeile: eigentlich beschreiben diese Begriffe ein
Programm – eine Schnittstelle zum eingeben von Befehlen und empfangen von Nachrichten vom
System, unter KDE wird die Konsole Konsole genannt, unter GNOME und anderen DesktopUmgebungen zumeist Terminal. Shell, Bash, Dash usw.: sind die Namen von sogenannten BefehlsInterpretern, der Befehls-Interinterpreter übersetzt die vom User eingegebenen Befehle in eine für
das System verständliche Sprache und die Systemausgaben zurück in eine für den User
verständliche Sprache, hauptsächlich wird unter den meisten Linux-Distributionen die „Bash“
(Bourne Again Shell) eingesetzt.
Starten der Konsole:
um die Konsole zu starten muss man die grafische Oberfläche nicht komplett verlassen oder gleich
ein System ohne grafische Oberfläche installieren, unter KDE öffnet man ganz einfach das
Programm „Konsole“ aus dem Menü „System“, unter GNOME aus dem Menü „Anwendungen –
Zubehör“. - So erhält man die Konsole auf der grafischen Oberfläche in einem Fenster, ein weiterer
Weg die Konsole zu öffnen wäre die Tastenkombination:
Strg + Alt + F1 bis F6
so legt sich die Konsole über den ganzen Bildschirm und verschiebt die grafische Oberfläche in den
Hintergrund – die unter der grafischen Oberfläche laufenden Programme werden dabei nicht
gestört, mit der Tastenkombination:
Strg + Alt + F7
kommt man wieder auf die grafische Oberfläche zurück, befindet man sich auf der Konsole kann
man mit der Tastenkombination:
Strg + Alt + F1 bis F6
zwischen 6 verschiedenen Konsolen hin und her schalten.
Der Konsolen-Prompt:
hat man eine Konsole per Maus geöffnet ist diese noch ziemlich leer, alles was man sieht ist der
Konsolen-Prompt oder auch Eingabe-Prompt und Shell-Prompt genannt, dieser könnte als Beispiel
so aussehen:
maxl@ubuntu:~$
„maxl“ zeigt hier den angemeldeten Benutzer und „ubuntu“ den Rechner-Namen, das „$“-DollarZeichen wiederum zeigt das man mit normalen Benutzer-Rechten arbeitet,
würde der Prompt im gleichen Fall so aussehen:
root@ubuntu:/home/maxl#
würde das bedeuten das man als „root“ angemeldet ist, sich im Verzeichnis „/home/maxl“ befindet
und die „#“ zeigt das man mit Systemverwalter-Rechten arbeitet.
Hat man die Konsole per Tastenkombination „Strg + Alt + F1 bis F7“ geöffnet muss man sich erst
einmal anmelden, in diesem Fall könnte der Prompt im gleichen Fall wie oben so aussehen:
ubuntu login: _
in diesem Fall gibt man nun seinen Benutzer-Namen ein und drückt die „Enter“-Taste nun erscheint
die Meldung:
Password:
geben Sie ganz einfach Ihr Passwort ein und drücken die „Enter“-Taste (beim Eingeben des
Passwortes sind weder Buchstaben noch Punkte zu sehen)
Korrektes Eingeben von Befehlen:
Wie unter Linux üblich erwartet die Konsole die korrekte Eingabe in Groß- und Kleinbuchstaben
von Passwörtern und Befehlen, so würde der Befehl „Firefox“ nicht das Programm Firefox starten
sondern nur der Befehl: „firefox“, etwas das höchstwahrscheinlich nicht erwähnt werden muss ist
die Bestätigung des Befehles mit der „Enter“-Taste – ansonsten wartet die Konsole solange Sie
Geduld haben.
Datei-Verwaltung mit Bordmitteln:
Verzeichnis-Inhalt anzeigen:
ls – zeigt die im Verzeichnis liegenden Dateien an
Beispiel:
maxl@ubuntu:~$ ls
Bilder
gnucash.20110328190831.xac
RMAIL
Desktop
index.lokalize
robert@debian-yedi: ~_001.png
Dokumente
kdenlive
Videos
Downloads
lokalize-scripts
Vorlagen
firefox
Musik
X.ini
FrostWire
News
gnucash
Öffentlich
maxl@ubuntu:~$
ls -l – zeigt ausführlichere Informationen über die im Verzeichnis liegenden Dateien Dateien an,
etwa die Datei-Größe, das Datum der Erstellung, den Benutzer dem die Datei gehört sowie den
Ersteller der Datei und die Zugriffs-Rechte
Beispiel:
drwxr-xr-x
5 maxl maxl 4096 31. Mär 14:15
Bilder
drwxr-xr-x
2 maxl maxl 12288 9. Apr 12:19
Desktop
drwxr-xr-x
9 maxl maxl 4096 9. Apr 15:42
Dokumente
drwxr-xr-x
2 maxl maxl 4096 9. Apr 00:39
Downloads
drwxr-xr-x
8 maxl maxl 4096 18. Mär 15:25
firefox
drwxr-xr-x
7 maxl maxl 4096 4. Mär 01:07
FrostWire
-rw-r--r-1 maxl maxl 5313 28. Mär 19:08
gnucash
-rw-r--r-1 maxl maxl 5744 29. Mär 17:26
gnucash.20110328190831.xac
-rw------1 maxl maxl 47
3. Apr 02:53
index.lokalize
drwxr-xr-x
5 maxl maxl 4096 9. Mär 03:35
kdenlive
drwxr-xr-x
2 maxl maxl 4096 3. Apr 02:53
lokalize-scripts
drwxr-xr-x
2 maxl maxl 12288 30. Mär 22:02
Musik
drwxr-xr-x
4 maxl maxl 4096 14. Mär 01:40
News
drwxr-xr-x
2 maxl maxl 4096 29. Mär 16:48
Öffentlich
-rw-r--r-1 maxl maxl 109417 14. Mär 01:40
RMAIL
-rw-r--r-1 maxl maxl 51659 9. Apr 14:22
maxl@ubuntu: ~_001.png
drwxr-xr-x
3 maxl maxl 4096 2. Apr 08:41
Videos
drwxr-xr-x
2 maxl maxl 4096 4. Mär 01:09
Vorlagen
-rw-r--r-1 maxl maxl 326 1. Apr 17:02
X.ini
ls -a – zeigt auch Versteckte Dateien an (Dateien die mit einem Punkt beginnen)
ls -R – zeigt bei Verzeichnissen auch deren Inhalt an
ls -S – listet Dateien und Verzeichnisse nach Dateigröße auf
ls -t – listet Dateien und Verzeichnisse nach dem Erstellungs-Datum auf
natürlich kann man wie bei den meisten anderen Befehlen die Optionen kombinieren, so zeigt der
Befehl:
ls -l -a – zum Beispiel auch Versteckte Dateien und bei Verzeichnissen deren Inhalt an
zwischen Verzeichnissen wechseln:
um z.Bsp.: in das im Home-Verzeichnis liegende Verzeichnis „Bilder“ zu wechseln dient der
Befehl:
cd Bilder
man gibt also ganz einfach den Befehl „cd“ mit den Verzeichnis an in das man wechseln will
dabei kann man natürlich auch mehrere Verzeichnisse überspringen, will man z.Bsp.: in das
Verzeichnis „/etc/apt/archives/“ zu wechseln gibt man einfach den Befehl:
cd /etc/apt/archives/ ein und landet direkt im Verzeichnis „/archives“, hierbei könnte erstmals die
Befehls-Vervollständigung erwähnt werden – man muss nicht immer den ganzen Befehl eingeben
– im vorangegangenen Befehl würde es reichen:
cd /e“Tab“-Taste/ap“Tab“-Taste/a“Tab“-Taste ein zu geben, mit Hilfe der „Tab“-Taste
vervollständigt die Bash den Befehl automatisch – wenn kein weiterer Befehl oder kein weiteres
Verzeichnis mit den gleichen Anfangs-Buchstaben beginnt, natürlich kann man Firefox mit dem
Befehl:
firefox starten und zum Beispiel mir fir“Tab“-Taste abkürzen, hätte man nun einen weiteren
Befehl oder ein Programm das mit den gleichen Anfangs-Buchstaben beginnt würde die
Vervollständigung nichts anzeigen – drückt man nun ein zweites Mal die „Tab“-Taste zeigt die Bash
nun alle Befehle mit den gleichen Anfangs-Buchstaben an – nun fügt man ganz einfach so viele
Buchstaben hinzu bis diese mit keinem anderen Befehl mehr gleich sind.
Der Befehl:
cd bringt den Nutzer nun direkt wieder in das Home-Verzeichnis zurück, arbeitet man als root – ist
dies das „/root“-Verzeichnis
Dateien löschen:
der Befehl:
rm dient dazu Dateien und Verzeichnisse zu löschen - !!Vorsicht!! mit dem Befehl landen Dateien
nicht im Papierkorb – sondern werden sofort gelöscht.
Um nun z.Bsp.: die Datei „maxl.jpg“ zu löschen genügt der Befehl:
rm maxl.jpg
ebenfalls für das Verzeichnis „Bilder“
rm Bilder
ist das Verzeichnis jedoch nicht leer meldet die Bash das das Verzeichnis noch Dateien enthält – um
nun das Verzeichnis Bilder samt Inhalt zu löschen genügt dann der Befehl:
rm -r Bilder
um nun noch die Nachfrage abzustellen ob das Verzeichnis wirklich gelöscht werden soll dient die
Option
rm -rf Bilder
!!Vorsicht!! bei System-Dateien!! rm -rf als root löscht das angegebene Verzeichnis oder die Datei
ohne Nachfrage, ein „rm -rf /“ als root putzt das gesamte System von der Festplatte
Dateien kopieren:
um eine oder mehrere Dateien zu kopieren dient der Befehl:
cp
um nun z.Bsp.: die Datei „maxl.jpg“ in das Unterverzeichnis „Maxl“ von „Bilder“ zu kopieren
genügt der Befehl:
cp maxl.jpg /Bilder/Maxl/
der Befehl:
cp maxl.jpg /Bilder/Maxl/maxl1.jpg benennt die Datei im Verzeichnis „Maxl“ in „maxl1.jpg“ um
Dateien verschieben:
um Dateien oder Verzeichnisse zu verschieben dient der Befehl:
mv
um nun z.Bsp.: die Datei „maxl.jpg“ in das Unterverzeichnis „Maxl“ von „Bilder“ zu verschieben
genügt der Befehl:
mv maxl.jpg /Bilder/Maxl/
der Befehl:
mv maxl.jpg /Bilder/Maxl/maxl1.jpg benennt die Datei im Verzeichnis „Maxl“ in „maxl1.jpg“ um
neue Dateien erstellen:
um eine neue Datei zu erstellen dient der Befehl:
touch
der Befehl:
touch maxl erstellt eine leere Datei mit der Bezeichnung „maxl“
gibt man dem Dateinamen nun auch noch eine Datei-Endung mit:
touch maxl.jpg erstellt der Befehl eine „jpg“-Datei mit dem Namen „maxl“
Text-/Konfigurations-Dateien auf der Konsole bearbeiten:
unter Linux gibt es viele Konsolen-Texteditoren, einer der auf den meisten Systemen vorhanden ist
ist „nano“, nano ist so einfach wie effizient zu bedienen, liegt die Datei im selben Verzeichnis in
dem man sich gerade befindet genügt der Befehl:
nano dateiname
um z.Bsp.: die Datei „/etc/apt/sources.list“ zu bearbeiten genügt der Befehl:
nano /etc/apt/sources.list egal in welchem Verzeichnis man sich gerade befindet, in diesem Fall
würde dies so aussehen:
# deb-src http://security.debian.org/ squeeze/updates main
# Line commented out by installer because it failed to verify:
# deb ://volatile.debian.org squeeze-updates main
# Line commented out by installer because it failed to verify:
# deb-src ://volatile.debian.org squeeze-updates main
deb http://http.us.debian.org/debian/ squeeze contrib non-free main
deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - c't Squeeze Multi-architecture i3$
deb http://www.debian-multimedia.org squeeze main non-free
deb http://mirror.isoc.org.il/pub/debian/ squeeze main contrib non-free
deb http://mirror.isoc.org.il/pub/debian/ squeeze-proposed-updates main contrib$
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.debian.org/debian sqeeze-updates main
^G Hilfe ^O Speichern ^R Datei öffn^Y Seite zurü^K Ausschneid^C Cursor
^X Beenden ^J Ausrichten^W Wo ist ^V Seite vor ^U Ausschn. r^T Rechtschr.
am unteren Bildschirmrand befinden sich die Systembefehle, mit den Pfeiltasten bewegt man sich
an die richtige Stelle und kann wie mit einem normalen Texteditor arbeiten, die Systembefehle
werden als Tastenkombination angewandt wobei der Buchstabe mit der „Strg“-Taste angewandt
wird – so speichert
Strg + O die Datei und Strg + X beendet nano
Benutzer-wechsel auf der Konsole:
um auf der Konsole zu root zu werden genügt auf den meisten Systemen der Befehl:
su + „Enter“-Taste und der Eingabe des Administrator-Kennwortes
um von root wieder zum normalen Benutzer zu werden reicht der Befehl:
exit
unter Ubuntu kann man sich nicht als root anmelden – hier stellt man dem Befehl
sudo voran, um etwa den Dateimanager „Nautilus“ als root zu starten genügt der Befehl:
sudo nautilus
um sich als anderer Benutzer anzumelden etwa von maxl zu peter genügt ein
su peter
und der darauf folgenden Eingabe der Passwortes von peter
Programme mit grafischer Oberfläche auf der Konsole:
doch selbst ohne grafische Oberfläche müssen Einsteiger nicht alle Befehle kennen, für viele
Aufgaben gibt es Programme die zumindest eine annähernd grafische Oberfläche bieten, etwa der
„Midnight Commander“ als Dateimanger der mit dem Befehl:
mc gestartet wird
die Paketverwaltung Aptitude die mit dem Befehl:
aptitude gestartet wird
und viele weitere mehr
dieses Dokument liegt unter der Lizenz: GNU FDL http://www.gnu.org/copyleft/fdl.html ,
losrobos 2011