Informatik Klasse 9 58

Ähnliche Dokumente
ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen

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

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

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Leitfaden zur Installation von Bitbyters.WinShutdown

Windows 7 Winbuilder USB Stick

Outlook 2000 Thema - Archivierung

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

EASYINSTALLER Ⅲ SuSE Linux Installation

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

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

Durchführung der Datenübernahme nach Reisekosten 2011

2. Word-Dokumente verwalten

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

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Tutorial -

Datensicherung. Beschreibung der Datensicherung

Computeria Solothurn

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Hilfe zur Dokumentenverwaltung

Artikel Schnittstelle über CSV

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden?

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

SFTP SCP - Synology Wiki

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

Tipps und Tricks zu den Updates

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Archivieren und Komprimieren, Globs

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Archivieren und Komprimieren, SSH

Kleines Handbuch zur Fotogalerie der Pixel AG

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

KURZANLEITUNG CLOUD OBJECT STORAGE

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Anwenderdokumentation PersoSim

Installation Messerli MySQL auf Linux

Einkaufslisten verwalten. Tipps & Tricks

! " # $ " % & Nicki Wruck worldwidewruck

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

DNS 323 Datenwiederherstellung mit Knoppix (DVD) ab Firmware Version 1.04b84

Speichern. Speichern unter

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Update Messerli MySQL auf Linux

Step by Step Webserver unter Windows Server von Christian Bartl

Beheben von verlorenen Verknüpfungen

Benutzer und Rechte Teil 1

Datei-Archive (zip-dateien) packen und entpacken mit FilZip Eine Anleitung für Mitarbeiter/innen

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installation / Aktualisierung von Druckertreibern unter Windows 7

Aufklappelemente anlegen

Installationsanleitungen

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

Installationsanleitung für pcvisit Server (pcvisit 15.0)

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

GFAhnen Datensicherung und Datenaustausch

Archivieren und Komprimieren, Globs

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

Archivieren und Komprimieren, Globs

