48
Christopher Oezbek, [email protected] berlin.de 1 Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin, Institut für Informatik http:// www.inf.fu-berlin.de / inst / ag-se /

1 Christopher Oezbek, [email protected] Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Embed Size (px)

Citation preview

Page 1: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 1

Linux und die KommandozeileBrückenkurs Informatik WiSe 2005

Christopher Oezbek

Freie Universität Berlin, Institut für Informatikhttp://www.inf.fu-berlin.de/inst/ag-se/

Page 2: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 2

Eine kurzer Überblick über Linux

• Linux – soviel verrät der Name schon – ist ein Kind des Betriebssystems Unix.

• Unix entstand in den Sechziger und Siebziger Jahren als Betriebssystem für "Minicomputer"

wie die PDP11 draußen im Foyer

• Als der IBM PC immer populärer wurde, wollte man auch dort ein Unix-ähnliches Betriebssystem laufen lassen.

• Leider war Unix nur kommerziell verfügbar und teuer.

• Es entstanden ein paar Abwandlungen wie Minix und 386BSD.

• Das Problem war aber, dass es sehr viel verschiedene Hardware zu unterstützen gab.

Page 3: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 3

Ein Finne erobert die Welt

• Linus Torvalds war 1991 Informatik-student in Helsinki.

Im dritten Jahr an der Uni.

• Er begann, für seinen Computer einBetriebssystem zu entwickeln.

• Dabei stützte er sich in einigen Teilenauf Minix und Unix.

• Wichtiger war, dass er sich im August 1991 an die Öffentlichkeit wandte.

• Linus Torvalds hatte den richtigen Riecher: Eine solche Aufgabe sollte man gemeinsam lösen. (und Linus schaffte die passende Atmosphäre dafür) Aber es gab noch eine wichtige Voraussetzung:

Page 4: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 4

Die freie Lizenzierung

• Seit den Achtziger Jahren kämpftRichard Stallman für die Freiheitder Software.

• Das Problem war und ist, dass die Firmen ihre Software nur noch als Programme veröffentlichten, die man nicht verändern konnte und durfte.

• Dem entgegen stellte Stallman die "GNU General Public License" (GPL):

Man muss das Programm laufen lassen dürfen. Es muss Einblick in das komplette Programm gewährt

werden und Änderungen müssen erlaubt sein. Das Programm muss kostenfrei verteilt werden dürfen. Programme die aus einem GPL Programm entstehen,

müssen die Lizenz beibehalten.

Page 5: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 5

Was bedeutet das?

• Software unter der GPL hat damit den Vorteil, dass: Software, die einmal frei ist, dies auch bleibt. Beiträge nicht von anderen zum Geld verdienen

missbraucht werden können.

• Die GPL ist also ein Vertrag, der es jedem einzelnen ermöglicht einzuschätzen, wie sein Beitrag verwertet wird.

• Dies hat große Vorteile für eine kollaborative Arbeit von Hobbyisten, wie es Linux am Anfang war.

• Viele Programmierer überall auf der Weltstürzten sich auf Linux und eine Grundmengean Werkzeugen aus dem GNU-Projektund arbeiten daran zusammen weiter.

Page 6: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 6

Linux heute...

• Linux ist neben Windows eines derpopulärsten Betriebssysteme.

• Es gibt für nahezu alle wichtigen Softwarebereiche auch Programme für Linux.

• Seine Stärken liegen besonders im Bereich, wo keine Endbenutzer arbeiten (Server).

• Unter Akademikern, Studenten und Hackern erfreut es sich größter Beliebtheit, obwohl es oft nicht so einfach zu bedienen ist wie Windows oder MacOS.

• Am Institut gibt es das Studentische Projekt Linux Netzwerk ("Spline").

Diese veranstalten Linux-Installations-Parties und helfen dort bei den komplizierten Feinheiten.

Es ist durchaus kein einfacher Umstieg.

Tux

Page 7: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 7

Ein Screenshot für Windows

Page 8: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 8

Ein Screenshot für Linux

Page 9: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 9

Zusammenfassung

• Linux wurde aus freiwilligen Beiträgen erstellt.

• Jeder kann sich das Betriebssystem und die vielen Anwendungen, die auf der Basis entstanden sind, kopieren, selbst verbessern und erweitern.

• Natürlich gibt es noch viel darüber zu lernen: Wie kann eine Firma wie Suse oder Redhat Linux

verkaufen? Was ist Open Source? Wie funktioniert das rechtlich? Was ist Copyleft und Creative Commons? Was bringt es mir, die Programme theoretisch ändern zu

