LINUX LEATHERMANN. Grundlagen zum Dateisystem. Die Verzeichnisstruktur Linux-HOWTO: Linux Filesystem Hierarchy



Ähnliche Dokumente
ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Prozesse und Logs Linux-Kurs der Unix-AG

Windows Vista Security

Dokumentation IBIS Monitor

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Windows Server 2012 RC2 konfigurieren

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

CD einlegen (Moment warten) Die Aktion markieren, die durchgeführt werden soll. (in diesem Beispiel»Audio-CD-Wiedergabe)

Aufklappelemente anlegen

Finder > 'Programme' > 'Dienstprogramme' > 'Terminal'

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Artikel Schnittstelle über CSV

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Jederzeit Ordnung halten

Zwischenablage (Bilder, Texte,...)

Enigmail Konfiguration

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Medea3 Print-Client (m3_print)

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Installation DataExpert Paynet-Adapter (SIX)

Datensicherung. Beschreibung der Datensicherung

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Gruppenrichtlinien und Softwareverteilung

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Warenwirtschaft Handbuch - Administration

Installation / Update für die P aketdatenbank 1.x (Version )

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Prozesse und Logs Linux-Kurs der Unix-AG

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

NEUES BEI BUSINESSLINE WINDOWS

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Professionelle Seminare im Bereich MS-Office

GITS Steckbriefe Tutorial

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Datensicherung. Mögliche Vorgehensweisen:

Easy Share Anleitung. April 2016

Datenbanken Kapitel 2

Benutzerhandbuch - Elterliche Kontrolle

PowerMover. Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010

Easy Share Anleitung Februar 2014

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Anwender-Dokumentation. Update ATOSS WINDOWS. Versionswechsel innerhalb der V2.5

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Installation Messerli MySQL auf Linux

Handbuch. TMBackup R3

Anleitung Inspector Webfex 2013

Parks > Authorization Manager. Versionshinweise

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

Bereich METIS (Texte im Internet) Zählmarkenrecherche

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand:

Inkrementelles Backup

Computerstammtisch Tegernau, Tutorial Grundlagen, Dateioperationen, Datensicherung (Screenshots und Erläuterungen beziehen sich auf Windows 7)

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung

Globale Tastenkombinationen für Windows

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Tutorial -

4 Aufzählungen und Listen erstellen

TIF2ELO Maskeneditor Handbuch

Eigene Dokumente, Fotos, Bilder etc. sichern

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende s schneller verwaltet werden. Vasquez Systemlösungen

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Zahlen auf einen Blick

Bedienungsanleitung für BackupMotion

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Nutzung von GiS BasePac 8 im Netzwerk

BELIEBIG GROßE TAPETEN

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Verwalten und Organisieren von Fotos,

Stammdatenanlage über den Einrichtungsassistenten

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Elexis-BlueEvidence-Connector

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Primzahlen und RSA-Verschlüsselung

Webalizer HOWTO. Stand:

Betriebssysteme Arbeiten mit dem Windows Explorer

Abschluss Version 1.0

Doku zur Gebäudebrüter Datenbank

Installationsanleitung für OpenOffice.org Sprachpakete

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Update Messerli MySQL auf Linux

Durchführung der Datenübernahme nach Reisekosten 2011

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wiederherstellung des Systems

STRATO Mail Einrichtung Mozilla Thunderbird

Transkript:

Lang, Tobias Seite 1 LINUX LEATHERMANN Grundlagen zum Dateisystem Die Verzeichnisstruktur Linux-HOWTO: Linux Filesystem Hierarchy Anders als Windows mit seinen Laufwerkbuchstaben und Verzeichnissen sind unter Linux die Dateien ausschließlich in Verzeichnissen organisiert. Genau wie unter Windows gibt es hierbei solche, die im Wesentlichen dem System vorbehalten sind, sowie solche, die dem Anwender zur mehr oder weniger freien Nutzung zur Verfügung stehen. Übersicht Verzeichnis Bedeutung Wurzelverzeichnis der / Dateisystemstruktur /bin beinhaltet die in der Grundinstallation enthaltnenen Programme, die für die meisten User ausführbar sind /boot enthält die beim Systemstart geladene Grund-version des Betriebssystems User Alle Alle SU Verzeichnis Bedeutung /dev Systemverzeichnis, das einen Zugang zu den im Rechner enthaltenen physikalischen Gerä-ten wie Netzwerkkarte oder Festplatten über Datei- Operationen bietet /etc Hier liegen die Konfigurationseinstellungen der meisten der auf dem Linux-Rechner vorinstallierten Softwarepakete. /home Unterhalb dieses Directorys liegen die Stammverzeichnisse der auf dem Rechner angelegten Benutzerkonten. Hier finden sich auch die Daten der per ViSAS angelegten Domains. /lib Speicherort für die zur Funktion des Betriebssystems wichtigen Systembibliotheken /opt Hier finden sich optionale Pakete, die während der User System SU Alle SU Alle

/root /sbin /tmp /usr /var Grundinstallation des Systems eingerichtet wurden. Stammverzeichnis des Superusers ausführbare Programme, die dem Super-User vorbehalten sein sollten, globales Verzeichnis für temporäre Dateien globales Verzeichnis für Daten, die durch die Anwender erstellt wurden oder von diesen aus-führbar sind (siehe eigene Tabelle) globales Verzeichnis für sich ändernde Daten (siehe eigene Tabelle) Lang, Tobias Seite 2 SU SU Alle Alle Alle Im Directory /usr findet sich eine weiter verzweigte Struktur, die einer näheren Erläuterung bedarf. Ähnliches gilt für das Verzeichnis /var, in dem sich einige interessante Bereiche finden. Die Verzeichnisse unterhalb von /usr Wie der Name schon andeutet usr ist nichts anderes als eine Abkürzung von User finden sich in diesem Verzeichnis Dateien, die für die Anwender des Linux-Servers nützlich sind. Diese finden sich in mehreren Verzeichnissen, die sowohl direkt unter /usr wie auch unter /usr/local vorhanden sind. Der Unterschied besteht darin, dass die direkt unterhalb von /usr abgelegten Dateien während der Grundinstallation des Systems eingerichtet wurden, wohingegen die Verzeichnisse unterhalb von /usr/local die Dateien aufnehmen, die der Anwender zu einem späteren Zeitpunkt selbst einrichtet. Verzeichnis Bedeutung User /usr/bin von allen Benutzern ausführbare Dateien Alle /usr/lib Bibliotheken, die für die Alle Ausführung zusätzlich installierter Pakete notwendig sind /usr/sbin ausführbare Dateien für den Superuser SU /usr/share Gemeinsame Dateien installierter Pakete Alle /usr/local/bin ausführbare Dateien von Alle Programmpaketen, die vom Anwender manuell auf dem Server eingerich-tet wurden /usr/local/lib Bibliotheken von Programmpaketen, die vom Anwender manuell auf dem Server eingerichtet wurden Alle

