Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Einführung zum Textmodus

  1. #1
    Premium Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    1.107

    Einführung zur Textmodus

    Ziel & Vorwort
    Das folgende Tutorial soll Neulinge ein wenig an die Arbeit im Textmodus heranführen und ein paar Programme vorstellen, nicht mehr. Wenn ihr weitere Informationen zu einem Befehl benötigt, versucht einfach mal "man [befehlsname]". Hoffentlich ists halbwegs verständlich geworden, erster Versuch halt

    Voraussetzungen
    Voraussetzung zum Nachvollziehen ist eine Linuxinstallation (vielleicht auch in Bochs um eventuelle Schäden zu vermeiden), brauchbare Englischkentnisse, grundlegendes Wissen über Linux (Verzeichnisstruktur, keine Laufwerksbuchstaben etc) und etwas Zeit.

    Der Start
    Ich nehme einfach mal an, dass ihr das hier unter Linux mit einem graphischen Browser lest. Um in dieser Umgebung auf eine Textkonsole zu gelangen, genügt es die Tasten [Strg] [Alt] und [F1] gleichzeitig zu drücken. Es gibt bei den meisten Distributionen 6 solcher Textkonsolen, erreichbar über [F1] bis [F6]. Der x-server (die graphische Oberfläche) läuft meistens auf Konsole 7 und kann über [Strg] [Alt] [F7] erreicht werden. Auf dem Bildschirm sollte nun so etwas wie "xy login: " zu lesen sein. xy steht dabei für den Namen eures Rechners im Netzwerk.
    Um sich auf der Textkonsole einzuloggen, braucht das Programm welches euch den login-prompt (prompt=Eingabeaufforderung) zuerst euren Benutzernamen und dann euer Passwort. Bei der Passworteingabe wird normaler Weise aus Sicherheitsgründen nichts angezeigt (auch keine Sterne), der Computer erhält die Eingabe aber trotzdem.
    Nach dem ihr euer Passwort mit [Enter] bestätigt habt, solltet ihr eine Eingabeaufforderung wie diese sehen:
    Code:
    benutzername@xy xy $
    Das sieht auf den ersten Blick zwar etwas kryptisch aus, ist aber kaum komplizierter als das altbekannte C:\> unter MS-DOS und Konsorten. Am Anfang des Promptes steht euer Benutzername und der Name des Rechners auf dem ihr gerade angemeldet seit. Danach steht der Name des Verzeichnisses in dem ihr euch gerade befindet, in diesem Falle euer Heimatverzeichnis. Das Dollarzeichen dient dazu, das Ende der Eingabeaufforderung zu markieren. Als Root (Administrator) steht oft ein Doppelkreuz (#) anstelle des $ am Ende, um den Benutzer nicht vergessen zu lassen, dass er als root arbeitet. Natürlich kann das alles auch in einem Terminal unter X nachvollzogen werden

    Wie man Befehle benutzt
    Oft verwendet man Konsolenbefehle nach folgendem Schema:
    Code:
    befehl -schalter ziel
    -schalter steht dabei für eine Anzahl von Buchstaben, die die Wirkung des Befehls beeinflussen. Einer der wohl häufigsten Schalter ist "-v", der für verbose ("gesprächig") steht. Damit gibt der aufgerufene Befehl mehr Informationen darüber aus, was er gerade tut. Ein Ziel kann entweder ein Verzeichnis oder eine Datei sein. Eine bei der Eingabe langer Pfade sehr nützliche Funktion ist die Tab-Autovervollständigung (Tab = Tabulator = Die zwei Pfeile über der Feststelltsaste). Mit einem Druck auf Tab versucht das System, den Pfad oder den Befehl, an dem der Benutzer gerade tippt, selbst zu ergänzen. Gibt es nur eine sinnvolle Möglichkeit, wird der Rest ergänzt, gibt es mehrere (zum Beispiel /bin und /boot für /b [TAB]) wir durch zweimaliges "Tabulieren" eine Liste der möglichkeiten angezeigt.
    Wichtig: Ein Konsolenbefehl ist nichts anderes als ein Programm!

    Im Dateisystem Herumlaufen
    Beginnen wir mit den Befehlen cd und ls. cd wird wohl den DOS-Kennern bekannt vorkommen, ls ist das Äqivalent zu dir.

    ls
    ls ist eine Abkürzung für "list" und listet standardmäßig den Inhalt des aktuellen Verzeichnisses auf. Eine ls-ausgabe könnte so aussehen:
    Code:
    heinz@kompjuta / $ ls
    bin   dev  home  lost+found  opt   root  share  tmp  var
    boot  etc  lib   mnt         proc  sbin  sys    usr
    Wird an ls noch ein Pfad zu einem Verzeichnis angehängt, wird der Inhalt dieses Ordners angezeigt. Weitere nützliche Optionen von ls sind die Schalter -l und -h. -l sorgt für detailliertere Informationen und -h wandelt Größenangaben in menschenlesbare Zahlen um. Ein Beispiel dafür:
    Code:
    ib@gm ib $ ls -lh /home/ib/temp/
    total 964K
    drwxr-xr-x    2 ib       users        4.0K Feb 20 21:57 ae
    -rw-r--r--    1 ib       users        944K Feb 22 02:28 bump.xpm
    drwxr-xr-x    2 ib       users        4.0K Feb 22 14:22 muesli
    drwxr-xr-x    2 ib       users        4.0K Feb 19 17:02 someth
    drwxr-xr-x    3 ib       users        4.0K Feb 20 22:26 xebian
    cd
    cd bedeutet "change directory" und wechselt in das angegebene Verzeichnis. Der Befehl hat keine weiteren Optionen und versteht absolute und relative Pfadangaben. Um beispielsweise von /home/user/ nach /home/user/bla/blub/ zu wechseln, gibt es 4 Möglichkeiten:
    Code:
    cd /home/user/bla/blub
    
    oder
    
    cd bla/blub
    
    oder
    
    cd bla
    cd blub
    
    oder
    
    cd ~/bla/blub
    Bei der ersten Methode handelt es sich um einen Absoluten Pfad, der immer vom Rootverzeichnis / ausgeht, 2 - 4 sind relativ, also vom aktuellen Verzeichnis aus gesehen. Bei 4 wurde statt /home/user/ die Variable "~" benutzt, die immer den Pfad des Heimatverzeichnisses des aktuellen Benutzers enthält. Andere Variablen sind ".." (Verzeichnis eine Ebene Tiefer) und "." (das aktuelle Verzeichnis).

    du
    Wenn man wissen will, wie groß eine bestimmte Datei ist, reicht es meistens die Schalter sh (size & human readable) an ls anzuhängen. Wenn es jedoch um ganze Ordner geht, bekommt man nur die relativ nutzlose Information, dass ein Ordner an sich im Dateisystem 512byte verbraucht. Dafür gibt es du (disk space used). Um damit beispielsweise die gesamtgröße von /bin herauszufinden, kann man folgendes eingeben:
    Code:
    heinz@kompjutah heinz $ du -h /bin
    6.9M    /bin/
    Ein Blick in die Manpage gibt übrigens, nicht nur hier, noch eine Fülle weiterer Optionen preis, die ich hier nicht besprechen will.

    Das Ganze klingt jetzt komplizierter als es ist, am besten ist immer noch selbst ausprobieren

    Dateien herumschubsen
    Die essentielen Dinge, die man mit Dateien und Verzeichnissen anstellen kann sind kopieren, verschieben, umbenennen, erstellen und löschen. Kopieren wird mit cp (für copy), Verschieben mit mv (für move) und löschen mit rm (für remove) erledigt.

    cp und mv
    Weil cp und mv sich in vielen Punkten ähneln, beschreibe ich beide zusammen.

    Um eine Datei oder ein Verzeichniss zu kopieren oder zu verschieben, wird der Name der Datei und der Zielort benötigt. Das könnte so aussehen:
    Code:
    ib@gm ib $ cp temp bla/
    Dieser Befehl würde die Datei/das Verzeichnis temp in den Ordner bla/ kopieren. Auch mit cp und mv kann man Variablen wie "~" oder ".." benutzen, zusätzlich kommen noch Wildcards (Joker) dazu. Der bekanteste ist dabei wohl "*", der für eine beliebige Anzahl von beliebigen Zeichen steht. In zusammhang mit cp und mv ist er nützlich, um nur bestimmte dateien zu kopieren. Dazu ein Szenario:

    Im Ordner /home/heinz/pics/ liegen diverse bilder, darunter auch welche von einer Digitalkammera. ls zeigt folgendes:
    Code:
    dcim001.jpg   dcim004.jpg       heinz-auf-teneriffa.jpg          
    dcim002.jpg   dcim005.jpg       heinz-angetrunken.gif
    dcim003.jpg   demonicduck.png   hunderteuro.gif
    Nun sollen alle Bilder von der Kammera, die nach dem Schema dcimZAHL.jpg, in ein anderes Verzeichnis verschoben werden. Statt nun alle Dateien einzeln zu verschieben, kann * benutzt werden. Das sähe dann so aus:
    Code:
    heinz@kompjuta pics $ mv -v dcim* /home/heinz/online/bilders/
    `dcim001.jpg' -> `/home/heinz/online/bilders/dcim001.jpg'
    `dcim002.jpg' -> `/home/heinz/online/bilders/dcim002.jpg
    `dcim003.jpg' -> `/home/heinz/online/bilders/dcim003.jpg
    `dcim004.jpg' -> `/home/heinz/online/bilders/dcim004.jpg
    `dcim005.jpg' -> `/home/heinz/online/bilders/dcim005.jpg
    heinz@kompjuta pics $
    Mit dem Schalter -v gibt mv beim kopieren den Namen der Datei aus, an dem es gerade arbeitet. dcim* veranlasst mv alle dateien, die mit dcim anfangen, ins Zielverzeichnis /home/heinz/online/bilders/ zu schieben.

    Umbenennen
    Umbenennen wird unter Linux mit verschieben gleichgesetzt. Ein Beispiel dazu:
    Code:
    heinz@kompjuta pics $ mv dcim001.jpg tante-jutta.jpg
    Ordner erstellen
    Ordner werden mit mkdir (make directory) erstellt, der Befehl akzeptiert absolute und relative Pfadangaben.
    Code:
    heinz@kompjutah heinz $ mkdir /home/heinz/temp/keksdose
    Erstellt zum Beispiel das Verzeichnis keksdose im Ordner /home/heinz/temp/.

    Löschen
    Vorsicht: Wenn weg, dann weg!
    Löschen wird mit rm (remove) erledigt. Standardmäßig löscht rm ohne Nachfrage und nur Dateien, keine Ordner. Ein Beispiel um alle dateien mit tmp im Namen aus einem Verzeichnis zu löschen:
    Code:
    heinz@kompjutah cleanup $ rm *tmp*
    Um Verzeichnisse zu löschen bedarf es der Schalter -f (force) und -r (recursive). Das sieht dann so aus:
    Code:
    heinz@kompjutah heinz $ rm -fr verzeichnisname
    Geändert von kshade (10.06.04 um 22:20 Uhr)

  2. #2
    Flachinformatiker Avatar von MiGo
    Registriert seit
    Oct 2002
    Ort
    Heidelberg
    Beiträge
    5.270
    Sehr hübsch !
    Allerdings solltest du noch explizit darauf hinweisen, dass unter Linux der Befehl "mv" auch zum Umbenennen von Dateien verwendet wird; das verwirrt Anfänger oft total. ("Ich will's doch umbenennen, nicht verschieben..")
    Und du solltest vielleicht noch auf die Tab-Autovervollständigung eingehen, ohne die das Arbeiten im Textmodus wohl nur als Disziplinarmassnahme verhängt würde

    Ansonsten begeistert,
    MiGo
    "Da steht sowas ähnliches wie" oder "das funzt net!!" ist keine Fehlermeldung!

  3. #3
    Premium Mitglied
    Registriert seit
    Jul 2003
    Beiträge
    1.107

    Changelog:

    23.02.04: Done und Danke
    10.06.04: du hinzugefügt, Hinweis dass das auch alles in einem Terminalemulator geht (doh!)
    Geändert von kshade (29.09.04 um 16:21 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •