Übersicht I Einführung Zur Geschichte von Unix/Linux Grundlagen

Slides:



Advertisements
Ähnliche Präsentationen
Ext2. Geschichte Minixerhebliche Beschränkungen extfs ext2erstmals aufhebung aller drängenden Beschränkungen ext3erweiterung um Journaling.
Advertisements

Be.as WEB Technologie
Einer der Dienste im Internet
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
PC-Senioren Ludwigsburg
Ausführen.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
„Ansicht Arbeitsbereich“ ist die nutzerspezifische Ansicht, in der alle Dokumente aufgelistet sind, die dem angemeldeten Benutzer zugeordnet sind. D.h.
Stud.ip - Was ist das?! Kleiner Leitfaden für die ersten Schritte im System.
Pflege der Internetdienste
Markus Tank, Wie arbeitet man mit dem Rich Text Editor?
C.M. Presents D.A.R. und Ein Bisschen dies und das!
Java: Dynamische Datentypen
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
DNS – Domain Name System
Universität zu Köln Kurs Dedizierte Systeme
Eingabeaufforderung (EA) Windows I Nützliche Kommandos (Kommando und /? liefert meist eine Liste von Optionen): cd bzw. chdir: change directory, wechselt.
OC-Pro ermöglicht, ohne Installation zusätzlicher Software, die benutzerfreundliche Kalkulation von Netzhautdicke und Flächen intra-/subretinaler Flüssigkeitsansammlungen.
Sicher durchs Internet
UNIX-Dateisystem Vortrag: Ronny Kuhnert am
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Linux GOIT – Der Kurs. Linux GOIT – Der Kurs Geschichte Mainframes (IBM System/360) Workstation Personal Computer Stapelverarbeitung Workstation Mehrbenutzersystem.
DNS Domain Name System oder Domain Name Service
Steuerung externer Komponenten über ein USB-Interface.
© 2000,2001,2002 Rader Udo, bestsolution.at GmbH released under the GNU Free Documentation License, Version 1.1 graphische Oberfläche.
Freifach Netzwerktechnik mit Übungen
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
Vergleich Windows – Linux I
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Seminar Internet Technologien
Betriebssysteme: Unix
Von Patrik, Yannik, Marc und Luca
Einführung in 2 Betriebssysteme
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Einführungstutorial: Linux Konsole
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Backup der FTP-Daten mit BYSU (Back Your Space Up von George Ruinelli) Eine mögliche Variante, um FTP- Daten bei dem Provider „All-Inkl“ zu sichern.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Installation, Konfiguration, Online stellen, Zugriff © by Lars Koschinski 2003.
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
User Mode Linux Sven Wölfel 1. Juni User Mode Inhalt  Was ist UML?  Wofür kann man UML benutzen?
Übung Betriebssystem, Uni Innsbruck 1 Projekt1: Prozesse unter Unix Teil I Grundlagen von Unix.
Binärbäume.
Was ist Linux ? Linux ist grundsätzlich nur der Kernel (Betriebssystemkern) Zur Nutzung benötigt der Linux Kernel eine Software (meistens GNU) Der Begriff.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Remoting DEVOP PART II: WINDOWS POWERSHELL. Remoting  Ermöglicht es, alle CMDlets auch per Remote auf einem anderen Server auszuführen  Dafür gibt es.
Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.
Besitzrechte. Datei- und Verzeichnis-Besitzer Dateien und Verzeichnisse gehören einem Benutzer und einer Gruppe Besitzer wird bei ls -l in der dritten.
Auf dem Weg: Certified Linux LPI-Zertifizierung Dateizugriffsrechte und - eigentümerschaften verwalten Copyright (©) 2006 by W. Kicherer. This.
Linux Seminar Benutzer- und Gruppenverwaltung. Gliederung ● multiuser-konzept ● Arten von Benutzern ● relevante Dateien ● relevante Befehle.
1 Shell Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
Netzwerke - Protokolle
Linux.
Betriebssysteme LB BB SS2017
Ich brauche eine Web-Seite vom Server im Internet
 Präsentation transkript:

Einführung in Linux Holger Gollan (Axel Tombrink) Universität Duisburg-Essen Rechenzentrum Essen

Übersicht I Einführung Zur Geschichte von Unix/Linux Grundlagen Installation von SuSE 8.1 Netzwerk und Dienste Dateien und Verzeichnisse