/usr/local/sbin für den Superuser bestimmte ausführbare Dateien, die zu Programmpaketen gehören, die der Anwender manuell auf dem Server eingerich-tet hat /usr/local/share gemeinsame Dateien der vom Anwender manuell auf dem Server eingerichteten Programmpakete Die Verzeichnisse unterhalb von /var Lang, Tobias Seite 3 SU Alle Auch beim Verzeichnis /var ist der Name Programm: In der unter ihm angelegten Struktur finden sich vor allem variable Daten also Dateien, die sich während des kontinuierlich ändern. Dazu zählen Protokolldateien ebenso wie die Inhalte von Datenbanken oder auch die Mailbox-Daten der einzelnen User. Einige der wichtigsten aber bei weitem nicht alle Verzeichnisse finden Sie in der nachfolgenden Tabelle beschrieben: Verzeichnis Enthält /var/lib variable Dateien diverser auf dem Server laufender Applikationen /var/lib/mysql Hier finden sich die von MySQL verwalteten Datenbanken in jeweils eigenen Unterverzeichnissen. /var/lib/named beinhaltet die Informationen eines auf dem Server laufenden DNS- Servers globales Verzeichnis für allgemeine /var/log Protokolldateien /var/log/apache2 Hier finden Sie die Protokolldateien des Standard-Web-Servers /var/log/qmail Enthält den aktuellen Status des als Mail-Server eingesetz-ten Programms QMail Hier speichert ViSAS seine /var/log/visas Protokolldaten. Mount-Points: Ersatz für Laufwerke Wenn in Ihrem lokalen Rechner mehrere Festplatten eingebaut sind oder Sie Ihre Festplatte in mehrere Partitionen unterteilt haben, dann wissen Sie, dass Windows sowohl zusätzliche Festplatten wie auch unterschiedliche Partitionen über jeweils eigene Laufwerkbuchstaben anspricht. Da Linux keine derartigen Bezeichner kennt, muss es ein anderes Verfahren verwenden, um mehrere Festplatten oder Partitionen in das Dateisystem einzubinden. Die Lösung hat ebenfalls wieder mit den Verzeichnissen zu tun: Jedes Verzeichnis unter Linux kann nicht nur Daten aufnehmen. Zusätzlich ist es auch in der Lage, als so genannter Mount-Point was übersetzt so viel wie Einhängepunkt bedeutet zu fungieren. Damit ist auch schon klar, wie Linux zusätzliche Festplatten und Partitionen verwaltet: Sie werden einfach an beliebigen Punkten in das Dateisystem eingehängt. Das bedeutet, dass ein einfacher Verzeichniswechsel unter Linux dazu führen kann, dass Sie plötzlich auf einer ganz anderen Festplatte und eventuell sogar mit einem ganz anderen Dateisystem arbeiten.

Lang, Tobias Seite 4 Eingehängte Verzeichnisse erkennen Um ein echtes von einem eingehängten Verzeichnis zu unterscheiden, gibt es einen einfachen Trick: Jedes eingehängte Verzeichnis besitzt in seinem Wurzelverzeichnis ein Directory mit dem Namen lost+found. Sobald Sie dieses Verzeichnis entdecken, wissen Sie, dass Sie sich auf einem eigenen Datenträger befinden, der an der aktuellen Verzeichnisposition in das Dateisystem Ihres Servers eingehängt wurde. -------------------------------------------------------------------------------------------------------------------------- Extrakt BOOTEN des Systems HOWTO-Index: 4.1.6. Boot Loaders and Booting the OS /var/log/wtmp o Hier werden die Logins der Benutzer gespeichert mit Uhrzeit und Terminal des Logins o o Diese Datei kann mit last zu Analysezwecken ausgegeben werden. Mit last <username> werden nur die Logins des angegebenen Benutzers ausgegeben. /var/log/btmp o Hier werden fehlgeschlagene Logins protokolliert o Der Befehl zum Auslesen lautet lastb -------------------------------------------------------------------------------------------------------------------------- Bootprozess Der Linux Bootvorgang läuft folgendermaßen ab: LILO (oder ein anderer Bootloader) lädt den Kernel (das Linux). Gegebenenfalls wird über initrd eine Ramdisk installiert, die den Bootvorgang beschleunigt und dem Kernel ermöglicht, bereits vor Verfügbarkeit der Festplatte Kernelmodule hinzuzuladen. Das System verfügt zu diesem Zeitpunkt noch über kein beschreibbares Dateisystem auf der Festplatte, wo irgendetwas protokolliert werden könnte Erst wenn der Kernel den Rechner soweit initialisiert hat, dass Festplattencontroller, Partitionen und Dateisysteme erkannt sind, werden die Partitionen gemäß /etc/fstab gemountet und Systemdienste wie der syslogd gestartet. In den Bootmeldungen ist dies deutlich sichtbar. Damit wichtige Informationen zur Fehlerbehebung während der ersten Bootphase nicht verloren gehen, speichert der Kernel die Logmeldungen im Arbeitsspeicher zwischen. Das Programm dmesg (dump message) kann diese dort auslesen und anzeigen. Neuere Distributionen verfügen über ein Startskript, in dem das Programm dmesg aufgerufen und die Ausgabe nach /var/log/boot.log geschrieben wird. Dies geschieht jedoch nachträglich. Beim Booten muss das zu bootende Image als erster Parameter an den Bootloader übergeben werden. Auch wenn die Installation des Bootloaders LILO oder Grub den Konfigurationsprogrammen der Distributionen überlassen wird, hier ein einige Grundkenntnisse: Anders als LILO (direkte Sektoradressierung des Kernel-Images ohne Dateisystem) versteht Grub Dateisysteme und liest seine Konfiguration tatsächlich von der Platte aus.

Lang, Tobias Seite 5 Der große Vorteil ist, dass die Einstellungen auch am Boot-Prompt editierbar sind. Grub lädt seine Einstellung noch vor Start des Linux-Systems aus /boot. Die Kernelkonfiguartion befindet sich in /boot/grub/menu.lst -------------------------------------------------------------------------------------------------------------------------- GRUB Grub ist im Gegensatz zu Lilo in der Lage Dateisysteme zu lesen. Der Code im MBR lädt den Bootloader unterhalb von /boot/grub. Der Bootloader liest seine Basis-Konfiguration aus /etc/grub.conf und erstellt daraus das Bootmenü. Die Installation von Grub muss deshalb nur einmal mit grub-install geschrieben werden. grub-install gerätedatei Die angegebene Gerätedatei bezieht sich auf den Master Boot Record der ersten Platte, welches vom BIOS angesprochen wird. Die Konfigurationsdatei /boot/grub/menu.lst hat ein ähnliches Format wie bei lilo, unterscheidet sich im Detail jedoch erheblich. Eine einfache Konfigurationsdatei von grub könnte folgendermaßen aussehen: default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Linux (2.4.18) root (hd0,0) kernel /bzimage-2.4.18 ro root=/dev/hda3 initrd /initrd-2.4.18.img title Linuxalt (2.2.14) root (hd0,0) kernel /bzimage-2.2.14 ro root=/dev/hda3 initrd /initrd-2.2.14.img Die ersten drei Zeilen sind globale Einstellungen timeout=10 default=0 Timeout Wert in Sekunden für die manuelle Auswahl. Der erste Eintrag wird gewählt nach Ablauf des Timeouts. splashimage=(hd0,0)/grub/splash.xpm.gz Zu verwendendes Hintergrundbild. Die folgenden Abschnitte definieren die einzelnen Kernel-Images. Der Parameter root (hd0,0) ist nicht das Wurzelverzeichnis des Linux-Systems sondern der Ort, an dem die Kerneldateien und die Grubkonfigurationsdateien liegen. o o Der erste Wert bezieht sich auf die Festplatte (hd0 die erste, hd1 die zweite, usw.) Der zweite auf die Partition (0 ist erste Partition, 1 die zweite, usw.)