können, wenn es aber in Wirklichkeit viel zu kompliziert ist? Wie verdient Linus Torvalds sein Geld?

Page 10: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 10

Verzeichnisse und Dateien

• Vereinfacht: Eine Datei ist Daten plus Namen.

• Um diese Dateien hierarchisch zuordnen, verwendet man Verzeichnisse.

• Jedes Verzeichnis kann Dateienund wiederum Verzeichnisseenthalten.

• In Anlehnung an frühereBüros werden Verzeichnisseauch Ordner (engl. Folders)genannt.

• Dadurch ergibt sichein so genannterVerzeichnisbaum(Directory Tree) ->

Meine Dateien

CV.doc

Bild1.jpg Plan.svg Hits42.cda Jam.mp3

Bilder Musik

Page 11: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 11

Verzeichnispfad und Dateinamen

• Zwei Dateien müssen verschiedene Namen haben,

es sei denn, sie liegen in verschiedenen Verzeichnissen

• Um eine Datei eindeutig zu identifizieren verwendet man dann den so genannten Pfad

path, Verzeichnispfad, Dateipfad

• Im rechten Beispiel gibt es CV.doc zweimal in verschiedenen Verzeichnissen (Pfaden):

Eigene Dateien\CV.doc Eigene Dateien\Alt\CV.doc

• Den Backslash \ nennt man "Pfadtrennzeichen" oder "Path-Separator".

Meine Dateien

CV.doc Alt

CV.doc

Page 12: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 12

Windows: Verzeichnisse

• Unter Windows (Dateimanager Explorer) sieht der Dateibaum so aus:

• Es sieht so aus, als sei der Desktop das oberste Verzeichnis.

• In Wirklichkeit wird unter Windows aber alles relativ zu einer Festplatte angesprochen, z.B.

C:\Programme\Winamp\ D:\Kurs\Einleitung.pdf

• Das Trennzeichen ist ein Backslash \.

Page 13: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 13

Linux: Verzeichnisse

• Unter Linux (z.B. Dateimanager Konqueror) ist dies anders:

• Es gibt tatsächlich nur ein oberstes Verzeichnis: / auch root directory oder Wurzelverzeichnis genannt.

Achtung: der Administrator des Linux-Computers wird auch Root genannt.

• Die verschiedenen Festplatten werden dann an unterschiedlichen Stellen in diesen Baum eingebunden (mounted).

• Das Trennzeichen ist der Slash / (nicht der Backslash):

/home/oezbek/kurs/einleitung.pdf /usr/bin/xine

Page 14: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 14

Datei-Namensendungen unter Linux

• Unter Windows bestimmt die Dateiendung (File-Extension), welcher Typ von Datei vorliegt.

exe und com sind ausführbar. dll ist eine Programmbibliothek. txt, doc, rtf sind Textformate...

• Unter Linux ist dieser Zwang gelockert. Unter Linux gibt es ein spezielles Bit, das anzeigt, ob eine

Datei ausgeführt werden darf (eXecute-Flag). Deshalb sind keine Endungen nötig. Auf der anderen Seite ist es ohne die Endungen oft

schwieriger zu erkennen, was die Datei für einen Typ hat. Viele Benutzer behalten deshalb Dateiendungen bei. Im Prinzip gibt es aber keinen Unterschied ob ihr eine Datei

hallo oder hallo.txt nennt.

Page 15: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 15

Groß- und Kleinschreibung

• Windows unterscheidet nicht

• Linux aber schon

• Man kann also unter Linux die folgenden Dateien haben: hallo Hallo HALLO

• ...und sie sind alle unterschiedlich.

• Also Achtung beim Aufrufen von Befehlen und Programmen.

Page 16: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 16

Kommandozeile

• Wie viele haben noch Computer kennen gelernt, bei denen die Kommandozeile die Haupteingabeform war?

Page 17: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 17

Ein anderes Paradigma

• Als mehrfarbige Bildschirme noch teuer waren und auch die Hardware nicht so leistungsfähig war, verwendete man folgenden Ansatz für die Kommunikation mit dem Rechner:

Der Benutzer bekommt vom Computer einen textuellen Prompt vorgegebenen.

Auf diese Eingabeauforderung antwortet der Benutzer durch Eintippen eines Befehls.

Wird dieser Befehl mit Enter bestätigt, führt der Computer diesen aus und zeigt das Ergebnis der Ausführung an.