Übersicht II Nutzer und Rechte Die Kommando-Shell System- und Dienstprogramme Hilfe ?!? weitere Veranstaltungen

Geschichte Stammbaum Eigenschaften Linux ist doch kostenlos, oder?

Stammbaum I 1969: Multics von Ken Thompson Abkehr von Batch-Systemen 1971: uniplexed information and computing system (unics) auf einer PDP-7 geschrieben in Assembler 1973: Dennis Ritchie stellt Unix auf C um bessere Portierbarkeit 1975: Freigabe des Quelltextes

Stammbaum II 1991: Linus Thorvald entwickelt einen UNIX- Kern für 386er-Prozessoren (V 0.11) Nutzung des Internets zur weiteren Verbreitung 1992: Erste Distributionen (V 0.99) 1994: Kernel 1.0 1996: Kernel 2.0 2000: Kernel 2.4

Eigenschaften hierarchisches Dateisystem Prozesse können im Hintergrund laufen Multitasking, multiuser Pipelining Netzwerkmöglichkeiten

GPL Linux selbst unterliegt der General Public License. Linux kann frei und kostenlos verteilt, eingesetzt und erweitert werden. Der Quelltext muss immer beigefügt werden.

Kosten Um den eigentlichen Linux-Kern herum gibt es viele zusätzliche Software X-Window-System Office-Pakete grafische Oberflächen auch kommerzielle Software ist verfügbar Distributionen liefern außerdem Routinen zur Installation und zur Verwaltung.

Grundlagen Nutzerkennung und Passwort Wer bin ich? Wer sind die Anderen? Wechsel des Passworts Verlassen des Systems

Nutzerkennung In einem Multiusersystem muss jeder Nutzer eine eindeutige Kennung besitzen. Diese wird beim so genannten Login- Vorgang abgefragt. Aus Sicherheitsgründen sollte die Kennung durch ein Passwort geschützt sein, welches beim Login ebenfalls abgefragt wird.

whoami Das Kommando whoami zeigt die derzeit aktuelle Nutzerkennung an. Dieses Kommando kann nützlich sein, um sich vor der Anwendung bestimmter Befehle abzusichern.

who Das Kommando who zeigt eine Liste der derzeit aktiven Benutzer im System an. An der Ausgabe ist der Zeitpunkt des jeweiligen Login-Vorgangs abzulesen.

passwd Das Kommando passwd ermöglicht die Änderung des Passworts. Zur Sicherheit muss zunächst das alte, und danach zweimal das neue Passwort angegeben werden. Nur der Nutzer selbst kann sein Passwort ändern.

exit Mit einem Logout wird die aktuelle Sitzung im System beendet. Möglichkeiten: exit quit <STRG> + D Sollten noch Programme in der aktuellen Sitzung laufen, so wird der Nutzer darauf hingewiesen.

Shutdown Das gesamte System wird durch den Befehl shutdown beendet. shutdown -h now shutdown -r now

Installation SuSE 8.1

Netzwerk und Dienste IP-Adressen Netzbereiche und Netzmasken Dienstprogramme ping, traceroute telnet, ftp die r-tools ssh

IP-Adressen In einem IP-Netzwerk ist jeder IP-Knoten durch seine IP-Adresse identifiziert. Eine IP-Adresse besteht aus 4 Bytes, also Zahlen zwischen 0 und 255, die durch Punkte miteinander verbunden sind. Die Adresse 127.0.0.1 bezieht sich immer auf localhost, also den Rechner selbst.

hostname Der IP-Adresse ist in der Regel ein so genannter hostname zugeordnet. Die Zuordnung erfolgt über die Datei /etc/hosts NIS (Network Information Services) DNS (Domain Name Server)

Netz-Klassen Klasse A Klasse B Klasse C 1.x.x.x - 126.x.x.x z.B. Standort Essen 132.252.x.x Klasse C 192.1.1.x - 223.254.254.x

reservierte Bereiche In jeder Klasse von IP-Adressen sind gewisse Bereiche reserviert, die für private Netze genutzt werden können, also nicht nach außen geroutet werden. 10.x.y.z 172.16.x.y - 172.31.x.y 192.168.0.x - 192.168.255.x

Netzmasken Netzmasken dienen der Unterteilung größerer Nutze in Subnetze. Binäres UND auf Netzmaske und IP-Adresse liefert die Netzwerkadresse, z.B. 132.252.165.15 + 255.255.255.224 = 132.252.165.0 132.252.165.33 + 255.255.255.224 = 132.252.165.32 Alle Rechner mit gleicher Netzwerkadresse liegen in einem Subnetz.

