Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]

[Photo of the Author]
Manuel Muriel Cordero
Über den Autor:
Manuel Muriel ist Student der Informatik an der Universität von Sevilla. Die Informatik ist mein hauptsächliches Hobby und mein Studiengebiet. Linux war eine große Entdeckung für mich. Abgesehen davon habe ich eine große Zuneigung zum Lesen, im speziellen Fiction (Tolkien ist mein Idol :), Basketball mit mit meinen Freunden spielen, und Filme, am besten Science Fiction (Ich mag Blade Runner, 2001, Forbiden Planet, ...).
murie@arturo.lsi.us.es

Index:

  1. Einführung
  2. Diese Möglichkeiten bietet Dir Linux
  3. Grundlagen der Systemadministration
  4. Einige Grundlegende Befehle
  5. Wo kann man mehr Informationen finden?
  6. Dateimanipulation mit einfachen Befehlen
  7. Wildcards
  8. Ausgabe- und Eingabeumleitung
  9. Texteditoren

Wichtige UNIX Befehle

[Ilustration]

Zusammenfassung:
Leute, die Linux schon länger benutzen, empfinden dieses Betriebssystem als einfach bedienbar und leistungsfähig. Auf der anderen Seite empfinden Anfänger, die mit der UNIX-Umgebung nicht vertraut sind, dieses System als undurchsichtig und schwer erlernbar. Der Autor beschreibt in diesem Artikel einige der grundlegenden Unix-Befehle, in der Hoffnung, daß diese Übersicht dafür sorgen wird, daß die Lernkurve von Anfängern als nicht mehr so steil empfunden wird.


Einführung

Dieser Artikel ist im Speziellen den Linux-Einsteigern gewidmet. Er kann jedoch auch als nützlicher Rückblick für erfahrenere Benutzer dienen.

Vielleicht nutzen einige unserer Leser ihre Systeme zu Hause hauptsächlich für Textverarbeitung, Videospiele und eventuell für ihre persönliche Buchhaltungssoftware. Für diese Heimanwender werden Begriffe wie "Betriebssystem" keine sehr klare Bedeutung haben, weil man Windows 95 sozusagen "kostenlos" mit ihrem System bekommen haben, hauptsächlich werden sie andere Anwendungen von einem Freund oder dem Freund eines Freundes "geliehen" haben. Sie wünschen, daß der Computer seine Aufgabe erfüllt ohne viel Ärger zu machen und sie regen sich auf, wenn der Computer kritische Meldungen wie "Memory Protection Error in 0FAG:BD07" von sich gibt. Diese Fehler scheinen absolut bedeutungslos zu sein.

Eines Tages hörst Du von einem freien Betriebssystem, welches nicht versagt, Linux genannt. Du beschließt es zu testen und kaufst ein spezielles Computermagazin, welchem eine CD mit diesem System beiliegt.

Nach einem komplizierten Installationsprozeß, in dem die Festplatte partitioniert werden muß, ein nicht besonders beliebter Schritt, wirst Du vermutlich eine große Partition für Windows und eine kleine für Linux eingerichtet haben. Nach dem Neustart wirst Du etwa folgendes erhalten:

LILO: _

Dies ist der Zeitpunkt zu dem der Name, welcher der Linux Bootpartition zugewiesen wurde, eingegeben werden sollte. Dann folgen ein paar Bildschirme voll von obskuren Meldungen und letztendlich ein Login Prompt.

Red Hat linux 2.0.32
darkstar login: _

Jetzt mußt Du "root" eingeben, gefolgt von dem Passwort, welches Du während der Installation bestimmt hast.

Danach wird man etwa einen solchen Prompt sehen:

root@darkstar:~# _

Was jetzt?


Diese Möglichkeiten bietet Dir Linux

Nachdem Du diesen Bildschirm gesehen hast, wirst Du Dich fragen, was der ganze Aufwand bringt. Zunächst präsentiert sich Linux dem Benutzer weder mit einer schicken Windows, Umgebung noch irgendeinem graphischem Interface. Der schnellste Weg zu der "heimischen Windows Umgebung" für Linux führt über das Kommando: startx