Lang, Tobias Seite 6 Rund um Dateien und Verzeichnisse Anzeigen von Verzeichnisinhalten, Wechsel von Verzeichnissen sowie Anlegen und Löschen von Dateien und Directorys. -------------------------------------------------------------------------------------------------------------------------- ls: Verzeichnisinhalte anzeigen ls [Optionen] [Filter] Wichtige Optionen: -l gibt eine ausführliche Liste des Verzeichnisinhalts aus -a zeigt auch versteckte Verzeichnisse an Eine der wichtigsten Informationen, die man über ein Verzeichnis auf dem Linux-Server erhalten möchte, ist in der Regel dessen Inhalt. Was unter Windows der Befehl dir leistet, erledigt unter Linux das Kommando ls, das vielfältige Parameter bietet. Seine einfachste Aufrufvariante ist ohne jeglichen Parameter, was eine vereinfachte, mehrspaltige Inhaltsliste des aktuellen Verzeichnisses ausgibt. Ohne Parameter aufgerufen liefert der Befehl ls eine mehrspaltige Liste der im aktuellen Verzeichnis vorhandenen Dateinamen. Nun ist diese Information oft nicht aussagekräftig genug. Um auch Informationen wie Größe der Dateien, ihren Besitzer und die jeweiligen Zugriffsrechte zu erhalten, benötigen Sie die Langform der Liste, die über den Parameter l abgerufen wird:

Lang, Tobias Seite 7. Um eine lange Inhaltsliste inklusive der versteckten Dateien zu erhalten, übergeben Sie dem Befehl ls einfach die beiden Optionen a und l. -------------------------------------------------------------------------------------------------------------------------- cd: Verzeichniswechsel Generelle Form: cd [Verzeichnis] Spezielle Verzeichnisnamen: cd -wechselt in das vor dem aktuellen zuletzt besuchte Verzeichnis cd ~ ( ohne Parameter) wechselt in das Heimatverzeichnis des Anwenders -------------------------------------------------------------------------------------------------------------------------- mkdir: Verzeichnisse anlegen Spezielle Optionen: mkdir [Optionen] [Verzeichnisname] -p legt alle auf dem Pfad zum

gewünschten Verzeichnis liegenden Directorys automatisch an, wenn diese noch Lang, Tobias Seite 8 -m nicht existieren erlaubt das Festlegen der Zugriffsrechte direkt beim Anlegen des Verzeichnisses Der Befehl mkdir kann aber noch mehr. Er ermöglicht es Ihnen, mehrstufige Verzeichnisebenen in einem Rutsch zu erstellen. Das funktioniert auch dann, wenn dazu mehrere der Zwischenebenen neu angelegt werden müssen. Der Schlüssel zum Erfolg ist der Parameter p, den Sie beim Aufruf mit übergeben. Dieser bewirkt, dass alle im Verzeichnispfad zum gewünschten Directory benötigten Unterverzeichnisse automatisch angelegt werden, falls sie noch nicht existieren. Zusätzlich haben Sie die Möglichkeit, beim Anlegen eines Verzeichnisses gleich die Zugriffsrechte festzulegen, die es erhalten soll. Dazu ist mkdir der Parameter m zu übergeben, gefolgt von der gewünschten Rechtekombination in Zahlennotation (siehe Kapitel 4.1.4): -------------------------------------------------------------------------------------------------------------------------- rmdir: Verzeichnisse entfernen rmdir: Verzeichnisse entfernen Grundlegende Form: rmdir (Optinon) Verzeichnisname Spezielle Option -p löscht auch alle im Pfad liegenden Elternverzeichnisse Der Befehl rmdir dient dem Löschen einzelner Verzeichnisse. Allerdings löscht rmdir Verzeichnisse nur, wenn diese leer sind. Sind in einem Verzeichnis aber Dateien oder weitere Verzeichnisse vorhanden, so verweigert rmdir die Arbeit. Verzeichnisse, in denen noch Dateien liegen, lassen sich mit rmdir nicht löschen. Handelt es sich bei den zu löschenden Daten ausschließlich um Verzeichnisse soll also ein ansonsten leerer Verzeichnisbaum entfernt werden, dann hilft die Option p weiter. Sie sorgt dafür, dass nicht nur das letzte im Pfadparameter übergebene Verzeichnis, sondern auch dessen Elternverzeichnisse gelöscht werden. Auf Wunsch löscht rmdir auch ganze Verzeichnisbäume. Lösch-Ergebnis überprüfen Auch mit dem Paramter p aufgerufen löscht rmdir nur leere Verzeichnisse. Haben Sie beispielsweise die Verzeichnisäste /test/eins/kannweg sowie /test/zwei/kannweg und löschen nun mit rmdir p /test/eins/kannweg, dann bleibt das Verzeichnis /test bestehen, da es ja auch noch das Directory zwei enthält, also nicht leer ist.

Lang, Tobias Seite 9 -------------------------------------------------------------------------------------------------------------------------- rm: Dateien und Verzeichnisse entfernen rm [Optionen] Dateifilter Spezielle Optionen: bewirkt rekursives Löschen in den -r Unterverzeichnissen des angegebenen Ziels -f löscht alle Daten ohne jegliche Nachfrage beim Nutzer Um Dateien zu löschen, verwendet Linux einen eigenen Befehl: rm. Auch seine Grundform ist recht einfach, als Parameter wird dem Kommando lediglich der Name der zu löschenden Datei übergeben. Dabei müssen Sie sich nicht in dem Verzeichnis befinden, in dem die zu löschende Datei abgelegt ist. Sie können den kompletten Pfad zur Datei angeben. Zwei besondere Parameter machen den Befehl rm gefährlich. Das gilt besonders, wenn Sie als Superuser root angemeldet sind. Zum einen erlaubt die Option r das rekursive Löschen aller Daten innerhalb von Verzeichnissen. Zum anderen lässt sich über die Option f jedwede Nach-frage beim Anwender ausschalten. In Kombination eine gefährliche Mischung, da ein Aufruf mit rf als Optionspaar das angegebene Ziel sofort und unwiederbringlich löscht. -------------------------------------------------------------------------------------------------------------------------- Die verschiedenen Anwendungsmöglichkeiten des Löschbefehls rm. Wildcards: Die Jokerzeichen des Dateisystems Die meisten mit Dateien arbeitenden Kommandos unter Linux unterstützen die Angabe von Wildcards im Namen der Zieldaten. Dabei handelt es sich um die Platzhalterzeichen '*' und '?'. Der Stern ist ein Platzhalter für beliebig viele Zeichen. Der Aufruf von rm test* würde also sowohl die Dateien test1, test_2 und test99 wie auch die Files test_fuer_den_ loeschbefehl und sogar test löschen. Wie das letzte Beispiel zeigt, kann ein Stern also auch für kein Zeichen als Platzhalter dienen. Das Fragezeichen wiederum stellt einen Platzhalter für genau ein Zeichen dar. Der Befehl rm test? würde daher lediglich die Datei test1 löschen, alle anderen aber nicht. Selbst die Datei test bliebe bestehen.