ping stellt fest, ob die Route zum angegebenen Ziel funktioniert. entweder mit hostname oder mit IP-Adresse

traceroute verfolgt die Route bis zum Ziel zeigt die Zwischenstationen der IP-Pakete auf dem Weg zum Ziel kommt die Verbindung zum Ziel nicht zustande, so kann man die "Bruchstelle" ablesen

telnet dient zur Anmeldung auf einem entfernten Rechner gültige Nutzerkennung wird benötigt auf dem entfernten Rechner muss der telnetd laufen Vorsicht: Der gesamte Verkehr, inklusive der Passwörter, wird im Klartext übertragen

ftp I dient zum Austausch von Dateien zwischen zwei Rechnern gültige Nutzerkennung wird benötigt, es sei denn, anonymous ftp ist zugelassen. auf dem entfernten Rechner muss der ftpd laufen Vorsicht: Der gesamte Verkehr, inklusive der Passwörter, wird im Klartext übertragen

ftp II Aufruf: Wichtige Befehle: ftp <ip-addr> bzw. ftp <host> Wichtige Befehle: ls: zeigt Verzeichnisinhalt an cd: wechselt remote das Verzeichnis lcd: wechselt lokal das Verzeichnis get: holt Datei vom entfernten Rechner put: schiebt Datei auf entfernten Rechner

r-Tools I ermöglichen das remote-Arbeiten auf einem entfernten Rechner, ohne sich explizit anzumelden umgeht die Sicherheitsprobleme von telnet und ftp, setzt dabei aber auf die Sicherheit des entfernten Systems benötigt einen entsprechenden Dämonen und eine Authorisierungsdatei auf dem entfernten System

r-Tools II rsh (remote shell) rlogin (remote login) rcp (remote copy) dient zum Ausführen von Programmen auf dem entfernten Rechner rlogin (remote login) dient zum Starten einer interaktiven Sitzung rcp (remote copy) dient zum Kopieren von Dateien zwischen zwei Rechnern

ssh Bei Programmen aus der ssh-Familie findet die gesamte Kommunikation verschlüsselt statt. Dadurch werden Passwörter nicht mehr im Klartext übermittelt. benötigt den sshd.

Übung 1 Testen Sie die Netzverbindung zu einem anderen Gerät im Pool. per IP-Adresse (132.252.165.x) per Hostnamen (linux(x).hrz.uni-essen.de)

Übung 2 Stellen Sie eine ftp-Verbindung zum Rechner 132.252.164.225 her. userid: xhrz passwd: xhrz123 Laden Sie die folgenden drei Dateien herunter: lesbar unlesbar gruppe

Dateien und Verzeichnisse Dateiarten Struktur des Dateisystems Dateiverwaltung

Dateiarten Unter Unix/Linux gibt es vier Dateiarten: normale Dateien Verzeichnisse Gerätedateien (devices) pipes

Verzeichnisbaum Unter Linux gibt es, anders als unter Windows-Systemen, nur einen einzigen Verzeichnisbaum. Hier sind alle Partitionen an so genannten Mount-Points aufgehängt. Auch externe Geräte finden sich an einer Stelle in diesem Verzeichnisbaum (/dev)

Verzeichnisse I Der Inhalt eines Verzeichnisses besteht aus Dateien sowie weiteren Verzeichnissen. Zwei besondere Verzeichnisse gehören standardmäßig zu jedem Verzeichnis: . Das Verzeichnis selbst .. Das übergeordnete Verzeichnis im Verzeichnisbaum

Verzeichnisse II Zum Wechsel zwischen Verzeichnissen gibt es das Kommando cd (change directory) Neue Verzeichnisse werden mit dem Kommando mkdir (make directory) angelegt. Zum Löschen von Verzeichnissen kann das Kommando rmdir (remove directory) benutzt werden.

Pfade Dateien und Verzeichnisse sind auf zwei unterschiedlichen Wegen ansprechbar. absoluter Pfad: Ausgehend von der eindeutigen Wurzel / des Dateisystems Relativer Pfad: Ausgehend vom aktuellen Verzeichnis Das aktuelle Verzeichnis kann mit dem Befehl pwd (present working directory) ermittelt werden.