Ich setze jetzt voraus, daß die Parameter für die Grafikkarte während der Installation richtig eingestellt wurden. Wenn nicht, wird startx wahrscheinlich eine Fehlermeldung ausgeben.

Der nächste Schritt wird sein, etwas Produktives aus all dieser Mühe hervorzubringen. Der Leser könnte einige der Funktionen aus dem Star Office Paket auszuprobieren. Es ist ein Office Paket wie das von Microsoft mit einer vielzahl von Hilfsmitteln. Verschiedene Artikel in diesem Magazin stehen hilfreich zur Seite, wenn es darum geht, wie man Star Office installiert oder was man damit machen kann. (text processor, presentation creation) Eine kostenlose Demo-Version von StarOffice ist auf http://www.stardivision.com/ verfügbar. Die enthaltenen Funktionen erfüllen die meisten Ansprüche, die ein Durchschnittsanwender stellt.

Jede anständige Linux Distribution beinhaltet jede Menge an sehr interessanter und leistungsfähiger Software, wie zum Beispiel:

Abseits dieser allgemeinen Hilfsmittel gibt es viele hochspezialisierte Werkzeuge für die Entwicklung, CAD, mathematische Analysen, wissenschaftliche Anwendungen, usw..

Viele von ihnen arbeiten unter dem X-Window System, aber andere benutzen die Kommandozeile (Shell), welche man beim Systemstart antreffen kann. Linux hat diese Kommandozeile wie jedes andere Unix, weil man mit ihr eine große Anzahl von Aufgaben effizient erledigen kann ohne, daß man den Windows Overhead braucht. Für einige Aufgaben ist die Shell sogar eine effizientere Umgebung.


Grundlagen der Systemadministration

Jeder Computer Benutzer sollte jederzeit mit den Inhalten seiner Festplatte vertraut sein und administrative Aufgaben über die installierten Pakete hinaus erledigen können. Der System-Prompt ist dafür nützlicher und flexibler als die normale grafische Umgebung.

Von jetzt an setzen wir voraus, daß Du etwas Ahnung von DOS hast, bzw. einem anderen Betriebsystem mit einer ähnlichen Shell.

Das Linux-System ist in Dateien geordnet. Die Dateitypen werden im folgenden aufgezählt:

Normale Dateien:
beinhalten die Daten die bei der gewöhnlichen täglichen Arbeit gespeichert werden.
Verzeichnisse:
sind Dateien die wie Verzeichnisse arbeiten, sie enthalten andere Dateien oder Verzeichnisse, die zusammen eine hierarchiche Struktur bilden.
Links:
eine Datei hat möglicherweise verschiedene Namen oder es kann aus verschiedenen Verzeichnissen auf sie zugegriffen werden. Links kann man als Referencen oder als "shortcuts" zu anderen Dateien betrachten.
Devices:
dies sind Dateien, die eine Verbindung zu einem Stück Hardware des Computers darstellen (Bildschirm, Diskettenlaufwerk, Festplatte, CD-ROM, usw..). Wenn ein Programm ein Device benutzen will, kann es das über diese Dateien machen.
Pipes und stacks:
sind spezielle Dateien, die zur Kommunikation zwischen Programmen benutzt werden.

Wenn Du jetzt das Kommando pwd eingeben, wirst Du folgende Ausgabe erhalten:

/root

Dies ist das Verzeichnis, in dem Du Dich momentan befinden, es ist das home Verzeichnis des Superusers. Als nächstes wechseln wir in das root Verzeichnis - das Wurzelverzeichnis, welches alle anderen Verzeichnisse beinhaltet - mit dem Kommando: cd /

Und jetzt schauen wir, was es dort alles gibt. Dazu benutzen wir das Kommando, welches den Inhalt von Verzeichnissen auflistet: ls