Anschließend wartet der Computer wieder auf Eingabe.

Page 18: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 18

Der Terminal-Ansatz

• Wenn man noch weiter zurück geht, war es sogar so, dass man einen zentralen Rechner hatte und viele verbundene Bildschirme mit Tastatur.

• Diese Bildschirm empfingen Zeichen vom Zentralrechner und zeigten sie an und schickten die Eingabe des Benutzers zurück an den Rechner.

• Man nannte diese "dummen" Bildschirme ohne Festplatte und Prozessor auch Terminals.

• Dementsprechend werden Programme, die heute die Funktion des Terminals ersetzen, auch als Terminal-Emulatoren bezeichnet.

Page 19: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 19

Vergleich zur graphischen Eingabe

• Macht euch klar, dass die Eingabeaufforderung nichts anderes ist, als eine andere Sicht auf das System.

Zugrunde liegen die gleiche Hardware und gleichen Daten. Die meisten Tätigkeiten lassen sich in beiden Welten gut lösen.

• Aber es gibt Unterschiede: Textuelle Befehle kann man kopieren. Bei Mausklicks ist das schwieriger. Graphisch lassen sich aber viele

Informationen besser darstellen. Die Kommandozeile ist linear. Graphische Oberflächen sind 2D

(vielleicht kann man sogar 3D sagenaka Fenster im Hintergrund).

Page 20: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 20

Bereiche, wo die Kommandozeile vorherrscht

• Überall dort, wo Aktionen im Dateisystem automatisiert und vom Computer gesteuert werden sollen, hat die Kommandozeile deutliche Vorteile:

Alle Dateien mit Endung htm in Endung html umbenennen. for f in *.htm; do mv $f `basename $f .htm`.html; done;

• Das geht mit graphischen Mitteln nur schwierig bzw. mit speziellen Werkzeugen.

• Insgesamt aber verliert die Kommandozeile gegenüber graphischen Oberflächen mehr und mehr an Bedeutung.

Unter MacOS X gibt es z.B. den Automator -> Unter Windows hat man als Benutzer

kaum noch Kontakt mit der "Shell".

Page 21: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 21

Wie komme ich auf eine Kommandozeile?

• Windows:

cmd steht für command.

Die Kommandozeile häufig auch Command Line Interface (CLI) oder Command Shell oder nur Shell genannt.

Page 22: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 22

Linux

• Wenn ihr an einem Linuxrechner sitzt, dann heißt ein entsprechendes Programm, welches ein solches Fenster anzeigt:

Konsole (KDE) Term (kurz für Terminal Emulator) oder auch X-Term Shell

• Darüber hinaus redet man auch gerne von dem Programm, welche die Kommandozeile in dem Fenster verwaltet:

Bash, Csh, Ksh, Zsh, Shell

• Ihr könnt an einem Linux-Rechner (auch gerne Linux-Kiste genannt) aber auch STRG+ALT+F1 bis F6* drücken und seht dann Linux ohne graphische Oberfläche (Zurück mit STRG-ALT+F7).

Page 23: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 23

Z.B. Konsole unter KDE

Page 24: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 24

Namensverwirrung

• Hier noch mal alle Namen, die alle letztlich oft einfach dafür verwendet werden, die Kommandozeile zu benennen:

Kommandozeile / Command-Line / CMD Kommandoprompt / Prompt CLI (Command-Line Interface) Eingabefenster / Eingabeaufforderung Terminal Emulator / Terminal / X-Term / Term Konsole Alles, was mit Sh wie Shell endet:

• Bash, CSh (sprich Cee-Shell), Ksh Beliebt auch Namen der Windows-Programme und

Protokolle: SSH Client, Putty, SSH Shell, Telnet, Hyperterm

• Nicht irre machen lassen ;-)

Page 25: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 25

Von Windows auf Linux zugreifen

• Wir haben gestern ja schon gelernt, wie man sein Passwort ändert, indem man sich auf dem Rechner chpasswd einloggt.

• Da dies über einen verschlüsselten Kanal funktioniert (ssh), seid ihr vor Angreifern sicher.

• Mit der gleichen Technik könnt ihr euch auch auf einen Linux-Rechner zum Arbeiten einloggen, z.B. auf

paste 2 x 3,0 GHz P4 HT 4 GB U320 SCSI vader 4 x 700 MHz PIII 1 GB U160 SCSI nawab 2 x 1,6 GHz AMD 2 GB EIDE weather 2 x 1,0 GHz PIII 1 GB U160 SCSI