Links I Durch so genannte Links kann man Dateien unter mehreren Namen ansprechen. Syntax: ln [-s] <orig> <link> Die Option -s schafft einen symbolischen Link. Bei einem symbolischen Link wird ein Verweis auf das Original erzeugt, welcher gesondert im Dateisystem abgelegt wird.

Links II Im Gegensatz zu symbolischen Links verweisen so genannte Hard Links auf die gleiche Stelle im Dateisystem. Ein einziger Eintrag im Filesystem ist damit unter zwei verschiedenen Namen erreichbar; eine Unterscheidung zwischen Original und Link ist nicht möglich. Hard Links können nicht über Partitionen hinweg gebildet werden.

Dateiverwaltung ls cp mv rm cat head tail

Vorbemerkungen Die Kommandos besitzen in der Regel eine größere Anzahl von Optionen, die i.a. mit einem Minus nach dem Kommandonamen eingeleitet werden. Nähere Infos erhält man über die man-Pages (Aufruf: man <cmd>). Vorsicht: Die Auswirkungen eines Kommandos sind in der Regel nicht mehr rückgängig zu machen.

ls Das Kommando ls (list) zeigt den Inhalt eines (des aktuellen) Verzeichnisses an. Syntax: ls [<dir>] Wichtige Optionen: -l: long listing -a: listet alle, auch versteckte Dateien -t: sortiert nach Änderungsdatum -r: dreht die Sortierreihenfolge um

cp Das Kommando cp (copy) kopiert eine oder mehrere Dateien an einen anderen Ort. Syntax: cp <src1> [<src2>...] dest Vorsicht: Die Zieldatei wird eventuell ohne Nachfrage überschrieben. Wichtige Optionen: -i: interaktiver Modus -> Nachfrage -r: rekursives Kopieren

mv Das Kommando mv (move) benennt Dateien oder Verzeichnisse um. Syntax: mv <src> <dest> Vorsicht: Die Zieldatei wird eventuell ohne Nachfrage überschrieben. Wichtige Optionen: -i: interaktiver Modus -> Nachfrage -b: legt eine Sicherheitskopie an

rm Das Kommando rm (remove) löscht Dateien oder Verzeichnisse. Syntax: rm <datei> Wichtige Optionen: -r: rekursives Löschen -i: interaktiver Modus -> Nachfrage

cat Das Kommando cat (concatenate) zeigt Dateiinhalte an. Syntax: cat <datei> Wichtige Optionen: -n: gibt Zeilennummern aus -A: Darstellung von Steuerzeichen

head Das Kommando head gibt den Anfang einer Datei aus. Syntax: head <datei> Wichtige Optionen: - #: Anzahl der auszugebenden Zeilen

tail Das Kommando tail gibt das Ende einer Datei aus. Syntax: tail <datei> Wichtige Optionen: - #: Anzahl der auszugebenden Zeilen

Editoren Unter Linux gibt es verschiedene Editoren, um Dateien zu erstellen bzw. zu verändern: auf der Kommandozeile vi joe pico im grafischen Modus nedit kedit emacs

Übung 3 Erstellen Sie eine Kopie der Datei /etc/passwd in Ihrem Heimatverzeichnis. Erzeugen Sie einen symbolischen und einen Hard Link zu dieser Kopie. Studieren Sie das unterschiedliche Verhalten der beiden Link-Varianten. ls -l rm ...

Übung 4 Erzeugen Sie mehrere Verzeichnisse unterhalb Ihres Heimatverzeichnisses. Kopieren Sie verschiedene Dateien in diese neuen Verzeichnisse und benutzen Sie dabei sowohl absolute als auch relative Pfade. Benutzen Sie die Befehle rmdir bzw. rm, um die neuen Verzeichnisse wieder zu löschen.

Nutzer und Rechte Nutzer und Gruppen /etc/passwd, /etc/shadow, /etc/group Zugriffsrechte suid, sgid, T-Modus

Nutzer Jeder Benutzer wird intern durch eine eindeutige Kennzahl, die so genannte uid, identifiziert. Der uid sind login-Name und Passwort zugeordnet. Die uid 0 gehört dem Super-User root.

Gruppen I Jeder Nutzer gehört mindestens einer Gruppe an. Über Gruppen kann man gemeinsame Rechte an Ressourcen vergeben. Nutzer können auch in mehreren Gruppen Mitglied sein, von denen eine die Hauptgruppe und eine die derzeit aktive Gruppe ist.