# ls
dev          home        lost+found      root
var          bin         dosc            mnt 
sbin         boot        etc             tmp
lib          proc        usr

Alle diese Verzeichnisse erfüllen im UNIX Dateisystem einen Zweck:

Verzeichnis Funktion
dev Beinhaltet alle device Dateien.
home Dies ist das übergeordnete Verzeichnis für alle Benutzer-Accounts. Linux erlaubt, daß mehrere Benutzer zur gleichen Zeit auf dem selben Computer arbeiten ohne sich in die Quere zu kommen (Linux ist ein echten Multi-User Betriebssystem). Ein neuer Benutzer-Account kann mit dem folgenden Kommando angelegt werden: adduser [Benutzername] (Wobei der Benutzername jeder beliebige Name sein könnte, z.B. bob ). Ich würde vorschlagen, einen Benutzer für gewöhnliche Aufgaben anzulegen und nur administrative Aufgaben als Root zu erledigen, da man als Root zum Beispiel aus versehen die ganze Platte löschen könnte, während dies als normaler Benutzer (sagen wir für Bob) unmöglich ist.
lost+found Vielleicht hast Du schonmal die Norton Utilities benutzt, um defekte Cluster auf der Platte wiederherzustellen. Nicht mehr nötig. Wenn die Platte teilweise defekte Blöcke hat und der Wiederherstellungsprozeß nicht herausfinden kann, wohin diese Teile gehören, dann wandern sie nach lost+found.
root Das ist das Arbeitsverzeichnis des Superuser (Root), genauso wie es /home/bob zum Beispiel für den normalen Benutzer bob ist.
var Beinhaltet eine große Menge an temporären Dateien, in denen System-Meldungen, die Mails der Benutzer, Druckaufträge, usw... gespeichert werden.
bin Dieses Verzeichnis enthält die wichtigen System-Kommandos.
dosc Unter diesem Verzeichnis (das in Deinem System möglicherweise einen anderen Namen hat) findet man die Windows (bzw. MSDOS) Partition (falls Du ein hast).
mnt Dies ist ein leeres Verzeichnis, das benutzt werden kann, um dort andere Festplatten oder sonstige Medien einzubinden. Der Vorgang des Einbindens wird als mounten bezeichnet. Um auf den Inhalt einer CD über /mnt zuzugreifen, benutzt man den Befehl mount -t iso9660 /dev/cdrom /mnt.
sbin In diesem Verzeichnis befinden sich wichtige Kommandos für die Systemadministration. Sie sollten mit Vorsicht ausgeführt werden und aus Sicherheitsgründen auch von normalen Benutzern nicht verwendet werden.
boot In diesem Verzeichnis befindet sich der Kernel und Dateien für Lilo, den Boot loader. Einige Distributionen benutzen auch das Verzeichnis / für den Kernel.
etc Dieses Verzeichnis enthält Dateien für die Systemkonfiguration. Viele der Dateien werden beim Booten und Einloggen gebraucht. (entspricht etwa den Dateien CONFIG.SYS, AUTOEXEC.BAT, WIN.INI,... unter DOS)
tmp Viele Programme benutzen dieses Verzeichnis für temporäre Dateien oder irgendwelchen Müll. Einige Systeme löschen das Verzeichnis automatisch während des Bootens.
lib Hier befinden sich die wichtigsten Bibliotheken (Libraries). Linux ist ein System, das Speicherplatz spart, indem es gemeinsam benutzten Programmcode zwischen verschiedenen Programmen teilt. Auf dieses Art wird nur eine Kopie dieses gemeinsam genutzten Codes gebraucht.
proc Dies ist ein Verzeichnis mit virtuellen Dateien. Diese Dateien sind ein Spiegel von Programmen die zur Zeit im Speicher laufen. Programme wie ps, top oder kill holen sich hier Informationen. Hier befinden sich auch viele Dateien, die Auskunft über die Hardware geben (Chipsatz, CPU, PCI Bus...).
usr Hier befinden sich alle Applicationen, Documentaion und weitere Libraries in /usr/lib