• Diese sind für euch zugänglich und nur für das Einloggen gedacht.

Page 26: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 26

So geht's...

Page 27: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 27

So, jetzt sind wir da und was machen wir jetzt?

• Erstmal umschauen, wo wir sind (PrintWorkDirectory):

• und anschauen, was es da so gibt (list):

• Und schon nach 2 Befehlen merkt ihr, dass man sich ziemlich viele Begriffe merken muss und alles in Englisch ist. Sorry!

• Linux lernen ist wie eine neue Sprache lernen.Man muss Vokabeln pauken! (aber nur ein paar Hundert)

Page 28: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 28

Wie bewegt man sich im Dateisystem

• Angenommen ihr seid im Verzeichnis brueckenkurs.

• Wie kommt man nach alt? cd alt

• Wie kommt man nach alp1? cd uebungsblaetter cd alp1 oder cd uebungsblaetter/alp1

• Wie kommt man von alt nachbrueckenkurs?

cd ..

• Wie kommt man von alp1 nach alt? cd ../../alt (alternativ auch cd ../../alt/../alt)

brueckenkurs

alt uebungsblaetter

alp1 alp2

Page 29: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 29

.forward anlegen

• Gestern hatten wir das ja gehabt.

• Wollt ihr eure Email weiterleiten dann verwendet .forward

• Wir sind jetzt unter Linux nach dem Einloggen genau dort, wo wir diese Datei hinlegen müssen.

cd - In das Heimatverzeichnis gehen. joe .forward - Texteditor joe auf Datei .forward

anwenden Ziel-Emailaddresse eingeben. STRG+K X zum Speichern.

• Achtung: Zur Sicherheit vorher immer alle Email abholen, es könnte sein, dass ihr sonst welche verliert.

Page 30: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 30

Die Shell wechseln

• Standardmäßig ist auf den Accounts die csh (Cee-Shell) für euch ausgewählt. Das kann man aber ändern (deshalb auch einige Fehler auf dem Übungsblatt):

• joe .cshrc

• Ändere die Zeile #setenv LIEBLINGSSHELL tcsh

• zu setenv LIEBLINGSSHELL bash

• Beim nächsten Einloggen habt ihr dann die Bash zur Verfügung!

• Das Übungsblatt ist für Bash gemacht und nicht mit Csh.

Page 31: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 31

Die wichtigsten Befehle - Achtung mit <...>

• man <befehl> (manual) – Ruft die Hilfe zu einem Befehl auf z.B.

Beispie: man rm

• apropos <begriff> – Sucht nach einem Befehl, der den Begriff in der Beschreibung enthält.

Beispiel: apropos remove Achtung: Da kommt oft zuviel zurück! Sucht ihr einen Befehl, funktioniert der Befehlapropos remove | grep '(1)' besser

• <befehl> --help – Gibt oft eine Minimalhilfe zurück.• cd <verzeichnis> (change directory) - Wechselt in

ein Verzeichnis.• cd .. – Wechselt ein Verzeichnis nach oben. Space!!• cd – Wechselt in eurer Heimatverzeichnis.

Page 32: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 32

Mehr Befehle

• exit – Loggt euch aus.• rm <Datei> (remove) – Löschen• cp <quelle> <ziel> (copy) – Kopieren• mv <quelle> <ziel> (move) – Bewegen

Mit -r auch jeweils für Unterverzeichnisse.

• ls (list) – Listet Dateien im Verzeichnis auf.• less <Datei> – Zeigt eine Datei an (Beenden mit q). • killall <Befehl> – Beendet alle laufenden Versionen

des Befehls.• tar -xvzf <Datei>.tar.gz – Datei entpacken.• tar -cvzf <Ziel>.tar.gz <Quelle> – Quelle packen.• unzip <Datei>.zip – Zip-Datei entpacken.• zip <Ziel>.zip <Quelle> – Datei mit Zip-Packen.

Page 33: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 33

Noch mehr

• mkdir <Verzeichnis> (make directory) – Verzeichnis anlegen.

• rmdir <Verzeichnis> (remove dir) – Verz. löschen.• chmod (change permissions) – Zugriffsrechte auf Dateien

ändern.• quota -v – Freien Festplattenplatz anzeigen.• sort – Sortiert die Eingabe.• locate <Name> – Sucht eine Datei in der

Dateidatenbank.• find . -iname <Name> – Sucht eine Datei im aktuellen

Verzeichnis und dessen Unterverzeichnissen.• grep -r "Text" * – Sucht den Text in allen Dateien im