Gruppen II Vom Nutzer neu angelegte Dateien gehören in die aktuelle Gruppe des Nutzers. Mit Hilfe des Befehls newgrp kann die aktuelle Gruppe geändert werden. Der Befehl id liefert den derzeitigen Status.

/etc/passwd, /etc/shadow Wesentliche Daten des Nutzers werden in die /etc/passwd eingetragen Name uid Hauptgruppe Home-Verzeichnis Login-Shell Die verschlüsselten Passwörter werden in der Datei /etc/shadow hinterlegt.

/etc/group Die wesentlichen Informationen über die Gruppen sind in der Datei /etc/group hinterlegt.

Verwaltung Die Nutzer- und Gruppenverwaltung kann per Kommandozeile (useradd, usermod, userdel, groupadd, groupmod, groupdel) oder über yast bzw. yast2 erfolgen. yast->Administration des Systems

Eigentümerschaft Eigentümerschaft an Ressourcen wird über die uid verwaltet. Der Eigentümer legt die Zugriffsrechte für die jeweilige Ressource fest. Der Eigentümer kann auch die Gruppe einer Datei/eines Verzeichnisses ändern, nicht jedoch den Besitzer. root ist immer zusätzlich Eigentümer aller Ressourcen.

Benutzerklassen Drei Benutzerklassen pro Datei/Verzeichnis u (user) - Besitzer der Datei g (group) - Mitglieder der Gruppe, zu der die Datei gehört o (other) - alle anderen Nutzer Außerdem a (all) - alle Nutzer im System

Rechte Drei Rechte pro Benutzerklasse r (read) w (write) x (execute) Vorsicht bei Verzeichnissen, da sich hier Lese- und Schreibrecht auf den Inhalt des Verzeichnisses bezieht. Das Ausführrecht bei Verzeichnissen bewirkt, dass der Nutzer in das Verzeichnis wechseln darf.

Änderung der Rechte Der Eigentümer einer Datei/eines Verzeichnisses kann die Zugriffsrechte mit Hilfe des chmod-Befehls ändern. Entweder symbolisch, z.B. chmod a+x datei oder nummerisch, z.B. chmod 640 datei

nummerische Rechte Bei der nummerischen Beschreibung der Dateirechte stehen drei Ziffern, in dieser Reihenfolge, für die drei Nutzerklassen user, group, other. Der Wert wird durch Addition der einzelnen Werte für die gesetzten Rechte ermittelt: 4 = read 2 = write 1 = execute

umask Mit Hilfe des umask-Befehls kann man voreinstellen, welche Rechte bei einer neu erstellten Datei nicht gesetzt sein sollen. Oft wird das x-Recht bei nicht ausführbaren Dateien automatisch nicht gesetzt. Beim Kopieren von Dateien werden die alten Rechte übernommen, wenn sie nicht durch die umask gefiltert werden.

SUID Auch laufende Prozesse haben einen Eigentümer, normalerweise den Nutzer, von dem sie gestartet wurden. Dies kann hinderlich sein, wenn sie auf Systemressourcen zugreifen müssen. SUID-Programme können daher mit den Rechten des Programmeigentümers laufen. Vorsicht: Dies öffnet Sicherheitslücken!

SGID Ebenso kann auch die Gruppe eines laufenden Programms von der aktuellen Gruppe des startenden Nutzers verschieden sein. Außerdem kann man auch bei Verzeichnissen das SGID-Bit setzen. Als Konsequenz gehören dann neu angelegte Dateien automatisch zur gleichen Gruppe wie das Verzeichnis selbst.

T-Modus Haben mehrere Nutzer Schreibrecht in einem Verzeichnis, z.B. /tmp, so sind sie in der Lage, gegenseitig Dateien zu löschen. Dieses kann durch den so genannten T- Modus verhindert werden, durch den sicher gestellt wird, dass nur noch die Rechte der Datei selbst für den Löschvorgang wichtig sind.

Einrichten des X-Window Systems

Übung 5 Richten Sie einen zweiten normalen Nutzer auf Ihrem System ein, dessen Gruppe von der des ersten Nutzers verschieden ist. Sorgen Sie als erster Nutzer dafür, dass die beiden Dateien lesbar und unlesbar sich so verhalten, wie ihr Inhalt es beschreibt.

Übung 6 Richten Sie einen weiteren Nutzer ein, der zur gleichen Gruppe wie der bei der Installation eingerichtete Nutzer gehört. Sorgen Sie als erster Nutzer dafür, dass sich die Datei gruppe so verhält, wie ihr Inhalt es beschreibt.