Einige grundlegende Befehle

Linux ist grundsätzlich ein Betriebssytem, welches es vorzieht, über die Kommandozeile mit dem Benutzer zu kommunizieren, ungeachtet der Existenz einer graphischen Umgebung, also X. (weiter oben haben wir gesehen, daß man sie mit startx startet.) Wenn man sich als Benutzer eingeloggt hat, wird man augenblicklich mit einer Eingabeaufforderung konfrontiert, ähnlich der folgenden:

root@darkstar: ~# _

also eine typische Kommando Interpreter Umgebung. Das Format der Eingabeaufforderung kann nach den Wünschen des Benutzers konfiguriert werden. In unserem Beispiel wird vor dem "@" der Benutzer angezeigt (root ) und darkstar stellt den Hostname des Systems dar. Das Zeichen "~" steht letztendlich dafür, daß sich der User in seinem home Verzeichnis befindet, hier in diesem Fall, da der Benutzer root ist, ist es das Verzeichnis /root (normalerweise /home/Benutzername). Das "#" zeigt an, daß dieser spezielle Account Super-User Rechte besitzt. Dem Benutzer steht es jetzt frei, beliebige Kommandos einzugeben. Zum Beisiel:

root@darkstar:~# ls -l bobby_

In diesem Beispiel können wir sehen, daß der Benutzer ein Kommando eingegeben hat, das aus dem Befehl ls und der Option -l sowie dem Parameter bobby besteht. ls ist der List-Befehl. Wenn der Benutzer Enter drückt, werden Informationen über die Datei bobby aufgelistet (falls es sie gibt). Es sind Informationen wie Größe, Zeitpunkt der letzten Änderung und einige andere Informationen die wir später genauer kennen lernen.

Üblicherweise sind Befehl, Optionen und Parameter durch Leerzeichen getrennt.

ls -l -a bobby

Optionen können aber auch zusammengefaßt werden:

ls -la bobby

Wenn mehr als ein Dateiname als Zielobjekt spezifiziert werden soll, dann müssen diese auch durch Leerzeichen getrennt werden:

ls bobby joe maria

Dieser Befehl wird die Dateien bobby, joe und maria ohne Detailinformation anzeigen. Um Detailinformationen zu erhalten, kann man wie oben die Option -l angeben:

ls -l bobby joe maria


Wo kann man mehr Informationen finden?

Linux hat reichlich Online-Informationen, die dokumentieren, wie das System zubenutzen ist. Wenn man den Namen eine Kommandos kennt und wissen will, wie man es benutzt, versucht man einfach:

man [command]

Das wird ein Handbuchseite für den gewünschten Befehl anzeigen. Es gibt Handbuchseiten (manual pages) für fast alle Systembefehle. Um mehr über das Komanndo man zu erfahren, tippt man einfach man man. Es ist nicht nötig sich all die Verschiedenen Optionen eines Unix Befehls zu merken, da man sie jederzeit per man-page nachschlagen kann.

Handbuchgseite des Befehls man: man man

Kennt man nur das Thema oder ein Schlüsselwort, so kann man es mit apropos probieren:

apropos [subject]

Dies wird eine Liste aller Befehle, die zu diesem Thema gehören, anzeigen.

Einige Befehle zeigen eine kurze und genaue Beschreibung ihrer Optionen wenn der Befehl mit der Option --help ausgeführt wird. Beispiel:

ls --help

Wenn die Ausgabe mehr als eine Bildschirmseite füllt, dann ist das kein Grund zur Sorge. Einfach Bild-auf/Bild-runter Tasten benutzen.

Die meisten Linuxdistributionen kommen mit einer Menge Dokumentation über die verschiedensten Programme. Diese Dokumentation ist unter /usr/doc zufinden. Um Informationen über tetex zu lesen, geht man z.B einfach in dieses Verzeichnis und tippt more tetex. Die meisten dieser Dateien sind im ASCII Format.