Lang, Tobias Seite 10 Dateien anzeigen, kopieren, verschieben und umbenennen Spezielle Optionen: -r -p cp [Optionen] Quelle Ziel kopiert rekursiv den Inhalt und alle Unterverzeichnisse eines Directorys behält beim Kopieren von Daten deren ursprünglichen Besitzer sowie die zugeordnete Gruppe bei Zum Kopieren einzelner Dateien sowie ganzer Verzeichnisbäume dient unter Linux der Befehl cp, eine Kurzform des englischen Worts copy. Ein wesentlicher Unterschied zu seinem Gegenstück unter Windows ist, dass cp stets die Angabe eines Ziels erfordert und nicht das Verzeichnis, in dem man sich gerade befindet, als Standardziel annimmt. Um beispielsweise die Datei php.ini aus dem Verzeichnis /etc ins gerade aktuelle Arbeitsverzeichnis zu kopieren, ist daher das Kommando cp /etc/php.ini. notwendig. Mittels cp lassen sich Dateien in quasi beliebige Verzeichnisse kopieren und gleichzeitig sogar umbenennen. Selbstverständlich ist es auch möglich, eine Datei in ein ganz anderes als das aktuelle Verzeichnis zu kopieren. In diesem Fall geben Sie einfach das gewünschte Zielverzeichnis als zweiten Parameter an. So kopiert der Befehl cp /etc/php.ini /tmp die Datei php.ini in das Verzeichnis /tmp. Han-delt es sich bei dem als zweiten Parameter angegebenen Wert nicht um ein Verzeichnis, sondern um eine Datei, oder ist das Ziel noch nicht vor-handen, so legt cp eine Datei mit dem angegebenen Namen an. Der Befehl cp /etc/php.ini /tmp/test.ini legt im Verzeichnis /tmp eine Datei mit dem Namen test.ini an, deren Inhalt dem der Originaldatei /etc/php.ini entspricht. Besitzer und zugeordnete Gruppe beibehalten Ein Nachteil dieser einfachen Form des Kopierens von Dateien ist, dass bei diesem Vorgang sowohl Besitzer wie auch zugeordnete Gruppe eines Files auf die Werte des Benutzers gesetzt werden, der den Kopiervorgang ausführt. Kopieren Sie also als Superuser root Dateien, dann ist die Wahrscheinlichkeit hoch, dass außer Ihnen später niemand mehr auf die Files zugreifen kann. Um dies zu verhindern, existiert die Option p, die bewirkt, dass beim Kopiervorgang der ursprüngliche Besitzer und die zugeordnete Gruppe erhalten bleiben. Um also beispielsweise aus dem Stammverzeichnis des Anwenders testuser die Datei datei.name ins aktuelle Arbeitsverzeichnis zu kopieren, ohne Besitzer und zugeordnete Gruppe zu ändern, lautet der Befehl wie folgt: Cp p /home/testuser/datei.name