Die Kommando-Shell Kommandotypen Standarddateien Kommandofolgen Kommandogruppen Pipes Hintergrundprozesse Die Shell-Umgebung Expandierung, Wildcards

Kommandotypen Ein Kommando wird in der Regel als Kindprozess der Shell gestartet. Der Vaterprozess wartet dann, bis der Kindprozess beendet wird. Es gibt drei Arten von Kommandos eingebaute Systemkommandos (intern); laufen nicht als Kindprozess, sondern in der Shell ab sonstige Systemkommandos (extern) vom Nutzer erstellte Programme und Prozeduren

Standarddateien Jeder Prozess besitzt Standardeingabe - Tastatur Standardausgabe - Bildschirm Standardfehlerausgabe - Bildschirm Diese Standards lassen sich umlenken Standardeingabe: cat < datei Standardausgabe: ls > datei Standardfehlerausgabe: rm -r dir 2> error Anhängen an Datei: cat datei1 >> datei2

Kommandofolgen Normalerweise werden Kommandos nacheinander in getrennte Zeilen geschrieben. Sie können aber auch in eine Zeile geschrieben werden, getrennt durch ein ';' cat datei1 >> datei2; rm datei1

Kommandogruppen I Mehrere Kommandos können auch in einer Kommandogruppe zusammengefasst werden. (pwd; ls) > datei Die Standardausgabe der Gruppe besteht aus den Ausgaben der einzelnen Kommandos.

Kommandogruppen II Dabei wird die Kommandogruppe immer in einem eigenen Prozess ausgeführt. Vergleiche cd verz; ls -ls pwd mit (cd verz; ls -ls)

Pipes Man kann die Standardausgabe eines Kommandos als Eingabe eines weiteren Kommandos nutzen. cat datei | more Die so genannte Pipe wird in einem neuen Prozess ausgeführt, der Kindprozesse für jedes einzelne Teilkommando startet. Standardausgabe ist die Ausgabe des letzten Kommandos

Hintergrundprozesse I Kommandos können durch das Zeichen '&' am Ende des Befehls in den Hintergrund geschickt werden. Standardeingabe ist /dev/null, Ausgaben bleiben auf dem Bildschirm. Mit Hilfe des Befehls nohup (no hang up) können Hintergrundprozesse von der Shell gelöst werden, um eine frühzeitige Beendigung zu verhindern.

Hintergrundprozesse II Vordergrundprozesse können durch ein <STRG> + c abgebrochen werden. Für Hintergrundprozesse gibt es den Befehl kill pid, eventuell kill -9 pid. Die Prozessnummer wird beim Start eines Hintergrundprozesses mitgeteilt; ansonsten kann sie mit dem Befehl ps (process status) ermittelt werden.

Die Shell-Umgebung Variablen Sondervariablen Maskierung Kommandoersetzung Die Prologdatei .profile

Variablen In der Shell können Variablen mit Werten belegt werden. Name=Wert, z.B: a=5 Dieser Werte können durch vorangestelltes $-Zeichen abgerufen werden. b=$a; echo $b

Sondervariablen Einige Variablen sind bereits systemseitig definiert und haben eine besondere Bedeutung. HOME: absoluter Pfad des Heimatverzeichnisses PATH: enthält eine Liste derjenigen Verzeichnisse, die beim Aufruf eines Programms durchsucht werden PS1: enthält den Login-Prompt