Es gibt moch mehr. Die info Seiten des GNU Projektes können recht einfach mit dem Editor emacs gelesen werden, wenn man die Tastenfolge [Control+h][Control+i] tippt.

Im Web gibt es natürlich auch jede Menge Informationen:

http://slug.ctv.es
http://www.linux.org
http://www.cs.us.es
http://www.redhat.com
http://www.debian.org

Es gibt auch Newsgroups in denen Linux-Themen ausgedehnt diskutiert werden:

news:es.comp.os.linux: Spanische Group
news:comp.os.linux.software: für Fragen zu Software
news:comp.os.linux.hardware: für Fragen über die Konfiguration von mancher Hardware
news:comp.os.linux.development: Fragen über die Programmierung unter Linux

Außerdem gibt es den #linux irc-Kanal


Dateimanipulation mit einfachen Befehlen

Wer DOS kennt wird sich an die Befehle dir, cd, rd, md und einige andere erinnern. Hier werden wir ähnliche Befehle zur Dateimanipulation kennenlernen. Es gibt immer die möglichkeit mit dem Befehl man kommando details zu erfahren.

ls: Liste den Inhalt eines Verzeichnises

Wir haben ls schon vorher kennengelernt. Jetzt wollen wir uns diesen Befehl genauer ansehen:

Der Befehl ls mit der Option -l:


$ ls -l 
drwxr-xr-x   3 fenix  fenix     1024 Jun 15  1997 Calendar 
drwx------   5 fenix  fenix     1024 Nov  6 19:35 Desktop 
drwx------   2 fenix  fenix     1024 May 16  1997 Mail 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 X11 
lrwxrwxrwx   1 root   root        11 Mar 13 20:53 ada -> private/ada 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 bin 
lrwxrwxrwx   1 root   root         9 Mar 13 20:53 c -> private/c 
-rw-------   1 fenix  fenix   868352 Apr  7 21:19 core 
lrwxrwxrwx   1 root   root        12 Mar 13 20:53 lisp -> private/lisp 
drwx------   2 fenix  fenix     1024 Jun 13  1997 mail 
-rw-rw-r--   1 fenix  fenix      302 Apr  7 20:30 mine.bmp 
drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 mydocuments 
drwxr-xr-x   2 fenix  fenix     1024 Nov  6 18:59 nhs 
drwx------   2 fenix  fenix     1024 Mar 12 18:05 nsmail 
drwxrwxr-x   2 fenix  fenix     1024 Feb 17 21:27 odd 
drwxrwxr-x   8 fenix  fenix     1024 Mar 12 23:04 private 
lrwxrwxrwx   1 root   root        14 Mar 13 20:53 prolog -> private/prolog 
-rw-r--r--   1 fenix  fenix    23051 Jan 27 21:14 system.fvwm2rc 
drwxrwxr-x   4 fenix  fenix     1024 Mar 22 15:36 tmp 
lrwxrwxrwx   1 root   root        11 Mar 13 20:53 www -> private/www 
-rwxr-xr-x   1 fenix  fenix     1239 Nov  6 19:46 xinitrc.bak

Die Option -l produziert ein langes Listing mit einer Menge Informationen. Wir können 6 Felder unterscheiden:

Das erste Feld gibt Auskunft über die Zugriffsrechte (permissions). Das Feld besteht aus 10 einzelnen Zeichen, die sich in 3 Gruppen mit 3 Buchstaben und dem ersten Buchstaben aufteilen lassen.

Der erste Buchstabe gibt Auskunft über den Dateityp:

- gewöhnliche Datei
d Verzeichnis
l Verweis (Link)
c Spezielle Devicedatei, zeichenbasiert (character oriented): Das bedeutet, daß man Informationen nur byteweise lesen und schreiben kann und man die gleichen Information kein zweites Mal erneut lesen kann.
b Spezielle Devicedatei, blockbasiert: Hier ist wahlfreier Zugriff erlaubt (z.B bei der Festplatte).
p Pipes
f Stacks

