Jede(r) Benutzer(in) verfügt hierbei über sein/ihr eigenes "Home Directory", ein Verzeichnis, für persöhnliche Daten und Konfigurationen. Jeder User kann sich somit seine Arbeitsumgebung weitesgehend auf seine persöhnlichen Bedürfnisse anpassen, ohne dabei die anderen User zu behindern.
logname@hostname:verzeichnis >
Dies mag ein kleinwenig altertümlich erscheinen, insbesondere, wenn man graphische Benutzerschnittstellen mit Mausbedienung gewöhnt ist. Bei näherer Betrachtung entpuppen sich (durchdachte) CLI's (=Command Line Interface) allerdings als wesentlich mächtigere und flexiblere Werkzeuge als es GUI's (=Graphical User Interface) jemals sein könnten (mehr dazu später).
Links: Eine Sonderform der Dateien stellen die sogenannten Links dar. Ein Link stellt einen Querverweis im Dateisystem dar. Technisch gesehen bedeutet dies, daß mehrere Dateieinträge des Dateisystem auf ein und denselben Datenbereich verweisen. Links werden benötigt, wenn eine Datei unter mehr als einem Dateinamen zur Verfügung stehen, oder in mehr als einem Verzeichnis vorhanden sein soll.
Namenskonventionen für Dateinamen:
| Suffix | Bedeutung |
|---|---|
| .zip .gz |
Mit dem ZIP Algorithmus komprimierte Datei (Achtung: .gz und .zip sind nicht zueinander kompatibel) |
| .so | Shared Object - Enthällt Programmroutinen, die von mehreren Programmen verwendet werden können. |
| .h | Header Datei - Teil eines C Quellcodes |
| .c .cpp .cc |
C bzw. C++ Quelltext |
| .o | Object File - compilierter C (C++) Quellcode, kann mit anderen Object Files zu lauffähigen Programmen gelinkt werden. |
| .html | Hypertext Markup Language - Die Seitenbeschreibungssprache mit der die Dokumente im WWW geschrieben werden |
| .db | Datenbankdatei im DBASE Format |
| .sh | Shellscript (selten verwandtes Suffix) - siehe "Die Shell" |
| .pl | Perlscript (Interpretersprache), ähnlich dem Shellscript |
| .a | Vorgänger der Shared Object's |
| .gif .jpg .tiff .png .xbm .xpm |
Verschiedene Bildformate |
| .au .wav .mp3 .mod |
Verschiedene Audioformate |
| .rpm .tar .tgz .deb |
Verschiedene Packetformate. Packete enthalten per Packetmanager installierbare Software |
| .conf | Konfigurationsdatei (selten verwendetes Suffix) |
| .ps | Postscript - Eine Seitenbeschreibungssprache der Firma Adobe |
| .tex | LaTeX Datei, LaTeX ist ein Textsatzsystem, zur Erzeugung professioneller (Print-)Dokumente |
| .dvi | DeVice Independent - Übersetzte .tex Datei |
| Gerätedatei | Bedeutung | ||
|---|---|---|---|
| hda hdb hdc hdd |
|
||
| hda1 hda2 hda3 hda4 |
|
||
| sda | siehe hda, nur für SCSI Festplatten | ||
| ttyS0 ttyS1 |
Erste und zweite serielle Schnittstelle (COM1 und COM2 unter DOS) | ||
| audio dsp sndstat midi00 |
Zugriff auf die Soundblasterkarte | ||
| psaux | Zugriff auf die PS/2 Schnittstelle | ||
| lp0 lp1 lp2 |
Zugriff auf die paralele Schnittstelle |
Dies ist selbstverständlich nur eine kleine Zusammenstellung. Eine
vollständige Liste findet sich unter :
/usr/src/linux/Documentation/devices.txt
Verzeichnisse
Verzeichnisse sind Behälter für Dateien (sozusagen Dateien, die Dateien
enthalten). Ein Verzeichnis kann sowohl Dateien als auch weitere
Verzeichnisse enthalten. Verzeichnisse werden hierrarchisch unter dem
Wurzel (Root) Verzeichnis angeordnet. Das Rootverzeichniss wird durch
den Slash repräsentiert (unter DOS ist es der Backslash). Anders als
unter DOS gibt es unter Linux keine Laufwerksbuchstaben. Stattdessen
werden "Laufwerke" in den
Verzeichnissbaum
eingehängt.
Folgende Verzeichnisse haben (laut Filesystemstandard) definierte Bedeutung:
| Verzeichnis | Bedeutung |
|---|---|
| /bin | Enthält die wichtigsten Befehle zum Betrieb eines Linuxsystems. bin steht hier als Abkürzung für "binary". Unter UN*X ist es unüblich, Befehle direkt in die Shell einzubauen. Stattdessen werden sie typischerweise als externe Programme in Verzeichnisse gelegt, die bin genannt werden (es gibt mehrere solcher bin Verzeichnisse im System). |
| /boot | Enthält alles was zum booten benötigt wird (Kernel, System.map, Bootblöcke, etc.) |
| /dev | Enthält sämtliche Gerätedateien (devices). |
| /etc | Enthält systemweite Konfigurationen, sowie die Passwortdatenbank |
| /home | Unter /home liegen die persöhnlichen Verzeichnisse der Benutzer |
| /lib | Enthällt die wichtigsten Systembibliotheken. Eine Bibliothek (Library) ist eine Sammlung von Routinen, die in einzelnen Programmen verwendet werden können. Durch dieses Auslagern von Programmteilen kann Speicherplatz gespart werden, da ein und diesselbe Routine nicht mehrfach (für jedes Programm einzeln) auf der Festplatte/im Speicher vorhanden sein muß. |
| /lost+found | Bei einem Dateisystemcheck für beschädigt befundene Dateien werden hierhin verschoben (Dateien können z.B beschädigt werden, wenn das System unsachgemäß abgeschaltet wird). |
| /mnt | Universeller "Mountpoint". Dient als unspezifisches Verzeichnis zum (temporären) einhängen von Dateisystemen. |
| /opt | Komplette Programmpakete (z.B. Netscape, StarOffice oder KDE) werden hierhin installiert. |
| /proc | Die Dateien in diesem Verzeichnis geben Aufschluss über das laufende System (laufende Prozesse, Art und Zustand der Hardware, etc). Unter /proc befinden sich nur "virtuelle" Dateien, d.h. keine der Dateien in diesem Verzeichnis existiert wirklich auf der Festplatte. Sie werden vielmehr bei Bedarf erzeugt. Demzufolge benötigt auch keine der hier befindlichen Dateien wirklich Festplattenplatz (auch dann nicht, wenn eine Dateigröße angegeben ist) |
| /sbin | In diesem Verzeichnis befinden sich die wichtigsten Befehle, die der Administrator benötigt. |
| /tmp | Für temporäre Daten |
| /usr | Unter diesem Verzeichnis befindet sich fast alles, was das Basissystem zu einem "benutzbarem" System erweitert. |
| /var | Unter diesem Verzeichnis befindet sich alles, was häufigen Änderungen unterliegt, wie z.B. die Logfiles und die Spoolverzeichnisse für email und news. |
| /usr/X11 | Enthällt das X11 Windowsystem (mehr dazu im Abschnitt Das X Window System |
| /usr/doc | Sammlung von Dokumentationen verschiedenster Art. Unter diesem Verzeichnis findet sich eine Fülle von Informationen verschiedenster Art. |
| /usr/include | Header Dateien für C Bibliotheken. Das Entwicklungssystem ist sehr eng mit dem Betriebssystem verknüpft. Solange man sich nicht mit Programmentwicklung beschäftigt ist dieses Verzeichnis jedoch nur von beiläufigem Interesse |
| /usr/share | Alle Arten von Daten, welche von verschiedenen Benutzern benötigen werden könnten, wie z.B. Audiodateien, Bilder, Wortlisten für die Rechtsschreibkorrektur, o.ä. befinden sich hier. |
| /usr/local | Vorgesehen für lokal installierte, rechnerspezifische Software, die nicht über das Netzwerk verteilt werden kann (der Sinn dieses Verzeichnisses liegt in der Installation von Workstations, die über das Netzwerk booten). |
| /usr/man | Hier befinden sich die Manualpages - Manualpages stellen die Onlineversion des Handbuchs dar. |
| Einige Verzeichnisse mit spezieller/symbolischer Bedeutung | |
| ~ | repräsentiert das persöhnliche "Homedir" |
| / | repräsentiert das Wurzelverzeichnis |
| . | repräsentiert das aktuelle Verzeichnis |
| .. | repräsentiert das übergeordnete Verzeichnis (parentdir) |