Maskierung I Gewisse Zeichen haben in der Shell eine besondere Bedeutung: < > ; $ \ & ( ) | Um diese Sonderbedeutung zu unterdrücken, müssen diese Zeichen maskiert werden. \ maskiert nur das nächste Zeichen ' ' maskiert alles Eingeschlossene (außer ') " " maskiert alles außer $ \ '

Maskierung II d=$HOME e=\$HOME echo $d $e f='$HOME' g=“$HOME“ -> /home/user $HOME f='$HOME' g=“$HOME“ echo $f $g -> $HOME /home/user

Maskierung III Vorsicht bei der Berechnung des Wertes von Variablen; auch hier werden die Sonderzeichen maskiert und verlieren damit ihre Sonderbedeutung. h='ls -l | wc' $h Um den in einer Variablen enthaltenen String als Kommando auszuführen, benötigt man den Befehl eval. eval $h

Kommandoersetzung I Einer Variablen wird die Standardausgabe eines Kommandos zugewiesen, wenn dieses innerhalb umgekehrter Hochkommata ` ` steht. h=`ls -l | wc` echo $h

Kommandoersetzung II Umgekehrte Hochkommata maskieren nicht. d=/etc h=`ls -l $d | wc` echo $h Umgekehrte Hochkommata werden durch ein \ und zwischen ' ' maskiert, nicht aber zwischen " ". n=“Aktuelles Verzeichnis ist `pwd`“ echo $n

Die Prologdatei .profile Existiert eine Datei namens .profile im Heimatverzeichnis, so werden die darin enthaltenen Kommandos beim Login automatisch ausgeführt. Dadurch kann jeder Nutzer sich seine eigene Umgebung erstellen. Beim ls-Kommando ist diese Datei nur bei der Option -a sichtbar.

Expandierung, Wildcards Wildcards können benutzt werden, um aus einer Menge von Dateien nach gewissen Kriterien auszuwählen. * steht für eine beliebige, auch leere Zeichenfolge ? steht für genau ein beliebiges Zeichen [Zeichenkette] steht für genau ein Zeichen aus der angegebenen Zeichenkette [Zeichen1-Zeichen2] steht für genau ein Zeichen zwischen Zeichen1 und Zeichen2

Übung 7 Führen Sie den folgenden Befehl im Hintergrund aus und killen Sie ihn: find / -name "c*" -print >out 2>err Listen Sie alle Dateien im Verzeichnis /bin auf, deren Namen mit a beginnen mit c oder l beginnen, und auf s enden mit a-k beginnen und aus genau drei Zeichen bestehen

System- und Dienstprogramme ein Sortierprogramm ein Textsuchprogramm ein Suchkommando Plattenbelegung Datenkomprimierung

sort Der Befehl sort sortiert die Zeilen einer Textdatei. Syntax: sort [+pos] [-pos] <datei> Wichtige Optionen: -r: sortiert in absteigender Reihenfolge -f: Groß- und Kleinbuchstaben werden nicht unterschieden -u: entfernt doppelte Zeile in der Ausgabe

grep grep durchsucht die Inhalte von Dateien nach vorgegebenen Mustern Syntax: grep <muster> <datei> Im Muster können Metazeichen verwendet werden: ^: sucht das Muster am Anfang der Zeile $: sucht das Muster am Ende der Zeile .: steht für ein beliebiges Zeichen

find I Mit Hilfe von find kann man Dateibäume nach Dateien durchsuchen, die gewissen vorgegebenen Kriterien entsprechen find <dir> -name <muster> -print Obiges Kommando sucht, beginnend im Verzeichnis <dir>, rekursiv nach allen Dateien, die dem angegebenen Muster entsprechen

find II Statt des Namens können auch andere Kriterien für die Suche angegeben werden -perm: Zugriffsrechte -ctime: letzte Änderung Außerdem kann auf die ausgewählten Dateien auch sofort ein Befehl angewendet werden -exec statt -print

df, du Das Kommando df gibt Informationen über die Belegung des Dateisystems. Das Kommando du zeigt den belegten Platz eines Verzeichnisses, einschließlich aller Unterverzeichnisse du -a: Information über jede Datei du -s: nur die Gesamtbelegung

Datenkomprimierung Mit dem Kommando compress kann man Dateien komprimieren. Dabei wird die alte Datei gelöscht, es entsteht eine neue Datei mit der Endung .Z Umkehrung durch den Befehl uncompress Mehrere Dateien können durch zip zu einer Datei zusammengefügt werden, Umkehrung durch unzip

Übung 8 Sortieren Sie die Ausgabe des Befehls ls -l so, dass die Dateien der Größe nach sortiert werden, beginnend mit der größten. Finden Sie rekursiv alle Dateien ab dem Verzeichnis /usr, die mit c beginnen und mit p enden. Finden Sie alle Dateien im Verzeichnis /etc, die das Textmuster "ftp" enthalten.

Hilfe ?!? Web-Seiten News-Groups Programmberatung des HRZ www.suse.de www.linuxfibel.de www.selflinux.de News-Groups Programmberatung des HRZ ELUG und EliSta

Veranstaltungen Benutzeroberfläche KDE Linux-Systemadministration Linux/Unix-Vertiefungskurs

ENDE! Vielen Dank für die Aufmerksamkeit