Die restlichen Buchstaben legen fest, wie und von wem die Datei gelesen werden kann. Man kann die 9 Buchstaben in 3 Teile aufteilen. Die ersten drei zeigen, welche Rechte der Eigentümer hat. Die nächsten 3 zeigen die Gruppe (ein Benutzer kann zu einer Gruppe gehören und mit ihr Dateien teilen. Das dritte Tripel zeigt die Rechte der restlichen Benutzer (world) an).

Jedes 3 buchstabige Tripel kann aus folgendem bestehen:

Der erste Buchstabe eines Tripels:
- Datei oder Verzeichnis nicht lesbar.
r lesbar (readable)
Der zweite Buchstabe eines Tripels zeigt:
- Nicht schreibbare Datei oder Verzeichnis aus dem nichts gelöscht werden kann.
w schreibbar (writeable)
Der dritte Buchstabe:
- Datei nicht ausführbar oder Verzeichnis nicht begehbar (man kann mit dem Befehl cd nicht in das Verzeichnis gelangen)
x ausführbar/begehbar
s Dieses Attribut macht nur Sinn bei ausführbaren Dateien. Wenn solch eine Datei (Programm) ausgeführt wird, wird sie mit den Rechten des Dateieigentümers ausgeführt wird und nicht mit den Rechten des Benutzers. Dieses ist ein sehr fortgeschrittenes Attribut und für den Anfang nicht wichtig. Der Name diese Attributes ist "SetUID".

Der Eigentümer oder root kann die Rechte einer Datei mit dem Befehl chmod ändern. Dazu später mehr.

Das nächste Feld ist die Anzahl der Links, die auf eine Datei zeigen.

Das nächste Feld zeigt den Eigentümer der Datei.

Das vierte Feld gibt die Gruppe an, welche Zugriff auf die Datei hat. Jedes Gruppenmitglied kann entsprechend den Gruppenrechten (zweites Tripel) auf die Datei zugreifen.

Das 5. Feld in einem ls -l Listing gibt uns die Dateigröße in Bytes an.

Das 6. Feld den Zeitpunkt der letzten Änderung.

Im letzten Feld steht der Dateiname. Wenn es ein Softlink ist, dann wird er als -> [source] angezeigt.

Es gibt auch versteckte Dateien unter Linux. Diese beginnen mit einem Punkt (.) als ersten Buchstaben im Dateinamen.

Versteckte Dateien kann man mit der Option -a anzeigen:

$ ls -a 
.profile    .bash_profile     .bashrc    .xinitrc 
mime.bmp    misdocumentos

cp: Dateien kopieren

Mit diesem Befehl können eine oder mehrere Dateien kopiert werden.

cp [file(s)] [target]

Wenn target keine Verzeichnis ist, das existiert, dann wird angenommen, daß man die Datei mit einem neuen Namen duplizieren möchte.

mv: Datei verschieben

mv ist "MoVe". Mit diesem Befehl kann man Dateien verschieben oder umbenennen.

mv [file] [target]

Wenn target kein existierendes Verzeichnis ist, dann wird angenommen, daß man die Datei umbenennen möchte.

cd: Verzeichnis wechseln (change directory)

Dieser Befehl ist fast identisch zu dem gleichnamigen DOS Befehl. Es gibt jedoch einige kleine Unterschiede:

cd ohne Argument bringt einen in sein Arbeitsverzeichnis. (Meist /root für Benutzer root und /home/<Login name> für andere Benutzer.)

Man kann hier sehen, daß die Pfadstriche von unten links nach oben rechts gehen. (anders als in DOS).

/home/<Login name> kann durch ~ ersetzt werden. cd ~pepe bringt einen also nach /home/pepe.

mkdir: Neues Verzeichnis erstellen (make directory)

mkdir directory-name erzeugt ein neues Verzeichnis mit dem Namen directory-name.