aktuellen Verzeichnis und den Unterordnern.

Page 34: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 34

Uff – Erst einmal verschnaufen!

• Keine Angst! Alle wichtigen Befehle stehen auf dem Linux-Spicker.

• Was kommt noch? Editoren Platzhalter, Jokerzeichen, Wildcards Weiterleitung von Dateien | Pipes Rechtevergabe Sicheres Kopieren zwischen Rechnern (SCP) Auflistung von früheren Befehlen (Historie) Wichtigste Tastenkürzel Sonderzeichen

• Seht die folgenden Themen auch als Nachschlagewerk an.

Page 35: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 35

Text-Editoren

• Text-Editoren unter Linux sind für Windows-User oft ein Graus! Sie bestehen aus lauter Tastenkombinationen.

• joe <Datei> – Öffnet einen einfachen Texteditor: Beenden STRG+C (funktioniert generell zum Abbrechen) Hilfe STRG+K H Speichern STRG+K X

• emacs <Datei> – Der Über-Editor (kann Tetris) Beenden STRG-X C Abbrechen STRG-G (Achtung: STRG-C funktioniert nicht) Speichern STRG-X S

• vi <Datei> – Der Unter-Editor Ohne Tutorial nicht zu bedienen. Sorry. Einstieg: man vim Beenden: ": q !" Speichern: ": x !"

Page 36: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 36

Platzhalter

• Oft ist es umständlich, bei Befehlen alle Dateien einzeln zu benennen.

• Zur Vereinfachung dienen so genannte Wildcards.

• Aus DOS-Zeiten kennt man *.* = alle Dateien.

• Unter Linux geht dies einfach mit *.• rm -rf * löscht alle Dateien ohne Fragen. Vorsicht! ;-)

• Was der Computer macht, ist, dass er * durch keins oder eine Reihe von beliebigen Zeichen ersetzt.

• Urlaub*.jpg – z.B. Urlaub01.jpg, aber auch Urlaub.jpg

• ? = genau ein beliebiges Zeichen z.B. hallo.??? löscht hallo.txt, hallo.zip aber nicht hallo.html

Page 37: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 37

Pipes – Rohre für Daten

• Das ist schon ein fortgeschrittenes Konzept.

• Damit leitet man Daten zwischen Dateien und Programmen hin und her.

• date > jetzt.txt Schreibt die Ausgabe des Befehls date (für Datum) in die

Datei jetzt.txt und überschreibt den bisherigen Inhalt.

• date >> jetzt.txt Hängt die Ausgabe an die Datei an.

• sort -r < jetzt.txt Verwendet den Inhalt von jetzt.txt als Eingabe für sort.

• find . -iname paper | less Sucht eine Datei mit names paper und leitet das Ergebnis

an das Anzeigeprogramm less weiter.

Page 38: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 38

Wer hat das Recht?

• Wie bekommt man unter Linux raus, wer auf eine Datei zugreifen darf? => ls -l

• Die wichtigen Informationen stehen ganz am Anfang. Ignoriert das erste Zeichen. Dann folgen 3 mal 3 Zeichen. 3 für den Benutzer, 3 für die Gruppe, 3 für alle anderen. Dabei steht r für Read, w für Write und x für eXecute, d.h.

also lesen, schreiben, ausführen. Ändern könnt ihr das mittels des Befehls chmod

• chmod u+x <Datei> = Für den Benutzer ausführbar machen• u = User/Benutzer, g = group/Gruppe, o = other/Andere

Page 39: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 39

Von Rechner zu Rechner

• Um von einem Rechner zum nächsten zu gehen: ssh -l <Benutzername> <Rechnername>

• Um Dateien einem anderen Benutzer zu kopieren: scp <Quelldatei> <Benutzername>@<Rechner>: scp <Quelldatei> <Benutzername>@<Rechner>:~/ziel/

• Beides mal müsst ihr das Passwort des Benutzers eingeben.

• Achtung beim Kopieren! Es gibt keine Warnung beim Überschreiben

Page 40: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 40

Historie – Was habe ich letztens so getan...

• Die Bash-Shell merkt sich alle eure Befehle.

• Anzeigen mit less ~/.bash_history

• Mit den Pfeiltasten hoch und runter könnt ihr auch direkt zum vorherigen/nächsten Befehl gehen.

• Praktisch, wenn man faul beim Tippen ist oder ein ziemlicher komplizierter Befehl einem nicht mehr einfällt.

• Mit STRG-R könnt ihr in der History suchen:

Page 41: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 41

Die wichtigsten Tasten-Kombinationen (I)

• TAB = Versucht, eure Eingabe zu vervollständigen!

• ENTER = Ausführen

• BACKSPACE = Zeichen löschen

• STRG-D(elete) = nächstes Zeichen löschen (wie Entf) Auf leerer Zeile => ausloggen

• STRG-K(ill) = bis ans Ende der Zeile löschen

• STRG-A(nfang) = an den Anfang der Zeile gehen

• STRG-E(nde) = an das Ende der Zeile gehen

• STRG-S(croll) = Nicht scrollen

• STRG-Q(?) = Scrollen wieder anschalten

• SHIFT-Seite/Bild/Page = Hoch scrollen.

• SHIFT-Seite/Bild/Page = Runter scrollen

Page 42: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 42

Tasten-Kombinationen (II)

• PFEIL HOCH = vorherigen Befehl anzeigen

• PFEIL RUNTER = nächsten Befehl anzeigen

• STRG-R(everse Search) = in der Befehls-Historie suchen

• STRG-ALT-BACKSPACE = Graphische Oberfläche (KDE, Gnome, X-Server ) abschießen

• STRG-C(ancel) = laufendes Programm abbrechen

• STRG-Z(zz) = Programm in den Hintergrund Zurückholen mit dem Befehl fg (=Foreground)

• STRG-Einfg = markierten Text aus der Shell kopieren

• SHIFT-Einfg = Text in die Shell kopieren

Page 43: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 43

Die wichtigsten Sonderzeichen

• ~ (Tilde) Wird ersetzt durch euer Heimatverzeichnis

• & (Ampersand) Programm im Hintergrund starten

• | Ausgabe eines Programms an anderes weiterleiten

• > Ausgabe wird in Datei geschrieben

• >> Ausgabe wird an Datei angehängt

• < Eingabe wird aus Datei gelesen

• ? Ein beliebiges Zeichen

• * Beliebig viele beliebige oder auch kein Zeichen

• $ Durch Wert der Umgebungsvariable ersetzen

• ' ' Sonderzeichen nicht umwandeln

• / Trennzeichen zwischen Verzeichnissen (Linux)

• ; Führt Befehle nacheinander aus (rm a.txt; rm b.txt)

• . Das aktuelle Verzeichnis (.. = das übergeordnete)

Page 44: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 44

ARGL.....

• Zuviel auf einmal?

• Alles schon total durcheinander gewirbelt im Kopf?

• Tastenkürzel, Verzeichnisse, Abkürzung?

• Wie kann man sich das alles nur merken?

???• Immer locker bleiben. Linux lernt ihr sicher nicht an

einem Tag.

• Aber mit Einsatz und Durchhaltevermögen ist es zu schaffen.

Page 45: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 45

Die Übungen...

• Erstmal Mittagspause. War ja anstrengend genug.

• Die Übungsblätter sind zu zweit zu bearbeiten, d.h. Zusammenarbeiten! Paararbeit Abwechseln! Ich will keine Dominanz-Allüren oder

Angebereien sehen. Jeder muss mal am Key-Board gewesen sein. Derjenige, der

weniger weiß mehr!

• Mojgan bietet ein Intensiv-Tutorium an, für alle diejenigen, die sich noch sehr unsicher fühlen. K46

• Wer keinen Accountbeantragen konntebei mir vorbei-kommen.

Page 46: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 46

Wissen und Unwissen

• Viel wird in der nächsten Zeit davon abhängen, wie viel ihr an neuem Wissen aufnehmen könnt.

• Dabei gibt es eine wichtige Überlegungen für euch: Wieviel von eurem Erfolg hier an der Uni bestimmt ihr

selbst? Wieviel traut ihr euch zu?

• Aus Erfahrung unterschätzen sich die Damen und überschätzen sich die Herren bei letzterem.

• Und wichtig ist letztlich nur, dass man sich den Lernerfolg auf die eigene Kappe schreibt.

Page 47: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 47

Danke!!

Page 48: 1 Christopher Oezbek, oezbek@inf.fu-berlin.de Linux und die Kommandozeile Brückenkurs Informatik WiSe 2005 Christopher Oezbek Freie Universität Berlin,

Christopher Oezbek, [email protected] 48

Lesestoff

• Am Anfang war die Kommandozeile... http://www.spack.org/wiki/InTheBeginningWasTheCommandLine Von Neal Stephenson So ziemlich alles, was man so über Betriebssysteme von

außen wissen braucht.