Lang, Tobias Seite 11 -------------------------------------------------------------------------------------------------------------------------- Verzeichnisse oder deren Inhalte (rekursiv) kopieren Aber cp kann noch mehr. Auch das Kopieren ganzer Verzeichnisinhalte und sogar von Verzeichnisbäumen ist mit diesem Kommando realisierbar. Dabei müssen Sie allerdings genau darauf achten, welche Parameter Sie dem Befehl übergeben. Die folgenden Schreibweisen führen nämlich zu deutlich unterschiedlichen Resultaten: cp /etc /tmp cp /etc/* /tmp cp r /etc/* /tmp cp r /etc /tmp Die erste Version führt zu einer Fehlermeldung, da cp in diesem Fall zu wenig Informationen vorliegen, um den gewünschten Arbeitsmodus gesichert bestimmen zu können. Wie in der zweiten Zeile dargestellt aufgerufen kopiert cp alle Dateien nach /tmp, die sich direkt im Verzeichnis /etc befinden, nicht aber solche, die in weiteren Unterverzeichnissen von /etc vorhanden sind. Sollen auch diese Files mit übertragen werden, ist die Variante aus der dritten Beispielzeile zu wählen. Der Befehl in der letzten Beispielzeile schließlich bewirkt, dass in /tmp ein neues Verzeichnis mit dem Namen etc angelegt wird und erst in dieses die in /etc und darunter abgelegten files kopiert werden. In den letzten beiden Beispielen sehen Sie auch eine neue Option im Einsatz: -r. Sie bewirkt, dass nicht nur die im angegebenen Verzeichnis befindlichen Dateien, sondern auch die in eventuell vorhandenen Unter-verzeichnissen liegenden Files beim Kopiervorgang berücksichtigt wer-den. Dieses so genannte rekursive Kopieren erleichtert es erheblich, ganze Verzeichnisbäume zu duplizieren. Vertrauen ist gut, Kontrolle ist besser Gerade wegen seiner Flexibilität ist der Befehl cp nicht nur sehr mächtig; sein Einsatz führt auch oft zu anderen Ergebnissen als sie der Anwender eigentlich erwartet. Kontrollieren Sie daher zumindest in der Anfangsphase stets, ob der Kopiervorgang tatsächlich so verlaufen ist, wie Sie es geplant hatten. ------------------------------------------------------------------------------------------------------------------------- mv: Dateien und Verzeichnisse verschieben mv [Optionen] Quelle Ziel Spezielle Optionen: -b legt eine Backup-Kopie einer zu verschiebenden Datei an, sofern im angegebenen Zielverzeichnis bereits ein File gleichen Namens vorhanden ist Oft möchte man Daten nicht kopieren, sondern sie einfach an eine andere Stelle im Dateisystem verschieben. Dies lässt sich unter anderem über eine Kombination aus Kopier- und Löschvorgängen erreichen. Einfacher ist es allerdings, den dafür vorgesehenen Befehl mv, eine Kurzform von move, zu verwenden. Wie bei allen dateibezogenen Operationen ist auch hier die Grundform eine einfache Angabe von Quelle und Ziel als Parameter des Komman-dos. Genau wie beim Kopieren unterscheidet auch die Verschiebe-Operation zwischen einem bereits existierenden und einem nicht vorhandenen Ziel.

Lang, Tobias Seite 12 Zudem ändert sich die Arbeitsweise je nachdem, ob das Ziel eine Datei oder ein Verzeichnis ist. Es ergeben sich folgende Kombinationen: Datei? existierende Datei Existiert die angegebene Zieldatei bereits, so wird sie beim Verschiebevorgang mit der Quelldatei überschrieben. Das Original wird gelöscht. Datei? nicht existierende Datei Ist die angegebene Zieldatei nicht vorhanden, so wird sie mit den von Ihnen vorgegebenen Namen angelegt. Die Ausgangsdatei wird gelöscht. Datei? existierendes Verzeichnis Die Ausgangsdatei wird unter Beibehaltung ihres Namens in das angegebene Zielverzeichnis verschoben. Die Originaldatei wird gelöscht. Datei? nicht existierendes Verzeichnis Diese Kombination ist nicht möglich. Der Move-Befehl hat keine Möglichkeit zu entscheiden, ob es sich beim angegebenen Ziel um ein Ver-zeichnis oder eine Datei handeln soll. Da als Ausgangspunkt des Vor-gangs eine Datei angegeben ist, wird auch das Ziel als Datei angelegt. Verzeichnis? existierendes Verzeichnis Das Ausgangsverzeichnis wird inklusive seines Inhalts als neues Unter-verzeichnis des Ziel- Directorys angelegt. Das Original-Verzeichnis wird gelöscht. Verzeichnis? nicht existierendes Verzeichnis Das Ausgangsverzeichnis wird unter dem angegebenen Zielnamen ange-legt, die im Quell-Directory enthaltenen Dateien und Verzeichnisse ins Zielverzeichnis verschoben. Das Original-Directory wird gelöscht. Verzeichnis? vorhandene Datei Es leuchtet ein, dass diese Kombination nicht möglich ist. Theoretisch bestünde zwar die Möglichkeit, ein Directory anzulegen, das denselben Namen trägt wie die angegebene Zieldatei. Allerdings bietet das Dateisys-tem von Linux diese Möglichkeit nicht. Verzeichnis? nicht vorhandene Datei Da das Verschiebe-Programm selbstständig nicht erkennen kann, ob das angegebene Ziel ein Verzeichnis oder eine Datei sein soll, entscheidet es nach dem Quellparameter und legt ein Verzeichnis an. Einfaches Umbenennen (rename) per mv Der Move-Befehl kann auch dazu verwendet werden, einzelne Dateien umzubenennen. So ändert das Kommando mv datei.name neuer.name lediglich dazu, dass die bislang unter dem Namen datei.name abgelegte Datei nun den Namen neuer.name trägt.

Lang, Tobias Seite 13 ------------------------------------------------------------------------------------------------------------------------- chmod: Datei- und Verzeichnisrechte ändern Grundform: chmod [Optionen] [Rechte] Ziel Spezielle Optionen: -R setzt rekursiv die Rechte aller zum angegebenen Zielfilter passenden Dateien Rechte- Format: numerisch Die gewünschten Zugriffsrechte auf die Datei werden als Zahlenkombination angegeben. über Kürzel Die Zugriffsrechte werden über Kürzel mit vorangestell ten Vorzeichen gesetzt. Für jede Datei verwaltet Linux die Zugriffsrechte Lesen, Schreiben und Ausführen getrennt nach Besitzer einer Datei, der der Datei zugeordneten Gruppe sowie allen übrigen Anwendern. Sie können diese Rechte in der Langform der Ausgabe eines Verzeichnisinhalts sehen, die per ls l abrufbar ist. Zur nachträglichen Änderung der Zugriffsrechte auf eine Datei dient das Kommando chmod, ein Kürzel für Change Access Mode. Es lässt sich in zwei Varianten aufrufen. Im ersten Fall geben Sie die gewünschten Zugriffsrechte als Ziffernfolge an, die das gewünschte Ergebnis beschreibt. Dabei gilt folgende Zuord-nung zwischen gewünschtem Recht und der zugehörigen Zahl: Lesen 4 Schreiben 2 Ausführen 1 Eine Kombination aus mehreren Rechten erfolgt durch einfache Addition der jeweiligen Zahlen. Soll beispielsweise ein Lesezugriff und zusätzlich das Ausführen der Datei möglich sein, so ist der anzugebende Wert 4+1 = 5. Da die Werte für jede Gruppe anzugeben sind, würde der Befehl zum Set-zen von Lese- und Ausführen-Rechten auf die Datei datei.name wie folgt lauten: chmod 555 datei.name Der große Nachteil dieser Methode ist, dass sich mit ihrer Hilfe nicht gezielt einzelne Zugriffsrechte ändern lassen. Dieses Manko behebt die zweite Möglichkeit, die gewünschten Rechte anzugeben. Hierbei werden die einzelnen Rechte durch folgende Kürzel angegeben: Lesen r Schreiben w Ausführen x Das gewünschte Ziel spezifizieren Sie ebenfalls über ein Kürzel: Besitzer u Gruppe g Alle anderen o Das An- oder Abschalten erfolgt über ein dem Recht vorangestelltes Vor-zeichen. Ein Plus aktiviert das jeweilige Recht, ein Minus entfernt es. Um beispielsweise das Schreibrecht für den Besitzer zu setzen und allen ande-ren Benutzern das Leserecht zu entziehen, lautet das Kommando so: chmod u+w,o-r datei.name

Lang, Tobias Seite 14 Wollen Sie die Zugriffsrechte mehrerer Dateien auf einen Schlag setzen, dann verwenden Sie einfach die Platzhalterzeichen Stern * und Fragezeichen?. Zusätzlich können Sie sich der Option R bedienen. Sie bewirkt, dass die Zugriffsrechte aller passenden Dateien im aktuellen sowie den unter diesem befindlichen Verzeichnissen angepasst werden. ------------------------------------------------------------------------------------------------------------------------- chown: Besitzer und zugeordnete Gruppe ändern Grundform chown[optionen][besitzer][:gruppe] Ziel Spezielle Optionen: -Rändert rekursiv alle zur angegebenen Zieldefinition pas-senden Dateien im aktuellen Verzeichnis sowie dessen Unterverzeichnissen Spezielle Aufrufvarianten: Besitzer Um nur den Besitzer einer Datei oder eines Verzeichnis-ses zu ändern, geben Sie nur diesen an. :Gruppe Um lediglich die Gruppe zu ändern, der eine Datei zuge-ordnet ist, geben Sie den Namen der Gruppe mit einem vorangestellten Doppelpunkt an. Auch der Besitzer sowie die Gruppe, der eine Datei zugeordnet ist, lassen sich über ein eigenes Kommando ändern. Der Befehl chown, kurz für Change Owner, leistet diese Arbeit. Er ist zum Beispiel dann hilfreich, wenn Sie beim Kopieren den Parameter p vergessen haben und nun nachträglich den Besitzer sowie die zugeordnete Gruppe einer oder mehrerer Dateien korrigieren möchten. Ähnlich wie bei chmod übergeben Sie ihm den gewünschten neuen Besitzer sowie die Gruppe und zusätzlich ein Namensmuster aller Dateien und Verzeichnisse, auf die sich die Änderung auswirken soll. Genau wie bei chmod erreichen Sie durch den optionalen Parameter R, dass sich diese Änderungen nicht nur auf die Dateien im angegebenen Verzeichnis, sondern auch auf alle Dateien in Subdirectorys davon auswirkt. Um beispielsweise alle Dateien im aktuellen Verzeichnis und darunter, auf die das Suchmuster test* passt, dem Besitzer test und der Gruppe nut-zer zuzuordnen, dient folgender Befehl: chown R test:nutzer test* Beachten Sie, dass Besitzer und Gruppe durch einen Doppelpunkt getrennt werden müssen. Um nur den Besitzer, nicht aber die Gruppe zu ändern, geben Sie lediglich den Besitzernamen an: chown test datei.name Soll hingegen lediglich die Gruppe, der die Datei zugeordnet ist, nicht aber der Besitzer geändert werden, ist das Kommando in einer leicht abweichenden Form zu geben: chown :nutzer datei.name Beachten Sie, dass der Name der neuen Gruppe nach wie vor von dem vorangestellten Doppelpunkt eingeleitet wird. Nur so kann chown erken-nen, dass es sich um die Angabe einer Gruppe und nicht um die eines Benutzerkontos handelt.

Lang, Tobias Seite 15 Informationen über System und User. ------------------------------------------------------------------------------------------------------------------------- df: Verfügbare Kapazität auf den Festplatten ermitteln df [Optionen] [Dateisystem] Spezielle Optionen: -h gibt die Größe des belegten und des freien Speicherplat zes in Kilo-, Mega- und Gigabyte statt in Byte aus -H ähnlich wie h, verwendet aber zur Berechnung nicht den korrekten Faktor 1024 sondern 1000 Eine für wohl jeden Anwender wichtige Information ist die über den belegten sowie den noch freien Speicherplatz auf den Festplatten des Systems. Der Befehl df, eine Abkürzung für Disk Free, liefert genau diese Daten. Ohne jegliche Parameter aufgerufen gibt df die Daten aller im Rechner vorgefundenen Partitionen aus. Die Anzeige von df verwendet standardmäßig die Anzahl der belegten sowie der noch verfügbaren Datenblöcke auf den Medien. Da diese Information oft erst über das Multiplizieren mit der realen Blockgröße zu einfach lesbaren Ergebnissen führt, bietet df zwei Optionen an, die dem Anwender die Arbeit abnehmen. Um die jeweiligen Werte in Kilo-, Mega- oder Gigabyte angezeigt zu bekommen, verwenden Sie die Option h. Es verwendet zur Berechnung der Daten einen Teiler von 1024, berechnet also die im Computer-Umfeld korrekten Ergebnisse. Etwas anders arbeitet die Option H. Sie verwendet als Teiler den Wert 1000, liefert also etwas höhere Werte zurück. Zusätzlich können Sie die Ausgabe noch auf ein einzelnes Dateisystem einschränken, indem Sie entweder dessen Einhängepunkt (Mount-Point) oder den Namen seines physikalischen Geräts angeben.

Lang, Tobias Seite 16 ------------------------------------------------------------------------------------------------------------------------- du: Von einem Verzeichnis belegten Plattenplatz ermitteln du [Optionen] [Ziel] Spezielle Optionen: -h gibt die Größe des belegten Speicherplatzes in Kilo-, Mega- und Gigabyte statt in Byte aus -H ähnlich wie h, verwendet aber zur Berechnung nicht den korrekten Faktor 1024 sondern 1000 -s unterdrückt die Ausgabe der Informationen für Unterverzeichnisse des Zielpfads Ist die Festplatte an den Grenzen ihrer Kapazität angelangt, möchte man natürlich gerne den Verursacher finden. Diese Arbeit erleichtert der Befehl du, eine Abkürzung für Disk Usage. Es gibt für ein angegebenes Verzeichnis den von ihm belegten Speicherplatz aus inklusive aller even-tuell existierenden Sub-Directorys. Die dabei ausgegebene Liste kann, abhängig von der Zahl der vorhandenen Unterverzeichnisse, recht lang sein. Daher erlaubt es die Option s, die Ausgabe auf die insgesamt belegte Menge einzuschränken. Zusätzlich kön-nen Sie mithilfe der bereits vom Befehl df bekannten Optionen h und H die Ausgabe statt in Bytes in Kilo-, Mega- und Gigabyte erfolgen lassen. ------------------------------------------------------------------------------------------------------------------------- users: Angemeldete Benutzer anzeigen users Ein recht simples, doch oft hilfreiches Kommando ist users. Es gibt eine Liste der aktuell am Server angemeldeten Benutzer aus. Sollten Sie zum Beispiel die Befürchtung haben, dass sich unautorisierte Anwender auf dem Rechner zu schaffen machen, können Sie mithilfe von users überprüfen, ob außer den berechtigten Anwendern auch noch andere auf dem System zu Gange sind. Allerdings informiert Sie users nur über die gerade angemeldeten Anwender, nicht jedoch darüber, ob mit einem Konto innerhalb eines gewissen Zeitraums ein Login vorgenommen wurde.

Lang, Tobias Seite 17 ------------------------------------------------------------------------------------------------------------------------- id: Gruppenzugehörigkeit eines Benutzers ermitteln id (optionen) Benutzerkonto Spezielle Optionen -g gibt nur die Gruppennummer der primären Gruppe aus -G gibt die Gruppennummern der weiteren Gruppen aus -u gibt nur die Benutzerkontonummer aus -n gibt statt der Nummern den Namen von Gruppe oder Benutzerkonto aus Wollen Sie mehr Informationen über ein Benutzerkonto erhalten, hilft Ihnen der Befehl id weiter. Er zeigt Ihnen zu einem angegebenen Benutzerkonto dessen Nummer sowie primäre und weitere Gruppenzugehörigkeiten an. Ohne Parameter aufgerufen liefert id die Informationen für die aktuell verwendete Benutzerkennung. Geben Sie als Parameter eine Benutzer-kennung an, erhalten Sie die Informationen über das spezifizierte Konto. Weitere Einschränkungen sind über die Optionen g, -G und u möglich. Die erste Option bewirkt, dass lediglich die Nummer der primären Gruppe ausgegeben wird. Im zweiten Fall werden die Nummern aller weiteren Gruppen angezeigt, denen der Benutzer angehört. Über die letzte Option schließlich lassen Sie sich nur die Nummer des Benutzer-kontos anzeigen. Können Sie mit den Nummern nicht viel anfangen, hilft die Option n weiter. Sie bewirkt, dass statt Nummern die Namen der jeweiligen Gruppen oder Benutzerkonten ausgegeben werden.

Lang, Tobias Seite 18 ------------------------------------------------------------------------------------------------------------------------- top: Systemauslastung ermitteln top [Optionen] [Parameter] Wichtige Tastaturbefehle: C schaltet die Anzeige zwischen Programmnamen und Kommandozeilen-Modus um M zeigt die Prozesse mit dem größten Speicherverbrauch an P zeigt die Prozesse mit dem größten Verbrauch an CPU-Zeit an q beendet das Programm Spezielle Optionen: -u <user>zeigt nur die Prozesse an, die unter dem Konto des Benutzers <user>laufen Reagiert der Server zu langsam auf Anfragen, beschweren sich die Besucher des Web-Auftritts über dahintröpfelnden Seitenaufbau, und reagiert die Datenbank nur noch widerwillig auf Anfragen, dann ist der Server höchstwahrscheinlich ausgelastet. Aufschluss über mögliche Verursacher gibt das Hilfsprogramm top. Für gewöhnlich wird es ohne Optionen oder Parameter aufgerufen und zeigt diejenigen Prozesse an, die die meisten CPU-Zyklen verbrauchen. Zusätzlich bietet das Programm im Kopf der Anzeige weitere Status-Informationen an.

Lang, Tobias Seite 19 -------------------------------------------------------------------------------------------------------------------------- Die Header-Informationen In der ersten Bildschirmzeile sehen Sie neben der Zeit, die der Server seit dem letzten Neustart online ist, die Zahl der aktuell angemeldeten Benutzer sowie die durchschnittliche Auslastung des Servers. Diese wird durch drei verschiedene Werte repräsentiert. Der erste davon zeigt die aktuelle Auslastung, der zweite die durchschnittliche Last während der letzten fünf Minuten und der letzte schließlich den Durchschnitt der letzten Stunde. Alle drei Werte sollten im Idealfall deutlich unter 1.00 liegen. Werte größer als 1 signalisieren, dass der Server unter zu hoher Last arbeitet, Werte größer als 5 zeigen an, dass etwas definitiv nicht in Ordnung ist. Kurzfristige Lastspitzen sind normal Sollten Sie beim Aufruf von Top erhöhte Werte für die durchschnittliche Last der letzten Minuten oder Stunde sehen, ist das nicht gleich ein Grund zur Besorgnis. Arbeitsintensive Aufgaben wie beispielsweise die Auswertung von Protokolldateien kann dazu führen, dass die Last kurzfristig ansteigt. Nach Abschluss der Arbeiten sinkt die Last aber wieder auf einen normalen Pegel ab. Erst wenn die Last dauerhaft zu hoch ist, sollten Sie die Suche nach dem Übertäter beginnen. In der zweiten Zeile sehen Sie eine Zusammenfassung der aktuell laufenden Prozesse, Tasks genannt. Zuerst ist hier deren Gesamtzahl aufge-führt, gefolgt von der Zahl der aktiven Prozesse. Es folgen die momentan schlafenden und die angehaltenen Tasks. Am Ende der Zeile sehen Sie eine Angabe über so genannte Zombies. Sollte hier etwas anderes als eine Null stehen, heißt das, dass ein Prozess keine Rückmeldungen mehr an das System liefert, also wahrscheinlich abgestürzt ist. Die dritte Zeile gibt Aufschluss über die aktuelle Auslastung der CPU Ihres HighEnd-Servers. Hier sehen Sie, wie viel Prozent der CPU-Kapazität von Prozessen belegt wird, die vom Anwender oder dem System gestartet wur-den. Der Prozentsatz bei der mit nice beschrifteten Angabe informiert darüber, wie viel Leistung vom System zurück- oder hochgestufte Prozesse in Anspruch nehmen. Der Idle-Wert schließlich besagt, wie viel Leistung der CPU noch für weitere Prozesse zur Verfügung steht. Informationen über die Nutzung des dem System zur Verfügung stehen-den Speichers können Sie den nächsten beiden Zeilen entnehmen. Die erste davon enthält die relevanten Daten für den im Rechner verbauten Hauptspeicher. Der Reihenfolge nach werden Ihnen gesamter Hauptspei-cher, die davon genutzte Menge, der noch verbleibende Speicher sowie der für Puffer verwendete Bereich

Lang, Tobias Seite 20 angezeigt. Die andere Zeile informiert über die Nutzung des Auslagerungsbereichs auf der Festplatte und gibt weitere Details über die Hauptspeichernutzung an. Die ersten drei Werte enthalten Gesamtgröße des Swap-Bereichs, Menge der ausgelagerten Daten und noch verfügbarer Speicherplatz. Der letzte Wert hingegen bezieht sich wieder auf den Hauptspeicher und zeigt an, wie viele Daten Linux in seinem internen Cache vorhält. -------------------------------------------------------------------------------------------------------------------------- Die Prozess-Übersicht Unter dem Kopfteil sehen Sie eine Prozessliste, die sich laufend ändert. Alle drei Sekunden ermittelt top die neue Rangfolge. Standardmäßig sortiert es die Liste dabei nach der von den Tasks verbrauchten CPU-Zeit. Über Tastaturkommandos haben Sie die Möglichkeit, die Menge der angezeigten Informationen zu beeinflussen sowie das zur Sortierung her-angezogene Kriterium zu ändern. Die Prozessliste ist in mehrere Spalten aufgeteilt. In der ersten Spalte sehen Sie die Prozess-ID des jeweiligen Tasks. Die zweite Spalte gibt Aufschluss über den Besitzer, also auch über die Rechte, mit denen ein Prozess ausgestattet ist. Die dritte und vierte Spalte zeigen die Priorität eines Prozesses sowie dessen Nice-Status. Beide Werte können im Bereich von -20 bis +20 liegen, wobei nur das negative Vorzeichen angezeigt wird. Je niedriger der Wert, desto höher ist die Priorität des Tasks. Die mit VIRT, RES und SHR betitelten Spalten liefern verschiedene Informationen über den Speicherverbrauch des Tasks. Unter VIRT finden Sie die Menge des virtuellen Speichers, den ein Prozess für sich reserviert hat. Der Wert unter RES gibt an, wie viel davon tatsächlich vom Prozess belegt wird. Unter SHR zeigt top an, wie groß der Speicher ist, den sich ein Prozess mit anderen Anwendungen teilt. Die Angaben unter %CPU und %MEM spiegeln den Anteil an den jeweils verfügbaren Gesamtmengen wider, die der jeweilige Prozess belegt. Die Spalte TIME nennt nicht etwa die Zeit, seit der ein Prozess schon läuft. Vielmehr ist hier die bislang vom Task verbrauchte CPU-Zeit aufgeführt. Unter COMMAND schließlich sehen Sie, welchem Programm Sie die einzelnen Werte zuordnen dürfen. Um die Auswertung zu erleichtern, bietet top einige Tastaturkommandos, mit deren Hilfe sich die Sortierung sowie die Detailtiefe der Anzeige beeinflussen lässt. Wollen Sie beispielsweise die Prozesse mit dem größten Verbrauch an Hauptspeicher sehen, drücken Sie die Taste [ª]+[M]. Möchten Sie statt des Tasks die komplette Kommandozeile sehen, die zu seinem Aufruf geführt hat, drücken Sie [C]. Zum Beenden von top drücken Sie [Q].

Lang, Tobias Seite 21 -------------------------------------------------------------------------------------------------------------------------- Prozessanzeige auf Tasks eines Users beschränken Vermuten Sie, dass eine hohe Last auf dem Server durch Tasks verur-sacht wird, die unter einem bestimmten Benutzerkonto laufen, können Sie top auf die Anzeige dieser Prozesse beschränken. Dazu übergeben Sie dem Hilfsprogramm die Option u, gefolgt vom Namen des gewünschten Benutzerkontos. Um beispielsweise alle Tasks des vom Web-Server Apa-che verwendeten Benutzerkontos wwwrun anzeigen zu lassen, verwenden Sie folgenden Befehl: top u wwwrun ------------------------------------------------------------------------------------------------------------------------- ps: Laufende Prozesse anzeigen ps [Optionen] Spezielle Optionen: a x w gibt den Status aller laufenden Prozesse aus gibt auch den Status der Prozesse aus, die nicht von einer Kommandozeile aus gestartet wurden gibt mehr Informationen zu den einzelnen Tasks aus Eine ähnliche Funktion wie top erfüllt das Hilfsprogramm ps, das der Anzeige des Prozess-Status dient. Im Gegensatz zu top liefert es jedoch keine ständig aktualisierte Ansicht, sondern gibt eine Liste der aktuell laufenden Tasks aus und beendet sich dann wieder. Ohne jegliche Optionen aufgerufen zeigt ps eine Liste der vom aktuellen Anwender über seine Kommandozeilensitzung kontrollierten Prozesse an. Über den Parameter a, der im Gegensatz zu den meisten anderen Linux-Hilfsprogrammen nicht durch ein vorangestelltes Minuszeichen eingeleitet wird, erhalten Sie eine Übersicht aller Tasks, die von einer beliebigen Kommandozeile aus gestartet wurden. Mittels ps x gestartet zeigt das Utility auch die Prozesse an, die bereits während des Systemstarts in Aktion traten. Um noch weitere Informationen über die laufen-den Tasks zu erhalten, verwenden Sie die Option w. Sie bewirkt, dass das den Task aufrufende Kommando in seiner Langform dargestellt wird.

Lang, Tobias Seite 22 Nützliche Helferlein FIND----GREP---- LOCATE----WHICH---and many more Auch unter Linux gibt es einige nützliche Hilfsprogramme, die zwar zum Teil nur selten benötigt werden, die man aber trotzdem kennen sollte. Einige davon stellt Ihnen dieser Abschnitt des Buchs vor. -------------------------------------------------------------------------------------------------------------------------- which: Speicherort eines Hilfsprogramms ermitteln which [Optionen] Programmname Spezielle Optionen: -a zeigt nicht nur das erste gefundene, sondern alle dem angegebenen Namen entsprechenden Dateien an Gerade unter Linux kann es passieren, dass der Aufruf eines Programms nicht zum gewünschten Ergebnis führt. Schuld daran ist oft, dass mehrere unterschiedliche Versionen einer Anwendung in unterschiedlichen Ver-zeichnissen auf dem Rechner installiert sind, sich aber ausgerechnet eine veraltete im Suchpfad befindet. Außerdem kann es durchaus vorkommen, dass zwei unterschiedliche Pakete Hilfsprogramme gleichen Namens ver-wenden, die aber eine völlig unterschiedliche Funktion haben. Um festzustellen, welches Programm beim Absetzen eines Befehls auf der Kommandozeile wirklich aufgerufen wird, dient das Kommando which. Es durchsucht den Suchpfad des aktuellen Benutzerkontos nach Dateien, die dem ihm als Parameter übergebenen Namen entsprechen. Im Normalbetrieb ohne weitere Optionen beendet es die Suche bei der ersten Fundstelle und gibt die kompletten Pfadinformationen der gefun-denen Datei aus. Wollen Sie, dass which Ihnen alle passenden Dateien auflistet, verwenden Sie die Option a. Gibt which für einen funktionierenden Befehl keine Fundstelle aus, so handelt es sich bei dem gesuchten Kommando um eine interne Funktion des Kommandointerpreters. Das Utility which ermittelt den kompletten Aufrufpfad eines Hilfsprogramms sofern es sich nicht um einen internen Befehl handelt.

Lang, Tobias Seite 23 ------------------------------------------------------------------------------------------------------------------------- Grundform: find <Startpfad><Kriterium>Nützliche Kriterien: -name zeigt alle Dateien an, die dem nach name angegebenen Suchmuster entsprechen -iname wie name, aber ignoriert Groß- und Kleinschreibung -size zeigt alle Dateien an, deren Größe dem nach size angegebenen Kriterium entsprechen Die Suche nach Dateien ist eine der häufigsten Arbeiten. Sei es, dass man eine Konfigurationsdatei für eine Applikation sucht oder wissen möchte, wo man das Archiv mit dem dringend benötigten Modul für die Web-Applikation gespeichert hat. Für die Aufgabe ist das Hilfsprogramm find das passende Werkzeug. Seine Bedienung ist recht einfach: Als Parameter übergeben Sie find einen Verzeichnispfad, in dem es seine Suche beginnen soll. Zusätzlich teilen Sie dem Utility mit, nach welchem Kriterium es die Suche durchführen soll. Um beispielsweise alle Konfigurationsdateien unterhalb des Verzeichnisses /etc zu lokalisieren, die mit dem Buchstaben l beginnen, lautet der Befehl wie folgt: find /etc name l*.conf Sind Sie sich nicht sicher, ob die gesuchte Datei mit einem großen oder einem kleinen L geschrieben wird, dann verwenden Sie einfach die Suchvariante, bei der die Schreibweise ignoriert wird: find /etc iname l*.conf Sie können die Platzhalterzeichen Stern und Fragezeichen in der Suchmaske des Dateinamens beliebig oft verwenden. Beispielsweise liefert die Maske l*.c* auch die Dateien, die statt mit der Endung.conf mit dem Namenszusatz.cfg enden. Doch damit ist das Potenzial von find noch nicht erschöpft. Neben der Suche anhand von Namensmustern ist es auch in der Lage, Dateien aufzuspüren, die anderen Kriterien entsprechen. Oft ist es zum Beispiel schwierig, allein mithilfe von du zu ermitteln, welche Dateien denn nun genau durch übermäßige Größe wertvollen Speicherplatz auf der Festplatte belegen. Mit find finden Sie dies schnell her-aus, indem Sie es nach Dateien suchen lassen, die eine bestimmte Größe überschreiten: find /var size +1000k So aufgerufen sucht find nach allen Dateien, die mehr als 1000 Kilobyte Festplattenplatz belegen. Beachten Sie das Pluszeichen vor der Größenangabe. Fehlt es, sucht find nach allen Dateien, die genau 1000 Kilobyte belegen. Ein vorangestelltes Minuszeichen bewirkt die Ausgabe aller Dateien, deren Größe den Vorgabewert unterschreitet. ------------------------------------------------------------------------------------------------------------------------- grep: Zeichenketten in Dateien finden Grundform: grep [Optionen] <Suchmuster> [Dateimaske] Spezielle Optionen: -i schaltet die Unterscheidung zwischen Groß- und Klein-schreibung ab -r aktiviert eine rekursive Suche durch alle Unterverzeichnisse

Lang, Tobias Seite 24 Fast ebenso häufig wie die Suche nach einer Datei, die einem bestimmten Namensmuster entspricht, ist die Suche nach beliebigen Dateien, die bestimmte Texte enthalten. Für diese Aufgabe ist das Utility grep der richtige Helfer. Aufgerufen mit dem zu suchenden Text sowie einer Dateimaske als Parameter liefert es eine Liste aller Files, die den Suchtext enthalten. Über die Option i teilen Sie grep mit, dass es bei seiner Suche nicht zwischen Groß- und Kleinschreibung unterscheiden soll. Soll nicht nur im aktuellen Verzeichnis, sondern auch in dessen Unterverzeichnissen gesucht werden, geben Sie die Option r an. Allerdings ist hierbei zu beachten, dass grep bei der rekursiven Suche nur in solche Directorys wechselt, auf die die angegebene Dateimaske passt. So führt ein Aufruf von grep ri "xyz" *.conf mit großer Wahrscheinlichkeit nicht zum gewünschten Ergebnis, da ziemlich sicher keine Verzeichnisse existieren, die der Maske *.conf entsprechen. In diesem Fall ist der generelle Aufruf grep ri "xyz" * die sicherere Wahl. Lastintensive Suchvorgänge vermeiden Grep ist ein sehr leistungsfähiges Hilfsprogramm. Daher ist die Versuchung groß, es zu global ein zusetzen beispielsweise um vom Wurzelvezeichnis aus alle Dateien suchen zu lassen, die einen bestimmten Text enthalten. Mit einer derartigen Suche belasten Sie den Server erheblich. Schließlich muss grep für diese Aktion jede auf dem Server gespeicherte Datei von vorne bis hinten durchsuchen. Die damit verbundenen Dateioperationen erzeugen eine immense Last, die sogar zur kurzfristigen Nicht-Erreichbarkeit von Diensten wie Web- oder FTP-Server führen kann. ------------------------------------------------------------------------------------------------------------------------- su: Zu anderem Benutzerkonto umschalten su [Optionen] <benutzerkonto> Spezielle Optionen: -bewirkt den Aufruf einer Login-Shell als User root -m übernimmt die Umgebungsvariablen der aktuellen Sitzung in die neue Shell Ein wichtiges Kommando für Administratoren ist der Befehl su, eine Abkürzung für Switch User oder Substitute User. Mit seiner Hilfe können Sie sich in einer bestehenden Sitzung unter einem anderen Konto anmelden und mit dessen Rechten arbeiten. Die Arbeitsweise des Befehls unterscheidet sich je nachdem, ob Sie als normaler Anwender oder als Superuser root angemeldet sind. su als Superuser verwenden Die einfachste Verwendung von su ist es, als Administrator schnell zum Konto eines normalen Benutzers zu wechseln etwa um ein Problem mit dessen Rechten und Einstellungen nachzuvollziehen oder aber, um Konfigurationsdateien zu erstellen, die später von diesem Benutzerkonto aus weiter verwaltet werden können. Um sich beispielsweise als Benutzer test0123 anzumelden, genügt im Superuser-Modus folgender Befehl: su test0123 Beachten Sie dabei, dass der Befehl su zwar das verwendete Konto, nicht aber das aktuelle Verzeichnis wechselt. Es kann daher passieren, dass Sie sich nach der Ausführung in einem