rmdir: Ein leeres Verzeichnis löschen

Wenn man ein Verzeichnis löschen will, das keine Dateien enthält, benutzt man rmdir [Verzeichnisname]. Will man hingegen ein Verzeichnis samt Unterverzeichnisse und Dateien löschen, so kann man das am einfachsten mit rm -r erreichen.

rm: Dateien löschen

Löscht jede Art von Dateien mit rm [Dateiname].

Wichtige Optionen zu rm sind:
-i rm verlangt eine Bestätigung bevor es eine Datei löscht.
-r löscht ein Verzeichnis mit dem gesamten Inhalt. (recursive)
-rf löscht ein Verzeichnis mit Inhalt, ohne daß irgendeine Bestätigung nötig ist.

ln: Verweise (Link) auf andere Dateien erzeugen

Linux erlaubt, daß ein und die selbe Datei über mehrere Namen angesprochen werden kann. Diese Links (Verweise) können auch von anderen Verzeichnissen aus auf eine Datei zeigen. Es gibt zwei Arten von Verweisen:

Hard Links werden mit:
ln [source-files] [target-file]
gesetzt and symbolic Links mit:
ln -s [source-files] [target-file]

cat: Dateiinhalt ausgeben

Dieser Befehl gibt den Inhalt einer oder mehrerer Dateien auf dem Bildschirm aus. Er kann dazu benutzt werden, um aus mehreren Dateien eine große Datei zu machen. (Daher der Name: conCAT)

cat file(s)

more: Datei seitenweise anzeigen

Der Befehl more datei.txt gibt die Datei datei.txt seitenweise aus.

more ist interaktiv und unterstützt die folgenden Tastenkombinationen:

Taste Funktion
spacebar
eine Seite weiter
b eine Seite zurück
return eine Zeile weiter
/[string] sucht das nächste Vorkommen von string in der Datei
?[string] sucht das vorherige Vorkommen von string in der Datei
q beenden

Es gibt auch ein äquivalentes aber viel fortschrittlicheres Programm names less.

chmod: Zugriffsrechte ändern (change file mode)

Mit diesem Befehl kann man die Zugriffsrechte ändern. Ein normaler Benutzer kann nur die Rechte von Dateien (und Verzeichnissen) ändern, die ihm auch gehören. Root kann die Rechte jeder Datei ändern. Die Syntax von chmod ist:

chmod who+/- new-permissions file

Der who Parameter kann folgende Werte haben:

Who Description
u Eigentümer (user)
g Gruppe, der die Datei gehört (group)
o Andere (others)
a Alle (user + group + others)

Mit + fügen wir Rechte hinzu und mit - entfernen wir sie.

Mit dem new-permissions Parameter wird angegeben, welche Rechte hinzugefügt oder entfernt werden. Das sind die gleichen Buchstaben, die ls -l an zeigt. (r:read , w:write, x:execute or visit, s:SetUID)

Hier ein Beispiel, um klarzumachen, wie es funktioniert:

chmod u+rw my.txt

Hiermit geben wir dem Eigentümer (Dir) Schreib- und Leserechte für die Datei my.txt.

chmod a-x directory

Hiermit nehmen wir allen Benutzern (inklusive Dir selbst) das Recht dieses Verzeichnis zu besuchen (hinein cd-en).

chmod hat noch weitere fortgeschrittene Optionen. In der Handbuchseite sind sie beschrieben:

man chmod


Wildcards

Mit Wildcards kann man Befehle auf eine Reihe von Dateien und Verzeichnissen anwenden.

Der Stern * selektiert eine beliebige Zeichenfolge mit null oder mehr Zeichen:

rm *

Enfernt alle Dateien im augenblicklichen Verzeichnis

rm a*

Enfernt alle Dateien, die mit dem kleinen Buchstaben a beginnen. (Dieses ist anders als bei DOS, wo der Stern einen Punkt nicht selektiert.)

rm bet*as