:LQGRZV([SORUHU &KULVWLQH%HHU

FastViewer Remote Edition 2.X

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Praktikum RO1 Einführung Linux / Ubuntu / Bash

FrogSure Installation und Konfiguration

1 Dokumentenmanagement

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

UNIX. Linux. UNIX Derivate, die wichtigsten. Free BSD (Open) Solaris MacOS X Linux. UNIX Dateisystem, wichtige Ordner.

Mediator 9 - Lernprogramm

Installationsanleitung für Magento-Module

Partitionieren in Vista und Windows 7/8

SANDBOXIE konfigurieren

3 ORDNER UND DATEIEN. 3.1 Ordner

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Die Dateiablage Der Weg zur Dateiablage

Installationsanleitung

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Installation und Sicherung von AdmiCash mit airbackup

Hans-Georg Schumann. Inklusive CD-ROM

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Mac OSX und Safari / Mozilla Firefox

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Dokumentation: Balanced Scorecard

cs106 Informatiklabor Teil 1: Java-Installation

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Arbeiten mit MozBackup

Kapitel 1: Betriebssystem IX. W indows Explorer und der Arbeitsplatz Teil 2

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Neue Steuererklärung 2013 erstellen

Transkript:

Informatik Klasse 9 58

Linux ist ein zeitgemäßes Unix-ähnliches Betriebssystem. Ursprünglich wurde es für Computer mit einen Intel 80386-Prozessor oder höher entwickelt, ist heute aber für fast alle Hardwareplattformen erhältlich. Linux ist je nach Hardwarearchitektur ein 32bit- bzw. 64-bit-Betriebssystem, das den vollen Funktionsumfang eines modernen Systems abdeckt. Eigentlich bezeichnet Linux nur den Kern des kompletten Systems, den sog. Kernel, der für alle wichtigen Aufgaben und Funktionen zuständig ist. Der Kernel kann nach den Anforderungen konfiguriert werden. Wird z.b. Unterstützung für eine neue Hardware benötigt, wird dynamisch ein entsprechendes Kernelmodul geladen. Das hält den Kernel schön schlank. Durch die Ergänzung des Kernels mit diversen Programmen ergibt sich das komplette, anwendbare System. Als modernes Unix-Derivat verfügt Linux über alle Funktionen dieses Betriebssystems echtes Multitasking, d.h. die Fähigkeit, mehrere Programme oder Prozesse gleichzeitig zu bearbeiten, dynamische Laufzeitbibliotheken, fortgeschrittenes Speichermanagement, Virtual Memory und Netzwerkunterstützung. Auch Mehrbenutzerfähigkeit (MultiUserBetrieb) und gemeinsam nutzbare Ressourcen wie Festplatten, Drucker, Modems usw. gehören zu Linux. Linux wird unter der GNU General Public License (GPL) vertrieben. Das bedeutet, dass Linux vollständig im Quelltext vorliegt und von jedem beliebig erweitert werden kann. 1.1. Wie entstand Linux? Die Geschichte von Linux reicht bis 1990 zurück, als der finnische Student Linus Torvalds nach einer Alternative zu MS DOS suchte, um von zu Hause aus im Rechnernetzwerk der Universität von Helsinki arbeiten zu können. Bei seiner Suche nach Alternativen fand er Minix ein Lehrbetriebssystem, das Professor Andrew S. Tannenbaum 1987 für seine Studenten entwickelt hatte. Minix ist ein Unix-Clone in einer recht rudimentären Fassung, jedoch als Anschauungs- und Lehrsystem sehr geeignet. Linus Torvalds erweiterte dieses Betriebssystem um etliche Funktionen und ersetzte mehr und mehr Bestandteile des Code mit eigenen Beiträgen. Nachdem er die ersten Versuche in Assembler programmiert hatte, entschied er sich für die geeignetere Programmiersprache C. So entstand ein völlig neuer Betriebssystemkern Linux in der Version 0.01. 1992 verteilte Torvalds die Version 0.12 des Sytems über anonymous FTP im Internet, was zu einem sprunghaften Anstieg der Testerzahl führte. Da daraufhin die Kommunikation nicht mehr per Email zu bewältigen war, wurde in den Usenet News die Gruppe alt.os.linux ins Leben gerufen was zu einer explosionsartigen Entwicklung des Systems im Internet führte, die von Linux Torvalds koordiniert wurde. Informatik Klasse 9 59

So wurde aus dem Linuxkernel bald ein stabiles und leistungsfähiges Betriebssystem mit Unix- Charakteristik. Durch die 1993/94 stattfindende Anpassung des Linuxkernel an die GNU - Umgebung der Free Software Foundation (FSF) wuchsen die Möglichkeiten von Linux erneut stark an, da man nun auf eine große Sammlung an vorhandener Software und Tools zurückgreifen konnte. Ein weiterer wichtiger Schritt war die Adaption eines Graphical User Interfaces (GUI), das von einer weiteren Nonprofit-Gruppe beigesteuert wurde dem Xfree86-Projekt. Linus Torvalds stellte nun den Quelltext des Linuxkernels offiziell unter die GPL, wodurch die freie Existenz von Linux gesichert wurde. 1994 erschien mit Linux 1.0 das sichtbare Ergebnis der Arbeit vieler begeisterter Programmierer, die erstmalig ein komplettes Betriebssystem über das Internet entwickelt hatten. 1.2. Wie wird Linux entwickelt? Die Weiterentwicklung von Linux setzt die unkonventionellen Wege des Betriebssystems fort. Linux wird nicht von bestimmten Einzelpersonen oder einer Firma entwickelt jeder, der etwas zur Verbesserung des Systems beizutragen hat, kann dies tun und seine Entwicklung veröffentlichen. Der Systemkernel wird weiterhin von Linus Torvalds und einigen weiteren Programmieren überwacht. Neben den freigegebenen Versionen von Linux (derzeit 3.15.1) gibt es Entwicklerversionen. Die Entwicklung von Linux wird durch zahllose Programmierer vorangetrieben. Die Kommunikation erfolgt über das Internet. Linux wird 24 Stunden am Tag entwickelt. Neue Versionen der Entwicklerkernel erscheinen in kurzen Abständen und sind über das Internet zu beziehen. 1.3. Wie bezieht man Linux? Ebenso vielseitig wie Linux sind seine Bezugsmöglichkeiten. Linux ist wie gesagt frei was u.a. bedeutet, dass man vieles aus dem Internet beziehen kann. Das ist aber oftmals recht mühsam, da die Software sehr umfangreich ist und der Download entsprechend lange dauert. Eine gute Quelle für alle Kernelversionen ist die folgende Internetseite: http://www.kernel.org/ Nun ist jedoch der Kernel allein nicht das komplette Betriebssystem, sondern lediglich sein Herzstück. Um mit einem Betriebssystem gut arbeiten zu können, benötigt man eine Menge von zusätzlichen Programmen. Zum Glück gibt es viele Programme, die unter der GNU GPL vertrieben werden. Informatik Klasse 9 60

1.4. Distributionen (http://www.pcwelt.de/ratgeber/aktuelle_linux-distros_im_pc-welt-check-linux- Distributionen-7971293.html) Distributionen sind Zusammenstellungen von Software und Kernel inklusive Installationsroutinen und Administrationstools. Das Ganze stellt sich dann als komplettes Betriebssystem mit Anwendungen dar und ist mit Windows-Umgebungen vergleichbar. Die Zusammenstellung solcher Distributionen haben sich mehrere Organisationen und Firmen zur Aufgabe gemacht. Die meisten Distributoren haben nicht nur Programme zusammengefügt, sondern vielfach eigene Tools für verschiedene Aufgaben entwickelt, die von einfachen Installationsprogrammen bis zu komplexen Verwaltungswerkzeugen reichten. Die meisten Distributionen kann man mittlerweile über das Internet beziehen. Die wichtigsten Distributoren sind Canonical, das die Linux-Variante Ubuntu betreut, Red Hat und SuSe, entstanden aus der Gesellschaft für Software- und Systementwicklung GmbH. Informatik Klasse 9 61

(http://www.aboutlinux.info/2006/04/mind-map-of-linux-distributions.html) 1.5. Der Installationsvorgang Zur Installation von Linux wird ein rudimentäres Linuxsystem gebootet, welches durch die Installation führt und die nötigen Arbeitsvorgänge aktiviert. Dieser erste Bootvorgang erfolgt von einer CD/DVD oder aus dem Netzwerk. Nach dem Erkennen des Bootmediums wird der Startvorgang für eine Benutzerabfrage unterbrochen. Nun sind verschiedene Startmodi wählbar, unter anderem der Expertenmodus oder der Rettungsmodus. Durch einfaches Bestätigen mittels Eingabetaste wird die Standardinstallation eingeleitet. Es folgt der Start des Installationssystems. Nach dem erfolgreichen Ladevorgang erscheint ein englischsprachiger Begrüßungsbildschirm. Nun können die Sprache der Installation eingestellt und weitere Veränderungen vorgenommen werden. Das System schlägt eine Standardinstallation vor, die sich aber sehr differenziert verändern lässt. Falls möglich, installiert sich Linux auf nicht verwendetem, also keiner Partition zugeordnetem Plattenplatz. Informatik Klasse 9 62

Eine Basissoftwarezusammenstellung ist bereits festgelegt, aber Linux bietet eine Vielzahl von Programmen für alle Aufgaben. Linux verfügt über Standardtreiber aller gängigen Hardwareanbieter. Trotzdem sollte man vor einer Installation die Hardwarezusammenstellung seines Rechners sichern, bevor man die 'Installation beginnt. Exotische Hardware, die gern von Billigstanbietern oder bei speziellen Hardwarekonfigurationen verwendet wird, bedarf manchmal genauerer Konfiguration. Diese Checkliste sollte vorher ausgefüllt werden, um alle Fragen beantworten zu können. Checkliste zur Installation Hersteller der Grafikkarte: Typ der Grafikkarte: Arbeitsspeicher der Grafikkarte: Hersteller und Typ Monitor: Vertikaler Frequenzbereich Monitor: Horizontaler Frequenzbereich Monitor: Hersteller der Netzwerkkarte: Basisadresse (MAC) der Netzwerkkarte: Hinweis: Während der Installation wird man nach einem sog. Root-Passwort gefragt. Dieses Passwort ist dem Nutzer Root zugeordnet, der unter Linux alles(!) darf. Man sollte es sich auf jeden Fall notieren, denn im Gegensatz zu Windows Systemen lässt es sich nicht auslesen oder überschreiben. Wer es verliert, darf neu installieren. Linux hat sich in letzter Zeit auch im Workstationbereich einen guten Namen gemacht. Das ist nicht zuletzt das Verdienst vieler Programmierer und Firmen, die ihre Software auf Linux portiert oder speziell dafür entwickelt haben. Mittlerweile gibt es alle möglichen Anwendungen für den Heimbereich. So sind etwa mehrere Office-Pakete verfügbar, die Textverarbeitung, Tabellenkalkulation und Präsentationsprogramme bieten. Was bei Linux oft als Manko angesehen wurde, ist die Schnittstelle zum Benutzer. Dieser Kritikpunkt ist jedoch mittlerweile nicht mehr auf der Höhe der Zeit. Die GUI, die Graphical User Interfaces oder grafischen Benutzerschnittstellen, sind nicht nur einfach zu bedienen und machen optisch einen guten und funktionellen Eindruck, sondern sie sind auch technisch ausgereift und auf der Höhe der Zeit. Jeder Nutzer hat während der Installation und auch danach noch die Möglichkeit, seine GUI zu wählen. Neben der Benutzerschnittstelle ist in letzter Zeit bei der Entwicklung von Anwenderprogrammen sehr viel geschehen. So sind etwa leistungsfähige Grafikprogramme ebenso wenig ein Thema wie Buchhaltungsprogramme oder Warenwirtschaftssysteme. Informatik Klasse 9 63

Die Möglichkeiten im Netzwerkbereich zu erwähnen ist aufgrund der Linuxgeschichte überflüssig. So sind der Anschluss ans Internet und dessen Benutzung seit Anfang der Linux Entwicklung einer der Hauptbestandteile des Systems. Gleiches gilt für Werkzeuge zur Softwareentwicklung. Neben den üblichen Programmier- und Skriptsprachen wie C, Python oder PERL sind Compiler für nahezu alle anderen Programmiersprachen nebst entsprechenden Debuggern vorhanden. 2.1. Grafische Benutzerschnittstelle Ein wesentlicher Bestandteil moderner Betriebssysteme ist eine einfach zu bedienende Schnittstelle zum Benutzer. Die grafischen Oberflächen von Windows oder Mac OS sind benutzerfreundlich und ermöglichen die Anwendung des Computers ohne große Vorkenntnisse. Das ist für viele Anwender ein wichtiger Aspekt. Solche Oberflächen sind natürlich auch für Linux vorhanden. Im Gegensatz zu anderen Betriebssystemkonzepten sind diese allerdings in der Unixwelt zweigeteilt. Zunächst gibt es da eine Software, die sich um die grundlegende grafische Funktionalität kümmert. Dies ist der so genannte X- Server. Unter Unix-Systemen ist der meist eingesetzte X-Server die freie Implementierung des X-Free Projektes der X11-Server. Der zweite Teil des Systems ist zuständig für die optische Darstellung und Bedienbarkeit. Dies ist der so genannte Windowmanager. Der Windowmanager setzt grundsätzlich auf dem X-Server auf und nutzt dessen Funktionen. 2.2. Windowmanager 2.2.1. K Desktop Environment (KDE) Ein Windowmanager, der unter Linux standardsetzend wirkt, ist das K Desktop Environment (KDE): http://www.kde.org/. Der Windowmanager ist nur ein kleiner Teil des kompletten KDE. KDE ist nicht nur ein einfacher Windowmanager es ist ein kompletter Desktop, der die Funktionalität von Unix grafisch aufbereitet. Zum KDE gehören weitere Anwendungen, wie ein Dateimanager oder ein Hilfe- und Konfigurationssystem. Außerdem gibt es mittlerweile eine Reihe zusätzlicher Programme, die speziell für KDE entwickelt wurden. KDE ist kostenlos, unter der Voraussetzung, daß Entwicklungen unter KDE ebenfalls im Sourcecode frei vertrieben werden Einzelheiten zur Linzenz erfährst Du bei http://www.kde.org/. Mittels KDE ist unter Unix und Linux erstmals eine komfortable grafische Desktopumgebung verfügbar, die die einfache Arbeit erlaubt, ohne dass der Benutzer die Tiefen des Systems kennt. Damit wird Unix in der Bedienung mit MacOS oder Windows vergleichbar. Informatik Klasse 9 64

KDE bietet ein modernes Design, das etwas an die von bereits vielen Anwendern bekannte Oberfläche von Windows erinnert, jedoch um einige nützliche Funktionen bereichert wurde. So stehen standardmäßig mehrere virtuelle Bildschirme zur Verfügung welche unabhängig voneinander arbeiten. Am oberen Rand der Bildschirmanzeige steht eine Taskleiste, die über alle virtuellen Bildschirme hinweg die geöffneten Anwendungen zeigt. Hier lässt sich jedes Programm einfach in den Vordergrund holen. Der mittlere Bereich wird vom Desktop eingenommen. Neben der Programmanzeige lassen sich hier auch Verknüpfungen zu Verzeichnissen oder Programmen anlegen. Im unteren Bereich sieht man eine Schnellstartleiste. Hier lassen sich einzelne Programme wie auch eigene Menüs unterbringen. 2.2.2. XFCE Das xfce Desktop Enviroment ist vor allem auf Ressourcenschonung ausgelegt. Es verzichtet auf viele grafische Spielereien, bietet aber die volle Funktionalität und Stabilität eines ausgereiften Desktops. 2.2.3. Alle Funktionen mit einem Klick Alle auf dem Desktop abgelegten Symbole haben eigene Kontextmenüs, die sich in Abhängigkeit von der Art des Symbols unterscheiden können. Probiere es aus! Stecke einen USB-Stick ein und du erhältst die Meldung, dass ein Datenträger eingehängt wurde. Der Rechtsklick bietet dann das Auswerfen oder Aushängen an. Laufwerksbezeichnungen unter Linux unterscheiden sich von denen anderer Systeme. Hier werden Laufwerke über die jeweiligen Gerätedateien angesprochen, die im Verzeichnis /dev zu finden sind. Informatik Klasse 9 65

Die Benennung folgt einen festen Schema: ein Kürzel für die Geräteart und ein Buchstabe oder eine Zahl für das Gerät. So beginnen Speichermedien mit sd. Also steht das Kürzel sda für das erste Gerät, sdb für das zweite usw. CD / DVD Laufwerke erhalten sr. Hier steht statt eines Buchstabens danach eine Ziffer - sr0 ist das erste CD-/DVD - Laufwerk eines Systems. Steht hinter einer Festplattenbezeichnung eine Zahl, etwa. sdal, bezeichnet sie die Partition auf der Festplatte - sdb3 ist die dritte Partition der zweiten Festplatte. Hast Du dieses Konzept verstanden, ist die Benennung von Geräten kein großes Problem. 4.1. Die Swap-Partition Windows legt eine Auslagerungsdatei an, die den physischen Speicher (RAM) entlasten soll. Linux nutzt dafür normalerweise eine eigene Partition, die Swap-Partition. Das zugrunde liegende Dateisystem ist hier einfach swap. Du wirst es bei der Installation kennen lernen. 4.2. Grundlagen der Partitionierung Auf einem PC gibt es folgende für alle Betriebssysteme gültige Festlegungen für das Aufteilen der Festplatte: Es gibt maximal 4 primäre Partitionen. Informatik Klasse 9 66

Für weitere Aufteilungen kann statt einer der primären Partitionen eine erweiterte über den Rest der Festplatte definiert werden. Die erweiterte ist nur als Container gedacht und kann so nicht genutzt werden. Die erweiterte Partition kann (je nach Betriebssystem) eine bestimmte Anzahl an so genannten logischen Partitionen enthalten. Diese funktionieren bis auf bestimmte Aus-nahmen wie primäre Partitionen. Jedes Betriebssystem braucht mindestens eine eigene Partition für sich. Linux braucht sogar zwei (neben der eigenen nämlich noch die Swap-Partition). Bei Linux kann es aus Datensicherheitsgründen durchaus Sinn machen, mehrere Partitionen zur Verfügung zu stellen. Wenn du z.b. den Bereich der Basisverzeichnisse auf eine Extra-Partition legst, habt ihr, also du und deine Familie oder Freunde, die den Rechner vielleicht mit benutzen, die persönlichen Daten noch nicht verloren, wenn die Partition für das Betriebssystem kaputtgeht. Wir kommen gleich bei der Installation noch einmal darauf zurück. Informatik Klasse 9 67

Viele Linux-Einsteiger haben Schwierigkeiten mit der Verzeichnisstruktur des Systems, da sie in ihrer Stringenz ungewohnt ist. Sehen wir uns darum einmal die Standardverzeichnisse von Linux an und was sie jeweils enthalten. Dabei ist zu beachten, dass im Verzeichnissystem von Linux Trennzeichen nicht der Backslash \, sondern der normale Schrägstrich / ist. / Root- oder Wurzelverzeichnis, das oberste Verzeichnis im kompletten Dateisystem. /bin Programme und Befehle, die zur Systeminitialisierung nötig sind /usr /usr/bin Für die Benutzer relevante Befehle und Anwendungsprogramme Allgemein verfügbare Befehle /dev Gerätetreiber /usr/doc Diverse Dokumentationen zum System /etc Für die Konfiguration des Systems relevante Dateien /usr/local Platz für selbst installierte Software oder lokale Ergänzungen des Systems /home Benutzerverzeichnisse oder /usr/man Dateien der Online Hilfe oder man-pages /lib /proc /sbin Bibliotheken, die von Compilern oder Programmen während der Laufzeit benötigt werden. Prozessdateisystem, wird während der Laufzeit vom Betriebssystem benötigt. Programme und Dateien, die zur Systeminitialisierung benötigt werden und im übrigen dem Systemverwalter vorbehalten sind. Der normale Benutzer benötigt diese Dateien für /usr/sbin /usr/src Befehle und Kommandos, die der Systemverwalter benötigt. Quelltexte des Systems seine Arbeit nicht. /tmp temporäre Dateien /var/log Logdateien des Betriebssystems und von Serverprozessen. /var /var/tmp /var/spool Variable Daten des Systems, die während der Laufzeit des Betriebssystems oft verändert werden. Platz für größere temporäre Dateien Temporäre Speicherung von Dateien von Serverprozessen, z.b. von Mails Informatik Klasse 9 68

6.1.Dateisysteme Unter Windows 2000/XP wird FAT und NTFS unterstützt. Linux kann mit diesen Dateisystemen zwar auch umgehen, benötigt für die eigene(n) Partition(en) aber entweder Ext2 (sprich: Second Extended), Ext3 (sprich: Third Extended, Nachfolger, kompatibel zu Ext2, unterstützt die so genannte Journaling-Funktion und ist Linux-Standard heutzutage) oder Reiserfs (ebenfalls ein sehr zuverlässiges Dateisystem mit Journaling-Funktion, das ist für die Wiederherstellung wichtig, denn Journaling-Systeme erstellen regelmäßig Sicherungen,so dass ein Systemabsturz oder Stromausfall nicht zum Totalschaden führen muss. Es wird nicht mehr weiterentwickelt.). 6.1. Dateiendungen Im Gegensatz zu Windows erkennt Linux die Bedeutung einer Datei nicht an ihrer Endung. Stattdessen wird der Inhalt der Datei untersucht. Daraus erkennt das System, ob es sich um eine Textdatei oder um eine Programmdatei handelt. Soll eine Datei ausführbar sein, wie es bei Windows durch das Suffix *.exe oder *.bat geschieht, muss bei Linux ein bestimmtes Attribut (x für executable ausführbar) in den Dateirechten gesetzt werden. Um den Inhalt auch für Nicht-Maschinen wie etwa dich erkennbar zu machen, wird trotzdem häufig eine Endung angefügt, z.b. *.txt Textdatei *.conf oder Konfigurationsdatei *.so Bibliotheksdatei wie bei Windows Zu den zentralen Aufgaben eines Betriebssystems gehört die Verwaltung der Dateienstruktur. Hier liegt eine wichtige Aufgabe für den Verwalter: Pflege und Erweiterung des lokalen bzw. netzwerkweiten Dateisystems. Das Dateisystem von Linux bezieht sich auf eine deutlich strukturierte Hierarchie. Das Basisverzeichnis wird auch Wurzel- oder Rootverzeichnis genannt und innerhalb des Dateibaums durch den 'normalen' Schrägstrich / symbolisiert. Dieses Verzeichnis wird immer dann angesprochen, wenn eine Pfadangabe mit dem Schrägstrich beginnt. Alle weiteren in einem Dateipfad vorkommenden Schrägstriche dienen als Trennzeichen zwischen den Namen der jeweiligen Unterverzeichnisse. Informatik Klasse 9 69

Der Aufbau selbst gleicht tatsächlich einem Baum. Vom Wurzelverzeichnis ausgehend verzweigen sich immer weitere Strukturen in Unterverzeichnissen: Innerhalb des kompletten Dateisystems gibt es zwei Sonderbezeichnungen für Verzeichnisse ein Unterverzeichnis, das durch einen einfachen Punkt gekennzeichnet ist und das aktuelle Verzeichnis selbst bezeichnet, und ein weiteres Unterverzeichnis, das durch zwei Punkte beschrieben wird und das so genannte 'Elternverzeichnis' anspricht, also das nächsthöher gelagerte Verzeichnis. 6.2. Kommandozeileninterpreter Bash Das erste Programm, das standardmäßig von Unix nach dem erfolgreichen Anmelden gestartet wird, ist eine Shell. Die Shell allgemein ermöglicht eine bequeme Eingabe und Ausführung von Kommandos; daher auch die Bezeichnung eines Kommandozeileninterpreters. Sie übernimmt dabei eine Mittlerrolle zwischen Nutzer und Betriebssystem, indem sie die Eingaben des Nutzers nicht unmittelbar als Argumente dem Kommando übergibt, sondern diese zunächst nach bestimmten Regeln bearbeitet. Die Shell ist aus Sicht des Betriebssystems ein normales Programm. Aus diesem Grund existiert unter Linux eine Vielzahl von Kommandozeileninterpretern mit unterschiedlichsten Funktionalitäten. Zur Standardshell unter Linux hat sich die Bash (Bourne Again Shell) gemausert, die viele Eigenschaften der (teils) historischen Shells csh (C-Shell), bsh (Bourne Shell) und ksh (Korn Shell) in sich vereint. Informatik Klasse 9 70

6.2.1. Eingabe von Kommandos Der grundlegende Aufbau (nach weit verbreiteter Syntax) eines Kommandos sollte wie folgt aussehen: Kommandoname [-Optionen] [Argumente...] Optionen werden hierbei mittels»-«eingeleitet und bestehen zumeist aus nur einem Buchstaben. Mehrere Optionen können gruppiert werden: torsten@linux-4zkl:~/bilder> ls -la {ls listet den Inhalt eines Verzeichnisses auf; -la bewirkt eine ausführliche Ausgabe} Unter Linux werden auch typische Befehle aus der Windows-Welt unterstützt, z.b. dir zum Anzeigen des Verzeichnisinhaltes. Dem Kommando können beliebig viele Argumente übergeben werden. Meist können Optionen und Argumente in ihrer Reihenfolge vertauscht werden. torsten@linux-4zkl:~> ps -ef {ps zeigt den Zustand von Prozessen} Das führende Minus zur Einleitung von Optionen ist gemäß dem Unix98-Standard. Einige Kommandos (wie ps, tar,...) verwenden darüber hinaus auch Optionen nach der BSD-Syntax, nach der kein führendes Minus vorgeschrieben ist: Informatik Klasse 9 71

torsten@linux-4zkl:~> ps ax Ebenfalls Verwendung finden oft die GNU-Regeln für lange Optionen, die durch zwei führende Minus-Zeichen eingeleitet werden. torsten@linux-4zkl:~> ps --sort tty Die Arbeitsweise der Bash lässt sich anhand von Beispielen verdeutlichen: torsten@linux-4zkl:~> ls /boot/*.desktop Der Stern»*«steht für beliebig viele beliebige Zeichen. D.h. in obiger Eingabe substituiert die Bash die Eingabe durch alle Dateinamen, die im Verzeichnis /boot liegen und auf».desktop«enden. torsten@linux-4zkl:~> ls -d /?[abc]* /sbin /var Die Bash ersetzt die Eingabe durch alle Dateinamen aus dem Wurzelverzeichnis, deren erstes Zeichen beliebig ist (?), deren zweiter Buchstabe entweder ein»a«, ein»b«oder ein»c«ist, gefolgt von beliebig vielen (auch 0) beliebigen Zeichen "*". Die Option»-d«des Kommandos»ls«bewirkt, dass bei Verzeichnissen nur deren Namen, nicht deren Inhalt aufgelistet wird. USER ist eine vordefinierte Shellvariable, die das Benutzerkennzeichen des angemeldeten Benutzers enthält. Wird das Argument von echo mit doppelten Anführungsstrichen»gequotet«, so wird zwar das enthaltene Leerzeichen ignoriert, nicht aber das $-Zeichen, das hier den Inhalt der Variable USER abruft. Beim Einschließen in einfache Anführungsstriche wird die Sonderbedeutung jedes Zeichens aufgehoben, also auch die enthaltene Variablensubstitution. Informatik Klasse 9 72

6.2.2. Optionen - Beispiele -c Kommandofolge Die Bash liest und startet die Kommandos als "Kommandofolge", welche als eine einzelne Zeichenkette anzugeben ist. Alles, was der Zeichenkette folgt, wird als Argument dem letzten Kommando der Kommandofolge übergeben: Wird der Bash ein Argument übergeben, das keine Option ist, so interpretiert sie das Argument als Datei, die die Kommandos enthält.»date«ist natürlich keine Datei, die Kommandos beinhaltet, also beschwert sich die Bash... Die Bash in Verbindung mit»-c«arbeitet als nicht-interaktive Shell. -v bzw. --verbose Schaltet die erweiterte Ausgabe ein. Sinnvoll ist diese Option in der Testphase von Shellskripten, um jede Zeile, die ausgeführt wird, angezeigt zu bekommen. 6.2.3. Syntax 6.2.3.1. Kommentare Kommentare Normalerweise leitet das Doppelkreuz # in der Bash einen Kommentar ein. Alles, was diesem Zeichen folgt, wird von der Bash ignoriert bis zum nächsten Zeilenumbruch. Dies gilt sowohl für die interaktive als auch für die nicht-interaktive Bash. Informatik Klasse 9 73

Eine Ausnahme sind Shellskripte, in denen die erste Zeile mit #!... beginnt. Für die Bash ist es die Anweisung, die nachfolgenden Zeilen mit dem hinter»#!«angegebenen Interpreter (eine Shell, Perl, awk,...) auszuführen. Die Bedeutung von # kann entweder durch Quoten (siehe später) oder durch die Shelloption "interactive_comments" aufgehoben werden. torsten@linux-4zkl:~/dokumente> cat > script * #!/bin/bash ** echo "Hallo Welt!" *** torsten@linux-4zkl:~/dokumente> chmod 777 script **** torsten@linux-4zkl:~/dokumente>./script Hallo Welt! torsten@linux-4zkl:~/dokumente> #./script torsten@linux-4zkl:~/dokumente> * erstellt die Datei im aktiven Verzeichnis ** Datei mit der BASH ausführen lassen *** mit STRG+D das Ende der Datei festlegen **** Datei ausführbar machen 6.2.3.2. Variablen Der Bezeichner einer Variablen ist ein Name. Die Anzahl Zeichen, die für einen Bezeichner signifikant sind, ist von der konkreten Bash-Version abhängig. Im Sinne der Syntax wird zwischen einfachen und Feldvariablen unterschieden. Zum Erzeugen von Variablen existieren mehrere Möglichkeiten. Die einfachste zum Anlegen einer Variablen ist: torsten@linux-4zkl:~/dokumente> variablen_name=wert Eine Feldvariable (Array) erzeugen Sie mittels torsten@linux-4zkl:~/dokumente> feld_var_name[index]=wert # oder torsten@linux-4zkl:~/dokumente> feld_var_name=(wert1 wert2 wert3) Den Inhalt einer Variable betrachten Sie mit Hilfe des Kommandos echo: torsten@linux-4zkl:~/dokumente> echo $variablen_name wert torsten@linux-4zkl:~/dokumente> echo $feld_var_name wert1 torsten@linux-4zkl:~/dokumente> echo $feld_var_name[2] wert1[2] torsten@linux-4zkl:~/dokumente> echo ${feld_var_name[2]} wert3 torsten@linux-4zkl:~/dokumente> unset variablen_name Der letzte Befehl löscht die Variable wieder. Informatik Klasse 9 74

6.2.3.3. Pipelining In einer Pipeline werden mehrere Kommandos mittels des Pipesymbols miteinander verknüpft. Jedes Kommando wird hierbei in einer eigenen Prozessumgebung ausgeführt. Das Kommando links eines Pipesymbols schreibt seine Ergebnisse nachfolgend in die Pipe (»Röhre«) anstatt auf die Standardausgabe. Ein rechts des Symbols stehendes Kommando bezieht seine Eingabedaten aus der Pipe. Die Pipeline ist somit eine wichtige Unterstützung des Unix-Werkzeugkasten-Prinzips durch die Bash, womit durch geschickte Kombination der scheinbar simplen Kommandos komplexe Aufgaben lösbar werden. Die vermutlich verbreitetste Anwendung von Pipelines ist die Umleitung von Ausgaben eines Kommandos in einen Pager, um diese bequem seitenweise betrachten zu können: torsten@linux-4zkl:~/dokumente> ls -l /dev less Ohne den Pager hätte man in obigem Beispiel keine Möglichkeit, die ca. 1500 Ausgabezeilen von ls am Bildschirm zu verfolgen. Beendet wird mit q. 6.3. Navigation im Dateisystem Die Navigation innerhalb des Dateisystems erfolgt über eine geringe Anzahl an Befehlen. Aufgrund ihrer Basisfunktionalität kommen die meisten dieser Befehle ohne komplizierte Parameter aus. Einmal gegebene Befehle müssen nicht jedes Mal neu getippt werden. Du kannst mit den Hoch-und Runter-Cursortasten alte Befehle wieder aufrufen. 6.3.1. Verzeichnis wechseln cd Der Befehl zum Wechseln von Verzeichnissen heißt cd. Als einziger Parameter wird der Verzeichnisname benötigt. Wird der cd-befehl ohne Parameter eingegeben, wechselt das Betriebssystem ins Homeverzeichnis des Benutzers. Anderenfalls wird in das angegebene Verzeichnis gewechselt. Dabei ist sowohl die absolute Adressierung (also mit / beginnend) als auch die relative Adressierung (also vom aktuellen Verzeichnis ausgehend) möglich. Syntax: cd <Verzeichnisname> Informatik Klasse 9 75

6.3.2. Verzeichnis anlegen mkdir Eigene Verzeichnisse werden mit dem Befehl mkdir angelegt. Als Parameter wird der Name des zu erstellenden Verzeichnisses angegeben. Auch hier ist, analog zum cd - Befehl, die absolute wie auch die relative Adressierung möglich. Syntax: mkdir <Verzeichnisname> Du kannst mit mkdir -p <Verzeichnisl>/<Verzeichnisl> mehrere Verzeichnisse untereinander gleichzeitig anlegen, also Z.B mkdir -p Ordner3 /ordner4. Ohne die Option -p muss das übergeordnete Verzeichnis (Ordner 3) schon bestehen. Beachte bei obigem Beispiel, dass Linux zwischen Groß- und Kleinschreibung unterscheidet. Ordner ist nicht gleich ordner! 6.3.3. Verzeichnis löschen rmdir Fehlt noch der Befehl zum Löschen von Verzeichnissen. Das erfolgt über den Befehl rmdir. Als Parameter wird wieder der Name des zu löschenden Verzeichnisses angegeben. Hierbei sollte das zu löschende Verzeichnis leer sein, also keinerlei Dateien mehr beinhalten. Syntax: rmdir <Verzeichnisname> 6.3.4. Verzeichnisse mounten mount Das Mounten eines Verzeichnisses ist die Aktivierung eines Dateisystems an einer bestimmten Stelle des Verzeichnisbaums. Anders als andere Betriebssystemen wie DOS oder Windows kennt Linux keine eigentlichen Laufwerke hier werden die einzelnen Laufwerke oder Partitionen, die man ja auch Dateisysteme nennt, schlicht an die gewünschte Stelle innerhalb des lokalen Dateibaums geladen. Ein Verzeichnis, welches tiefer im Dateibaum angesiedelt ist, kann also ohne weiteres auf einer eigenen Partition oder einer eigenen Festplatte liegen. Das Mounten von Dateisystemen erfolgt über den Befehl mount. Dieser Befehl muss grundsätzlich mit der Root-Kennung ausgeführt werden, also als Systemverwalter. Als Parameter sind die Angabe des zu mountenden Gerätes, etwa einer Plattenpartition oder einem CD-Rom-Laufwerk, wie auch das Zielverzeichnis, also der Ort, wo das Gerät geladen werden soll, einzugeben. Syntax:mount <device> <zielort> Zusätzlich werden manchmal folgende Parameter benötigt: Informatik Klasse 9 76

- t <fstype> Dateisystemtyp des zu mountenden Verzeichnisses -r Dateisystem im Read-Only-Modus laden Weitere Parameter und detaillierte Informationen erfährst Du über den Befehl man mount. Grundsätzlich ist es auch möglich, ISO-Dateien zu mounten. mount Dateiname.iso /mnt -t iso9660 -o ro,loop=/dev/loop0 6.3.5. Verzeichnisse unmounten umount Ein Dateisystem läßt sich logischerweise nicht nur mounten, sondern auch unmounten - und zwar mit dem Befehl umount. Als Parameter wird die Angabe des zu unmountenden Geräts oder des Verzeichnisses, wo das Gerät gemountet wurde, benötigt. Wie beim Befehl mount ist auch diese Anweisung nur mit Verwalterrechten auszuführen. Syntax : unmount <device> <Verzeichnisname> 6.3.6. Die Datei /etc/fstab Jetzt kommt schon echtes Insiderwissen! Hier lernst du ein wenig über die Organisation von Linux. Lass dir die Datei fstab anzeigen mit less /etc/fstab. Der Befehl less ist für die Betrachtung von längeren Textdateien gut geeignet. Mit den Cursortasten kannst du hoch- und runterscrollen. Mit [q] kommst du wieder raus. Der Name fstab steht übrigens für File System Table. Hier findest du eine Liste von Geräten (wie z.b. Partitionen), die unter einem bestimmten Mountpoint im Dateisystem automatisch (bzw. halbautomatisch siehe weiter unten) eingebunden werden. Die Spalten haben von links nach rechts folgenden Inhalt: 1. Einzubindendes Gerät (z.b. /dev/ sda2). 2. Mountpoint (z.b. /). Informatik Klasse 9 77

3. Dateisystem (z.b. ext3, btrfs). Hier kann auch auto stehen; damit wird das Dateisystem fallweise automatisch erkannt. Hinweis: OpenSuse 13.2 verwendet das neue Filesystem btrfs. Die Darstellung der fstab weicht etwas ab. Optionen für das Mounten. Hier eine Auswahl: Option Bedeutung ro, rw auto, noauto user, nouser exec defaults read-only (nur lesen) bzw. read-write (lesen und schreiben) Gerät wird bzw. wird nicht automatisch beim Systemstart eingebunden, sondern muss manuell gemountet werden Gerät darf bzw. darf nicht von normalen Benutzern gemountet werden erlaubt ausführbare Dateien beinhaltet einige vordefinierte Einstellungen (u.a. rw, auto, nouser) Die hinteren beiden Ziffern geben an, in welcher Reihenfolge ein Dateisystemcheck durchgeführt und ob das Dateisystem für eine Sicherung mittels eines alten Linux-Programms namens dump vorgesehen werden soll. Vermutlich hast du bei dir noch die eine oder andere Windows-Partition in der Liste. 6.3.7. Verzeichnisinhalt auflisten ls Über den 1s-Befehl wird der Inhalt eines Verzeichnisses angezeigt. Dieser Unix-Befehl entspricht also in etwa der DIR-Anweisung unter MS-DOS. Wird der ls-befehl ohne Parameter aufgerufen, wird der Inhalt des aktuellen Verzeichnisses aufgelistet. Es kann auch ein anderes Verzeichnis - wiederum relativ oder absolut - als Parameter angegeben werden. In diesem Fall wird der Inhalt dieses Verzeichnisses dargestellt. Syntax: ls [-Parameter] [Verzeichnisname] Dieser Befehl kann durch eine Reihe von Parametern aussagekräftiger und übersichtlicher gestaltet werden. Die wichtigsten sind: -a Ausgabe aller Dateien, inkl. versteckter Dateien und Verzeichnisse - l ; lange Ausgabe, inkl. Anzeige der Rechte, Besitzer und Gruppe Mittels des Parameters -l werden auch die Dateiflags angezeigt. Informatik Klasse 9 78

Hier fällt die erste Spalte auf, wo die Flags und Rechte des jeweiligen Verzeichnisses oder der entsprechenden Datei angegeben werden. Auf die Datei- und Verzeichnisrechte gehen wir später gesondert ein. Relevant ist hier die erste Stelle dieser Spalte. Der Buchstabe ' d' an diesem Ort bedeutet, dass es sich hier um ein weiteres Unterverzeichnis handelt. Steht dort nichts, was durch ein Minuszeichen ausgedrückt wird, handelt es sich bei dem Eintrag um eine normale Datei. 6.4. Umgang mit Dateien Neben Verzeichnissen sind Dateien ein wesentlicher Bestandteil eines Dateisystems. Wie es Befehle zum Umfang mit Verzeichnissen gibt, so existieren auch eine Reihe von Befehlen und Programmen für den Umgang mit Dateien. 6.4.1. Dateiinhalt anzeigen cat Der Inhalt einer Datei wird mit Hilfe des Befehls cat angezeigt, dessen Parameter die gewünschte Datei ist. Syntax: cat <Dateiname> Die Ausgabe des Kommandos erfolgt auf dem Standardausgabegerät, normalerweise dem Bildschirm. 6.4.2. Dateiinhalt komfortabel anzeigen lassen less Ein Manko des cat-befehls ist die durchgehende Anzeige. Willst Du Dir den Inhalt einer Datei etwas bequemer anzeigen zu lassen, benutzt Du den Befehl less. Dabei handelt es sich um ein sehr leistungsfähiges Anzeigeprogramm für Dateien, das auch interaktiv zu bedienen ist. Beim normalen Aufruf des Programms wird als Parameter wiederum der Name der anzuzeigenden Datei übergeben. Syntax: less <Dateiname> Informatik Klasse 9 79

Die less-anweisung zeigt den Dateiinhalt seitenorientiert an. Der Befehl less help gibt weitere Informationen. 6.4.3. Dateien kopieren cp Das Kopieren von Dateien erfolgt über den Befehl cp. Als minimale Parameter benötigt die cp- Anweisung die Angabe der Ursprungsdatei und der neuen Datei. Dabei können sowohl Quell- als auch, Zieldatei absolut oder relativ angegeben werden. Syntax: cp <Quelldatei> <Ziel- datei> Sollen mehrere Dateien kopiert werden, kann auch mit den Wildcards * oder? gearbeitet werden. Da-bei ersetzt der Stern mehrere und das Fragezeichen ein beliebiges Zeichen. Mittels des Parameters -R ist es auch möglich, Dateien aus vorhandenen Unterverzeichnissen mit zu kopieren. Syntax: cp -R /etc/* /var/tmp/ Dieser Befehl kopiert den gesamten Inhalt im Verzeichnis /etc/ und seinen Unterverzeichnissen ins Verzeichnis /var/tmp. Dabei wird ein Unterverzeichnis etc angelegt, das ein komplettes Abbild des /etc/-verzeichnisses ist. 6.4.4. Dateien verschieben oder umbenennen mv Natürlich lassen sich Dateien auch verschieben. Der Befehl mv erledigt das. Die Parameter gleichen denen des cp-befehles. Syntax: mv <Quelldatei> <Zielverzeichnis>/<Zieldatei> Dabei ist wie auch bei der cp-anweisung die Nutzung des -R-Parameters ebenso möglich wie der Einsatz der Jokerzeichen? und * Ein neuer Neme für die Zieldatei ist nicct zwingend nötig. Wird kein Zielverzeichnis angegeben, dann wird die Ursprungsdatei durch den mv-befehl umbenannt. 6.4.5. Dateien löschen rm Dateien werden aus dem Dateisystem entfernt, also gelöscht, mit Hilfe des Befehls rm. Als Parameter wird der Name der zu löschenden Datei angegeben - relativ oder absolut. Syntax:rm [Parameter] <Dateiname> Informatik Klasse 9 80

Mit zusätzlichen Parametern kann man aus dieser Anweisung jedoch mehr machen. So ist es mittels des -r-parameters möglich, Dateien und untergeordnete Verzeichnisse rekursiv, d.h. einschließlich möglicherweise nicht leerer Unterverzeichnisse, zu löschen. Syntax: rm - r /home/as/test/ Diese Beispielanweisung löscht alles unterhalb des Verzeichnisses /home/as/test/. 6.4.6. Verknüpfungen erstellen ln Verknüpfungen von Dateien werden unter Linux wie unter anderen Unix-Systemen Link genannt. Ein Link ist eine Referenz auf eine Datei, wobei die Referenz selbst wie eine Datei behandelt werden kann. Zu beachten ist jedoch, dass jede Änderung über den Link auch die Ursprungsdatei betrifft. Man unterscheidet zwei Arten von Links: Softlinks und Hardlinks. Hardlinks greifen unmittelbar in das Filesystem ein, während Softlinks reine Hinweise sind. Ein Softlink wird über die Option - s erstellt. Ein Link auf eine Datei wird mit dem Befehl ln erstellt, der ähnlich wie das cp-programm parametriert wird. Syntax: ln [-s] <Quelldatei> <Zieldatei> Die Zieldatei beschreibt den Namen des zu erstellenden Links, während die Quelldatei die Datei oder das Verzeichnis ist, worauf der Link sich bezieht. 6.4.7. Dateien nach Ausdrücken durchsuchen grep Mittels des Programms grep können Dateien nach beliebigen Ausdrücken durchsucht werden. Dabei wird der zu suchende Ausdruck wie auch die Liste der zu durchsuchenden Dateien angegeben. Letztere Liste kann aus mehreren einzelnen Dateien, aber auch aus Dateiangaben mit den Wildcards * und? bestehen. Syntax: grep Test *. txt Hier werden alle Dateien mit der Endung.txt nach dem Ausdruck Test durchsucht. Um die grep-anweisung noch etwas flexibler zu machen, können einige nützliche Parameter hinzugefügt werden: Informatik Klasse 9 81

- i Beachtet keinerlei Groß- und Kleinschreibung - c Zählt das Vorkommen des gesuchten Ausdruckes - 1 Gibt nur die Fundstellen an. 6.4.8. Platzhalter oder Wildcards Vielleicht kennst du es aus der Suchfunktion unter Windows: Kennst du nicht den kompletten Namen oder möchtest mehr als ein Objekt erfassen, kannst du an der entsprechenden Stelle ein * eingeben. Es steht für kein, ein oder beliebig viele Zeichen. So würde rm text * sowohl textl, text2 als auch text1216 löschen. rm Ordner 1 / * löscht alle normalen Dateien in Ordner 1, jedoch nicht die Unterverzeichnisse und die versteckten Dateien. Das Fragezeichen steht für genau ein Zeichen: rm text? löscht textl, text3 und text7 aber nicht text37. Informatik Klasse 9 82

6.4.9. Komprimieren 6.4.9.1.tar - Das Standard-Archiv-Format Syntax: tar [OPTION]... [Dateien]... Dieses Programm wurde ursprünglich zur Verwaltung von Bandarchiven benutzt, daher auch der Name tar (tape archiver). Der heutige Funktionsumfang ermöglicht ebenso das Schreiben zu archivierender Daten in Dateien oder gar auf unformatierte Disketten (/dev/fd0)... Letzteres hat den großen Vorteil, dass die Daten unabhängig vom Filesystem sind, d.h. jedes UNIX-Betriebssystem wäre befähigt, auf die Daten zugreifen. Folgende Optionen sind die Wesentlichsten zur Verwaltung von so genannten tar-archiven: -c bzw. --compress Archivieren -u bzw. --update Austausch nur neuerer Dateien -t bzw. --list Anzeigen --delete Löschen -x bzw. --extract Extrahieren -f DATEI bzw. --file=datei Archivdatei (auch /dev/fd0) -r bzw. --append Anfügen -C VERZEICHNIS bzw. -- directory=verzeichnis -v bzw. --verbose Ausführlichere Anzeige Ins VERZEICHNIS wechseln -M bzw. --multi-volume Falls ein Band nicht reichen sollte Um ein Beispielarchiv zu erzeugen, wurden folgende Kommandos ausgeführt: Informatik Klasse 9 83

Der Aufbau des Befehls ist immer gleich. Nach tar für den Packer kommen die Argumente für das Archivieren und Erstellen einer Archivdatei, anschließend der Name der Archivdatei (packmich.tar), dann die zu packenden Dateien und das -v lässt die Anzeige ausführlich werden. Mit obigem Kommando sollten alle Dateien archiviert werden. Aber das Programm weigert sich, denn es muss mindestens der Platzhalter * eingesetzt werden. Ein leeres Archiv wird nicht erstellt. Möglich ist aber natürlich auch eine Auswahl von Dateien zu packen. Ob alles geklappt hat, verrät: torsten@linux-4zkl:~/dokumente> tar -tf packmich.tar Informatik Klasse 9 84

Bei zusätzlicher Verwendung der Option -v im obigen Kommando werden Information über Dateigrößen, Eigentümer, Zeitmarke und Zugriffsrechte mit angezeigt. Wenn nicht anders angegeben, RTFM, bleiben die Dateiattribute erhalten. Ohne Dateiangaben wird alles extrahiert. Betrifft dies nur bestimmte Dateien, so erfolgt dies wie folgt: torsten@linux-4zkl:~/dokumente> tar -xvf packmich.tar bilder/*.gif Normalerweise werden Archive mit»tar«nicht komprimiert. Man muss, wie in den Beispielen auf dieser Seite, das Archiv explizit selbst packen. Das GNU-tar jedoch unterstützt -z bzw. --gzip gzip folgende Packer mittels der aufgelisteten Optionen: torsten@linux-4zkl:~/dokumente> tar -czf packmich.tgz *.xcf -v Anzumerken ist, dass in einem gepackten Archiv, auch wenn dies durch»tar«selbst komprimiert wurde, keine Dateien hinzugefügt, erneuert oder gelöscht werden können. Dies kann nur im unkomprimierten tar-archiv geschehen. 6.4.9.2. zip - Dateien komprimieren Syntax: zip [-AcdDeEfFghjklLmoqrRSTuvVwXyz@$] [-b path] [-n suffixes] [-t mmddyyyy] [-tt mmddyyyy] [ zipfile [ file1 file2...]] [-xi list] Als letzten Archivierungs- und Kompressionstool sei hier zip erwähnt. Es ist kompatibel mit dem unter MS-Windows weit verbreiteten»zip«und kann daher gut zum Datenaustausch genutzt werden. Um zu archivieren, wird folgendes Kommando aufgerufen: torsten@linux-4zkl:~/dokumente> zip -r packmich.zip * Informatik Klasse 9 85

torsten@linux-4zkl:~/dokumente> ls -l packmich.zip -rw-r--r-- 1 torsten users 1704235 6. Aug 17:37 packmich.zip Auch wenn die Online-Hilfe von zip (»man zip«oder»zip -h«) anderer Meinung ist, klappt das rekursive Archivieren nur mit der Option -r und nicht mit»-r«. Groß- und Kleinschreibung ist sowieso ein Problem bei Kompatibilätsversuchen mit MS-DOS. Gut, dass es dafür noch die Optionen»-L«und»-U«gibt, womit Klein- bzw. Großschreibung erzwungen werden kann. Die Kompressionsrate beträgt im Beispiel 48.3%. Entpacken funktioniert mit unzip: torsten@linux-4zkl:~/dokumente> unzip packmich.zip»unzip«ermöglicht ebenso das Betrachten des Archivinhalts. Hierzu ist die Option -t zu verwenden, die gleichzeitig auch die einzelnen Dateien des Archivs testet. torsten@linux-4zkl:~/dokumente> unzip -t packmich.zip Informatik Klasse 9 86

6.4.10. Eine Übung zum Vertiefen 1. Melde dich als normaler Benutzer an. Erstelle unter deinem Home-Verzeichnis (!) folgende Verzeichnis-Struktur: /home/benutzer Ordner_1 Ordner_2 Ordner_3 Ordner_4 Ordner_5 Ordner_6 2. Erstelle unter Ordner_4 eine leere Textdatei namens textl. txt 3. Fülle diese Datei mit einem kurzen Text. Nutze dazu Kate. 4. Erstelle nun noch eine Datei unter Ordner_6 mit dem Namen text2.txt. 5. Gib auch hier einige Zeilen ein. 6. Erstelle einen Softlink in Ordner_6 zu textl.txt. Nutze absolute Pfadangaben. 7. Kopiere textl.txt nach Ordner_6. 8. Kopiere Ordnen mit der gesamten Ordnerstruktur nach Ordner_5. 9. Erstelle unter Ordner_3 ein weiteres Verzeichnis Ordner_7. 10. Na, hast du noch den Durchblick? Schau dir (unter der Konsole mit den oben genannten Befehlen) mal deine neuen Ordner alle an und orientiere dich. 11. Verschiebe nun Ordner_1 samt Unterverzeichnissen nach Ordner_6. 12. Überzeuge dich nun davon, dass alles dort ist, wo es hingehört. 13. Nun lösche die gesamte Struktur wieder (auf der Konsole mit dem Befehl rm r). 14. Lösche abschließend die gesamte History der Bash mit history -c. Informatik Klasse 9 87

Linux ist von Hause aus ein Mehrbenutzer- und Mehrprozeß-System: mehrere Benutzer können zur gleichen Zeit mehrere Prozesse bzw. Programme ausführen. Das erfordert ist eine entsprechende Benutzerverwaltung: zum einen gibt es Systembenutzer, unter deren Kennung bestimmte Programme laufen, zum anderen persönliche Benutzerkennungen, unter welchen diese Benutzer arbeiten. Alle Programme, die ein Benutzer startet, laufen unter seiner Benutzerkennung. Entsprechend werden alle Dateien, die von einem Benutzer angelegt werden, unter dessen Benutzerkennung gespeichert. Eine Benutzerkennung besteht aus zwei Teilen: aus dem Benutzernamen, unter dem sich ein Benutzer anmeldet, sowie aus einer numerischen Kennung, der so genannten User-ID. Während Benutzer meist mit dem Benutzernamen arbeiten, arbeitet das Betriebssystem ausschließlich mit der User-ID. Also müssen Benutzername und zugehörige User-ID innerhalb eines Rechners einmalig sein. 7.1. Rechtekonzept Wo mehrere Benutzer gleichzeitig auf einem System arbeiten, muss es ein Rechtekonzept für Prozesse, Dateien und Verzeichnisse geben, damit Benutzer A nicht auf Dateien von Benutzer B zugreifen kann. Linux implementiert dazu das Standardkonzept aller Unix-Betriebssysteme. So ist jede Datei und jedes Verzeichnis genau einem Benutzer (Besitzer) und einer Gruppe zugeordnet. Die Benutzerkennungen selbst können mehreren Gruppen angehören. Jede Datei kennt Berechtigungen für den Besitzer, die Gruppe und alle anderen. Für diese drei Parteientypen können jeweils Schreib-, Lese- und Aus-führungsrechte vergeben werden. Anhand dieser Berechtigungen ist somit festgelegt, wer eine Datei lesen, schreiben oder ausführen darf. 7.2. Benutzerverwaltung Die Systemdaten der Benutzerkennungen werden in der Datei /etc/passwd gespeichert. Die Verwaltung der Benutzerdaten innerhalb des Systems erfolgt unter Linux über Befehle zur Benutzerverwaltung. Informatik Klasse 9 88

7.2.1. Neuen Benutzer anlegen useradd Mittels des Befehles useradd können neue Benutzer angelegt werden. Im einfachsten Fall wird dem Programm lediglich der Name des neuen Benutzers mitgeteilt. Optional können auch weitere Angaben zum neuen Benutzer gemacht werden. Neben dem Eintrag in der passwd-datei wird ein Homeverzeichnis für den Benutzer angelegt, wie er auch automatisch eine eindeutige User-ID erhält. Syntax: useradd [Optionen] <benutzerkennung> Folgende Optionen stehen dabei zur Verfügung: -c Kommentar -d Homeverzeichnis -e Expire - Datum (Format: MM/DD/YY) -g Primare Gruppenzugehörigkeit -G weitere Gruppenzugehörigkeiten -s Shell -u Benutzer - ID 7.2.2. Benutzer löschen userdel Neben einem Befehl zum Anlegen von Benutzern gibt es natürlich auch einen zum Entfernen von Benutzerkennungen aus dem System. Dieser Befehl heißt userdel. Als Parameter wird der Benutzername angegeben, der gelöscht werden soll. Wird das Kommando mit dem Parameter - r aufgerufen, werden auch die Daten im Homeverzeichnis des zu löschenden Benutzers entfernt. Syntax: userdel [-r] <Benutzer-kennung> 7.2.3. Benutzerdatenbank ändern vipw Die Benutzerdaten werden, wie bereits erwähnt, in der Datei /etc/passwd gespeichert. Diese Datei sollte niemals mittels eines normalen Editors bearbeitet werden. Ist eine solche Bearbeitung unumgänglich, steht dafür ein eigenes Programm namens vipw zur Verfügung. Es wird ohne Parameter aufgerufen und bietet die Funktionalität des Unix-Standardeditors vi. Informatik Klasse 9 89

7.2.4. Benutzerpasswort ändern passwd Willst Du - natürlich nur als Systemverwalter - Dein eigenes Passwort oder das eines anderen Benutzers ändern, geht das über den Befehl passwd. Soll nur das eigene Passwort geändert werden, braucht es keinerlei weitere Parameter. Soll das Passwort eines anderen Users geändert werden, ist die entsprechende Benutzerkennung als Parameter anzugeben. Daraufhin wird nach dem alten Passwort und dann zweimal nach dem neuen gefragt. Rufst Du das Programm als root oder Superuser auf, wird das alte Passwort nicht abgefragt. 7.2.5. Dateieigentümer einstellen chown Der Befehl chown ermöglicht das Einstellen des Datei- oder Verzeichniseigentümers. Als Parameter wird die Benutzerkennung des Besitzers und der Dateiname bzw. Verzeichnisname, dessen Eigentümer geändert werden soll, angegeben. Syntax: chown <Benutzerkennung> <Dateiname> 7.2.6. Dateigruppe einstellen chgrp Der Befehl chgrp arbeitet parallel zu chown. Der Unterschied besteht lediglich darin, dass chgrp die Gruppe einer Datei einstellt. Syntax: chgrp <Gruppenname> <Dateiname> 7.2.7. Dateirechte setzen chmod Jede Datei und jedes Verzeichnis kennt Rechte für Benutzer, Gruppe und Andere. Dabei kann jede dieser drei Parteien Schreib-, Lese- und Ausführrecht besitzen. Die einzelnen Rechte werden mittels folgender Kürzel beschrieben: r lesen w schreiben x ausführen Für die einzelnen Benutzergruppen werden ebenfalls Abkürzungen benutzt. Diese sind: u Besitzer Informatik Klasse 9 90

g o Gruppe Andere Mittels des Befehles chmod werden die Rechte für die einzelnen Gruppen eingestellt. Willst Du ein Recht für eine Gruppe einsetzen, setzt Du vor das entsprechende Kürzel ein Pluszeichen +, willst Du ein Recht entfernen, setzt Du ein Minus -. Syntax: chmod <Modus> <Datei- oder Verzeichnis> Modus beschreibt dabei, welche Gruppen welche Rechte bekommen. Sehen wir uns das an einem kleinen Beispiel an: Syntax: chmod ug+rw test. txt Mittels dieses Befehls wird der Gruppe und dem Besitzer der Datei test.txt das Schreib- und Leserecht für diese Datei gegeben. Analog dazu sind alle anderen Kombinationen denkbar. Wie bei allen Multitaskingsystemen gibt es auch unter Linux einige Befehle zum Prozessmanagement. Über diese Befehle hast Du Einfluss auf laufende oder zu startende Prozesse oder kannst ihren Prozessstatus beobachten. Die einzelnen Prozesse werden unter Linux von einem Scheduler verwaltet, der dafür sorgt, dass jedem Prozess die für ihn erforderliche CPU-Zeit zugeteilt wird. 8.1. Prozesse anzeigen lassen ps Mittels des ps-befehles können Prozesse angezeigt werden. Wird dieser Befehl ohne Parameter aufgerufen, listet das System die eigenen Prozesse auf. Dabei werden einige weitere Prozessinformationen angezeigt. Beispiel: Informatik Klasse 9 91