Linux
Programme und Prozesse
Bei einem Programm bzw. Kommando handelt es sich um eine ausführbare Datei. Prozesse laufen entweder im Vorder- oder Hintergrund. Durch den Parameter & werden sie im Hintergrund ausgeführt. Durch CTRL + Z wird ein Programm angehalten. Jeder Prozess hat eine eindeutige Nummer, die PID und eine Eltern PID. init ist das erste Programm, das nach dem Laden des Kernels ausgeführt wird. Prozesse haben einen Status: R Running S Sleeping T Stopped
Dämonen
Als Dämonen werden Hintergrundprozesse zur Systemverwaltung bezeichnet. Sie werden bereits während des Hochfahrens des Rechners im Rahmen des Init-V-Prozesses gestartet.
Cron
Cron ist ein Dämon zum automatischen Programmstart. Cron prüft jede Minute die crontab-Dateien und startet die dort angegebenen Programme. Die globale Konfiguration erfolgt über /etc/crontab. Bei fast allen gängigen Linux-Distributionen man die persönliche crontab verändern, indem man den Befehl crontab -e eingibt. Dann erscheint ein voreingestellter Editor (z.B vim) und zeigt u.U eine leere Datei, wenn noch keine crontab vorhanden ist. Die Datei einhält folgende Einträge in einer Zeile
| Minute | 0-59 |
| Stunde | 0-23 |
| Tag | 1-12 |
| Wochentag | 0-6, wobei 0 Sonntag ist |
| Befehl | <Befehl> <Argument> |
Mehrere Einträge werden durch ein Komma getrennt, * bedeutet egal
Hardware und Devices
Besondere Hardware wird ebenfalls als File behandelt und liegen unter /dev:
| /cdrom | CD-ROM-Laufwerk |
| /dsp* | Digital Sampling Device (Soundkarte) |
| /fd* | Floppy Disk |
| /hd<DiskLetter><PartitionNumber> | IDE Hard Disk |
| /sd<DiskLetter><PartitionNumber> | SCSI Hard Disk |
| /usb/* | USB Geräte |
Dateien und Verzeichnisse
Dateisysteme
NTFS
Die NTFS-Unterstützung ist bei den meisten Distributionen inkl. Suse mit dabei. Folgende Aktionen werden unterstützt:
- lesen
Folgende Aktionen werden nicht unterstützt:
- erzeugen
- löschen
- umbenennen
Dateinamen
Regeln zu Dateinamen:
- Unter Linux dürfen Dateinnamen maximal 255 Zeichen lang sein.
- Dateinamen sind case-sensitiv.
- Am besten beschränkt man sich auf ASCII-Zeichen, weil Umlaute, etc. vom aktiven Zeichensatz abhängen.
- Dateien, die mit einem Punkt beginnen, gelten als versteckte Dateien. Ansonsten hat der Punkt keine besondere Funktion.
- Dateinamen mit Leerzeichen müssen mit Hochkommatas eingegeben werden
Wildcards bzw. Jokerzeichen
Für die Auswertung der Jokerzeichen ist die verwendetet Shell zuständig.
| ? | ein belieges Zeichen |
| * | beliebig viele beliebige Zeichen |
| [abc] | genau eines der angegebenen Zeichen |
| [a-f] | genau ein Zeichen aus dem Bereich |
| [ |
====abc]\\[^abc]|keines der angegebenen Zeichen===={| border=1 cellpadding=2 cellspacing=0 |-
|~ |Home-Verzeichnis |-
|. |aktuelles Verzeichnis |}
Zugriffsrechte
Mit jeder Datei bzw. jedem Verzeichnis werden folgende Informationen gespeichert:
- Besitzer
- Gruppe
- neun Zugriffsbit (rwxrwxrwx für Read/Write/(Execute|Wechselerlaubnis) des Besitzer, aller Gruppenmitglieder, und den Rest der Welt)
- einige Zusatzbits für Spezialfunktionen
Dateitypen und Extensionen
| *.a | static library |
| *.so | shared library |
Verzeichnisse
Linux unterstützt verschiedene verschiedene Dateisysteme, insbesondere ext2. Der Verzeichnisbaum beginnt im Wurzelverzeichnis /. Das aktuelle Verzeichnis wird mit . bezeichnet. Das HOME-Verzeichnis mit ~.
Links
Links sind Verweise auf Dateien. Durch Links kann von verschiedenen Orten in der Verzeichnisstruktur auf dieselbe Datei zugegriffen werden, ohne dass die Datei physisch mehrfach vorliegen muss. Links werden am einfachsten über ls –l angezeigt. Intern verweisen sie auf einen sogenannten I-Node. Symbolische Links könne über Grenzen physikalischer Platten verweisen. Oft werden Programme über unterschiedliche Links gestartet, die dann unterschiedlich reagieren. Innerhalb des Programms wird der Aufrufname überprüft, und die Funktionalität davon abhängig gemacht.
Verzeichnisstruktur
In der Regel haben Linux-Systeme folgende Struktur (s. 1 S. 223):
| /bin | enthält alle Linux-Kommandos zur Systemverwaltung, die von allen Benutzern ausgeführt werden können (s. auch /usr/bin). |
| /boot | enthält alle Dateien, die zum booten notwendig sind |
| /dev | enthält alle Device-Dateien |
| /etc | enthält Konfigurationsdateiene für das ganze System. Die Dateien steuern das Hochfahren, die Tastaturbelegung… |
| /home | enthält die Heimatverzeichnisse aller Linux-Anwender. root hat sein Heimatverzeichnis in /root. |
| /lib | enthält einige gemeinsame Bibliotheken |
| /lost+found | ist normalerweise leer. Enthält es Dateien, dann handelt es sich um Fragmente, die beim Versuch, das Dateisystem zu reparieren nicht mehr zugeordnet werden konnten. |
| /media | Suse verwendet seit 7.2 media statt mnt. USB-Festplatten werden hier (zumindest wenn Sie nachträglich angeschaltet werden) gemountet. |
| /mnt | enthält alle Unterverzeichnisse wie cdrom oder floppy. In manchen System erfolgt die Einbindung auch direkt unter root. |
| /opt | enthält Zusatzpakete, die nachträglich installiert werden können. |
| /proc | enthält Unterverzeichnisse für alle laufenden Prozesse. |
| /root | enthält Dateien des Users root. |
| /sbin | enthält Kommandos zur Systemverwaltung |
| /share | enthält manchmal Dateien, die unabhängig vom Prozessor sind |
| /tmp | temporäre Dateien |
| /usr | es enthält alle Anwendungsprogramme, das X-System, die Quellocdes zu Linux, etc.. Alle Dateien sollten eigentlich read-only sein. Die Variablen Dateien sollten unter /var liegen. |
| /var | enthält veränderliche Dateien. |
Shells
Umgebungsvariablen werden mit einem $ präfixed. Ausgaben werden mit > umgeleitet. /dev/null stellt die Ausgabe im Nirwarna dar. Piping erfolgt durch |.
Shell Scripts
Ein Shell-Script ist also nichts anderes als eine Textdatei, in der Anweisungen für ein Programm, den Interpreter (bzw. die Shell) stehen. Die Script-Files müssen als executable (z.B. chmod 755) attribuiert sein.
Kommandos
Software-Installation
RPM
Software wird oft in Form von sogenannten Paketen zur Verfügung gestellt. Es gibt drei gängige Formate: das populärste von Red Hat entwickelte RPM-Format, das DEB-Format (Debian, etc.) und das TGZ-Format (Slackware). Zur Software-(De-)Installation kann man das Kommando rpm oder aber die Paketmanager der Distributionen (Red Hat: gnorpm, Mandrake: rpmdrake, SuSe: yast2) verwenden. Ein Linux Programm besteht aus einer Reihen von Dateien, die an den richtigen Ort kopiert werden müssen. Die erforderlichen Verwaltungsinformationen befinden sich im RPM-Paket. Sie helfen:
- automatisch Veränderungen in bestehenden Files vorzunehmen.
- alte Versionen zu ersetzen
- Prüfung, ob alle Voraussetzungen erfüllt sind.
Bei der Installation werden dies Informationen in eine Datenbank eingetragen (/var/lib/rpm). Die meisten Paketen bestehen aus zwei Dateien: binäre Dateien im Verzeichnis RPMS und die Quellen im Verzeichnis SRPMS. Die Filenames haben in der Regel folgende Konvention: <packagename>-<version>-<rpm release>.src.rpm
rpm <Options> <Packagename> | <Filename> | ftp://<FTPServer>/<Filename>
RPM Options
| entfernt ein Paket | ||
| s. –e | ||
| installiert das Paket am vorgegebenen Ort | ||
| s. –i | ||
| query | ||
| a [<Packagename>] | listet alle Pakete oder testet, ob das Paket installiert ist | |
| f <Filename> | gibt das Paket zu der Datei aus | |
| i <Packagename> | genaue Beschreibung des Pakets | |
| l <Packagename> | listet alle Dateien zum Paket | |
| p --requires <Packagename> | listet alle Pakete und Bibliotheken, die für ein Paket liefert | |
| p --requires <Packagename> | listet alle Pakete und Bibliotheken, die für ein Paket notwendig sind | |
| Installationsort | ||
| aktualisiert das Paket | ||
| s. –U | ||
| überprüft, ob irgendwelche Dateien der Originatinstallation verändert wurden |
TAR
tar komprimiert nicht, sondern packt nur zusammen. tar <Options> <Archivname> TAR Options:
| Inhalt des Archivs anzeigen |
| alle Dateien relativ zum aktuellen Verzeichnis installieren |
| in ein bestimmtes Verzeichnis installieren |
SAMBA
Samba Client
/etc/samba/smbclient //<IP-Adresse>/<ShareName> -U <User> fragt nach dem Passwort und öffnet quasi eine shell, z.B. smbclient //192.10.10.10/C$ -U pe10a/opda /etc/samba/smbclient -U <User> -L <IP-Adresse> fragt nach dem Passwort und zeigt alle Devices an.
Benutzer- und Gruppenverwaltung
Linux verwaltet Benutzer bzw. User. Es gibt drei Typen von Usern:
- Super-User alias Systemadministrator alias root (UID=0)
- normale User (1 < UID < 500>
- User für Domänen und Server-Dienste (499 < UID)
Die Liste aller User wird in der Datei /etc/passwd im Format login:password:UID:GID initial group:vollständigem Namen:Home-Verzeichnis:Shell gespeichert. Die UID dient zur Indentifizierung des Benutzers. Jeder User ist mindestens einer (initial bzw. primary group), möglicherweise aber mehreren Gruppen zugeordnet (supplement groups). Die Datei /etc/group enthält die Liste aller Gruppen im Format groupname:password:GID:user list. Die Angabe von usern in der user list ist nur dann notwendig, wenn die Zuordnung sich nicht aus /etc/passwd ergibt. Die Passwörter werden in der Datei /etc/shadow gespeichert.
Tools
Texteditor VIM
Vim entspricht dem VI. Texteingabe ist nur im Insert-Modus möglich. Die Eingabe der meisten Kommandos erfolgt im Complex-Command Modus, der mit : aktiviert wird.
| a | Insert-Modus nach dem Cursor |
| i | Insert-Modus vor dem Cursor |
| u | undo |
| ESC | Insert-Modus verlassen |
| :w <Name> | speichert den Text unter einem neuen Namen |
| :wq | speichert und beendet den vim |
| :q |
====|beendet den vim ohne zu speichern===={| border=1 cellpadding=2 cellspacing=0 |-
|:help |startet die Hilfe |-
|? oder / |Text rückwarts oder vorwärts suchen |-
|n |find again |}
lynx
Textbasierter Browser
W3M
w3m <URL>
Kommandos
| H | Hilfe Aufruf |
| rechte Maus | Kontext Menü |
WGET
Wget is a network utility to retrieve files from the Web using http and ftp, the two most widely used Internet protocols. It works non-interactively, so it will work in the background, after having logged off. The program supports recursive retrieval of web-authoring pages as well as ftp sites -- you can use wget to make mirrors of archives and home pages or to travel the Web like a WWW robot.
KDE
Bedienung
| ALT + F2 | Programm durch Eingabe eines Namens starten |
| CTRL + ALT + F1 | Wechsel in die erste Textkonsole |
| CTRL + ALT + F7 | Wechsel zu KDE-Desktop |
Programme
kate
Editor
kedit
Editor
konquerer
Konsole
KDE-Variante von xterm
ksysguard
stellt die Systemleistungen grafisch dar
kwrite
Editor
Tips und Tricks
Rename Files
mv <OldName> <NewName>
Distribution und Version/Release ermitteln
s. files /etc/issue oder /etc/*release
Kernelversion ermitteln
s. file /proc/version
Literatur
- Linux. Installation, Konfiguration, Anwendung; Michael Kofler;
- SuSE Linux. System und Anwendungen im Überblick; Karl Deutsch;