Entfernt alle Dateien, die mit bet beginnen und in as enden.

? : genau ein beliebiges Zeichen

cat c?t

Selektiert z.B Dateien wie cut, cit, c.t,... u.s.w. Namen die aus 3 Zeichen bestehen, mit c beginnen und in t enden.

[Menge]: Eines der Zeichen aus einer Menge von Zeichen

more [tp]erez

Zeigt die Dateien terez und perez falls diese existieren.

cp c[AEU]endo directory

Kopiert die Dateien cAendo, cEendo, cUendo in das Verzeichnis directory.

Mit "-" kann man einen Bereich einer Menge auswählen:

mv *[a-z] trash

Verschiebe alle Dateien und Verzeichnisse, die mit einem Kleinbuchstaben enden, in das Verzeichnis trash.

Man kann Bereiche auch ausschließen:

ls [!a-zA-Z]*

Alle Dateien auflisten, die nicht mit einem Buchstaben beginnen.

Ausgabe-/Eingabeumleitung

Linux ist aus verschiedenen Gründen sehr leistungsfähig, aber einer der wichtigsten Gründe, warum gerade die Kommandozeile unter Linux gerne benutzt wird, ist die Ausgabe-/Eingabeumleitung (redirecting).

Mit Ausgabeumleitung kann man die Ausgabe eines Befehls als Eingabe eines anderen benutzen, oder die Ausgabe in Dateien umleiten.

>Ausgabeumleitung in eine Datei

Mit dem Zeichen > kann man die Ausgabe eines beliebigen Befehls in eine Datei umleiten.

cal > this_month

Die Ausgabe des Befehls cal wird in die Datei this_month umgleitet.

< Eingabeumleitung

Mit diesem Zeichen liest ein Befehl Zeichen nicht über das Terminal, sondern aus einer Datei.

mail mark@marks.com < letter

Hiermit schicken wir die Textdatei names letter an mark@marks.com

>> anfügen

Hiermit wird die Ausgabe eines Befehls an eine Datei angehängt ohne ihren bisherigen Inhalt zu überschreiben.

cat file1 file2 file3 >> total-file

Wir fügen zuerst die Datei file1 an total-file an (total-file wird erzeugt falls es noch nicht existierte), dann fügen wir file2 hinzu und schließlich file3. Wir haben also file1, file2 und file3 zu einer großen Datei verkettet (concatenate).

|: Pipe

Das Pipe Zeichen (senkrechter Strich) nimmt die Ausgabe eines Befehls und benutzt sie als Eingabe eines anderen Befehls.

last | grep "mark"

last zeigt die Namen aller Benutzer, die zuletzt eingelogged waren. grep selektiert nur die Zeilen, die die Buchstabenfolge mark enthalten. Das Pipe Zeichen verbindet die beiden Befehle, so daß man sieht wann mark eingelogged war.

Texteditoren

Ein Texteditor ist nötig, um Programme zu schreiben, Konfigurationsdateien zu ändern und ein sehr wichtiges Werkzeug, um jegliche Art von ASCII Dateien zu editieren. Es gibt viele verschiedene Editoren unter Linux. Jeder hat hier wohl seinen eigenen Geschmack. Hier ist eine begrenzte Auswahl:

Hiermit beenden wir diesen Artikel. In dem nächsten Artikel dieser Serie werden wir die GNU File Utilities so wie einige weitverbreitete Editoren ( vi und joe) genauer betrachten.


Copyright notice: Total or partial copy of this article is allowed (without changes) always and when this copyright note be included and the following line corresponding to author data.

Manuel Muriel Cordero ist Student der Fakultät Informatik und Statistik in Sevilla (c) April 1998.

All trademarks reported in this article are property of their respective productive enterprises.


Aus dem Spanischen übersetzt von André Minelli.
Deutsche Übersetzung von Christian Leber und Guido Socher.

This website is mantained by Miguel Angel Sepúlveda
© Manuel Muriel Cordero 1998
LinuxFocus 1998