Linux das bessere Windows?



Ähnliche Dokumente
Große Übung Programmieren. Sebastian Ebers Institut für Telematik, Universität zu Lübeck

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

SCI Linux Einführung

Dateisystem 1, Suchpfad, Befehlstypen

Dateien und Verzeichnisse

Dateisystem 1, Suchpfad, Befehlstypen

Einführung in die Kommandozeile

Computergestützte Mathematik zur Analysis. Informationen zur Vorlesung

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

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

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Archivieren und Komprimieren, SSH

Archivieren und Komprimieren, Globs

Eprog Starthilfe. 5. Oktober Einleitung 2

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

L A TEX, Linux, Python

Installation von CVS mit sicherer Datenübertragung nach dem SSH-Protokoll unter Windows (Version 2.0)

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

Embedded So)ware. Einrichten der Arbeitsumgebung

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

SFTP SCP - Synology Wiki

Einführung in das wissenschaftliche Rechnen

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

Aufgabensammlung IT Shellprogrammierung Teil I

Linux-Befehlsreferenz

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

1) JAVA JRE auf der QNAP Box installieren

Einführung in die Angewandte Bioinformatik

Anleitung: Webspace-Einrichtung

Zugriff zum Datenaustausch per scponly

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Betriebssystem Windows - SSH Secure Shell Client

Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen:

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Linux Systemadministration

Linux Prinzipien und Programmierung

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

Objektorientiertes Programmieren mit Suse Linux

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

Hardware - Software - Net zwerke

Version 0.3. Installation von MinGW und Eclipse CDT

Installation OMNIKEY 3121 USB

Benutzer- und Rechte-Verwaltung Teil 3

Zwischenablage (Bilder, Texte,...)

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Anbindung des eibport an das Internet

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

> Soft.ZIV. Maple Mathematisches Software System

cs106 Informatiklabor Teil 1: Java-Installation

Installation Messerli MySQL auf Linux

Computer & GNU/Linux Einführung Teil 3

Update Messerli MySQL auf Linux

Benutzer, Gruppen, Zugriffsrechte

Verzeichnisse unter Linux

Dokumentation IBIS Monitor

LINUX Gesamtmitschrift

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

Dieses UPGRADE konvertiert Ihr HOBA-Finanzmanagement 6.2 in die neue Version 6.3. Ein UPGRADE einer DEMO-Version ist nicht möglich.

Update / Inbetriebnahme domovea Server. Update/Inbetriebnahme domovea Server Technische Änderungen vorbehalten

6 Zentraler Speicherbereich und Web-Space

OP-LOG

Medea3 Print-Client (m3_print)

NODELOCKED LIZENZ generieren (ab ST4)

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Einführungskurs MOODLE Themen:

IBM SPSS Statistics Version 22. Konfigurieren von Technologie für behindertengerechte Bedienung

INHALT. Troubleshooting Netzwerkinstallation

6 Bilder und Dokumente verwalten

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Aktivierung Office 2013 über KMS

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

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

teamsync Kurzanleitung

SOFiSTiK AG Installationsanleitung

QTrade GmbH Landshuter Allee München Seite 1

Lokales Netzwerk Wie kann ich lokal installierte Drucker im Netzwerk für andere Nutzer freigeben? Frage:

Kopfzeile. Inhaltsverzeichnis

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: )

MULTIWEB Banking. Installation und Update unter Windows

Tipps zum Bearbeiten einer digitalen Schultasche Stand:

Grundlagen der Programmierung

Samba Linux-Kurs der Unix-AG

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

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

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

desk.modul : ABX-Lokalisierung

Eine Einführung in die Installation und Nutzung von cygwin

Gezielt über Folien hinweg springen

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Grafische Oberfläche, Shell Teil 4 Linux-Kurs der Unix-AG

Konfiguration des Novell GroupWise Connectors

SRH - Kurzinformation

Powermanager Server- Client- Installation

SSH Authentifizierung über Public Key

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Anleitung zum Cardsharing mit der Dreambox oder der DBox2 und Card-Server PC

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

SAP-KIS RemoteApp: Besonderheiten beim Dateiexport und Drucken

Transkript:

Große Übung Programmieren - Linux-Tools - Sebastian Ebers Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/ebers/ Linux das bessere Windows? Ein ganz klares Jein 2 Linux, das andere Windows? Lizenzkosten Hardware-Unterstützung Software Verwaltung, Unterstützung, etc. Zielgruppe Datei- und Verzeichnissystem Rechtesystem Bedeutung der Konsole 3 1

Verzeichnisbaum Es gibt unter Linux keine Laufwerksbuchstaben Alle Verzeichnisse, Dateien und Geräte befinden sich unterhalb des Wurzelverzeichnisses / / ist vergleichbar mit Laufwerk C: unter Windows Zusätzliche Partitionen werden in ein Verzeichnis unterhalb von / eingehängt 4 Verzeichnisbaum / dev Geräte etc Konfigurations- und Informationsdateien home Enthält Eigene Dateien aller Benutzer meier Eigene Dateien des Benutzers meier media Enthält Einhängepunkte für transportable Medien mnt Weiterer Einhängepunkt opt Speicherort für selbst zusätzliche Programme proc Enthält Schnittstellen zu laufenden Prozessen usr enthält den Großteil der Systemtools, Bibliotheken und installierten Programme 5 (Unix-)Shell / Terminal / Konsole Steht auch ohne (grafische) Desktop-Umgebung zur Verfügung Ermöglicht die kommandozeilenbasierte Benutzung des Betriebssystems Die Standard-Shell unter Linux ist oft die Bash Nützliche Features Autovervollständigung, Historie, Befehlskürzel Etc. 6 2

Konventionen <Programm> bedeutet: Setze an dieser Stelle den Namen des Programms ein (ohne < und >) [<Pfad>] bedeutet: Die Angabe <Pfad> ist optional Setze an dieser Stelle den Namen des Pfads ein (ohne < und >) 7 Arbeiten mit Dateien und Verzeichnissen Inhalt des aktuellen Verzeichnisses anzeigen ls Zeigt Namen nicht-versteckter Dateien und Verzeichnisse an ls a Zeigt Namen aller Dateien und Verzeichnisse an ls la Zeigt Namen und Zusatzinformationen aller Spezielle Verzeichnisse. Referenz auf das aktuelle Verzeichnis.. Referenz auf das übergeordnete Verzeichnis 8 man pages Hilfe zur Funktion, Optionen, Parametern etc. von Konsolenbefehlen Beispiele man ls Hilfe zum Anzeigen von Verzeichnisinhalten man java Infos zum Starten von Java- Programmen man javac Infos zum Übersetzen von Java- Programmen 9 3

Navigation im Verzeichnisbaum Pfadangaben Absolute Pfade: Ausgangspunkt ist das Wurzelverzeichnis Fängt immer mit / an Relative Pfade: Ausgangspunkt ist das aktuelle Verzeichnis Fängt nie mit / an Fängt mit. oder.. oder ganz ohne Punkte an 10 Navigation im Verzeichnisbaum Pfadangaben bei Verzeichniswechsel Aktuelles Verzeichnis: /home/meier (Anzeige mit pwd) Wechsel in Verzeichnis /home/meier/test : Relativ: cd test oder cd./test Absolut: cd /home/meier/test 11 Navigation im Verzeichnisbaum Pfadangaben bei Verzeichniswechsel Aktuelles Verzeichnis: /home/meier (Anzeige mit pwd) Wechsel in Verzeichnis /home/mueller/test Relativ: Absolut: cd../mueller/test cd /home/mueller/test 12 4

Programme in der Shell starten Oft mit Parametern Zur Konfiguration oder zur Übergabe von Informationen Trennung einzelner Parameter durch Leerzeichen Inhalt doppelter Anführungszeichen gilt als ein Parameter Beispiele: ls l /media Gibt den Inhalt des Ordners /media aus touch "hallo welt.txt" Legt die Datei./hallo welt.txt an cat hallo welt.txt Gibt den Inhalt der Dateien./hallo und./welt.txt aus 13 Arbeiten mit Verzeichnissen Verzeichnis anlegen Relative Variante: mkdir test entspricht mkdir./test Absolute Variante: mkdir /home/meier/test Verzeichnis löschen rmdir <Pfad> löscht nur leere Verzeichnisse rm r <Pfad> löscht alle Verzeichnisse (rekursiv) 14 Arbeiten mit Verzeichnissen Verstecktes Verzeichnis anlegen mkdir [<Pfad>].<Verzeichnisname> Verzeichnisinhalt anzeigen ls [<Pfad>] Zeigt Namen nicht-versteckter Dateien und Verzeichnisse an ls a [<Pfad>] Zeigt Namen aller Dateien und Verzeichnisse an ls la [<Pfad>] Zeigt Namen und Zusatzinformationen aller 15 5

Arbeiten mit Dateien Eine leere Datei anlegen: touch [<Pfad>]<Dateiname> Eine leere, versteckte Datei anlegen: touch [<Pfad>].<Dateiname> Dateien löschen: rm [<Pfad>]<Dateiname(n)> Inhalt einer Datei anzeigen cat <Dateiname> Zeigt die Datei komplett an less <Dateiname> bildschirmweise Anzeige 16 Arbeiten mit Dateien und Verzeichnissen Kopieren cp [-r] <Quelle> <Ziel> Kopiert Datei(en) und/oder Verzeichnis(se) Verschieben mv <Quelle> <Ziel> Verschiebt Datei(en) und/oder Verzeichnis(se) Dateien editieren (hier mit Editor vi): vi [<Pfad>]<Dateiname> 17 Dateien auf der Konsole editieren: vi/vim Komplett textbasiert Auf den meisten Unix-Systemen vorinstalliert Funktioniert auch ohne Desktop-Umgebung Nützliche Tipps http://wiki.ubuntuusers.de/vim?highlight=vi Merkblätter (Cheat Sheets) http://www.viemu.com/a_vi_vim_graphical_cheat_sh eet_tutorial.html http://www.lagmonster.org/docs/vi.html 18 6

Grafische Texteditoren Übersicht auf Ubuntuusers.de: http://wiki.ubuntuusers.de/editoren gedit (http://wiki.ubuntuusers.de/gedit) SciTE (http://wiki.ubuntuusers.de/scite) Geany (http://wiki.ubuntuusers.de/geany) Leafpad (http://wiki.ubuntuusers.de/leafpad) Kate (http://wiki.ubuntuusers.de/kate) Mousepad (http://wiki.ubuntuusers.de/mousepad) 19 Suchen und Finden Suchen von Dateien und Verzeichnissen mit find Beispiel: Finde Datei mit dem Namen test.txt im aktuellen Verzeichnis find. type f name test.txt Suchen in Dateien mit grep Bsp. 1: Suche nach Navigation oder navigation in test.txt grep i navigation test.txt Bsp. 2: Suche nach gut gemacht in test.txt grep "gut gemacht" test.txt grep gut\ gemacht test.txt 20 Standard Ein- und Ausgaben Standardeingabe: stdin Tastatur Standardausgabe: stdout Bildschirm Standardfehlerausgabe: stderr Bildschirm Die Standardein- und ausgaben lassen sich auch in Dateien umleiten 21 7

Umleitung von Ein- und Ausgaben Symbol Bedeutung < Lese Eingabe aus einer Datei und nicht von der Tastatur > Schreibe Ausgabe in eine Datei und nicht auf den Bildschirm (der aktuelle Inhalt der Datei wird überschrieben) >> Hänge Ausgabe an eine Datei an, statt sie auf dem Bildschirm auszugeben 2> 2>> > 2>&1 >> 2>&1 Schreibe die Fehlerausgabe nicht auf den Bildschirm sondern in eine Datei bzw. hänge sie an eine Datei an Kombiniere normale und Fehlerausgabe Beispiele: ls l / > dirlist.txt 2>&1 cat < dirlist.txt 22 Verbinden von Programmen mit Pipes <programm1> <programm2> Leitet die Standardausgabe von programm1 in die Standardeingabe von programm2 um Beispiel: Gebe Informationen wie Dateirechte, etc. zu einer Datei, die test im Namen enthält, auf der Konsole aus ls l grep test 23 Verketten von Programmen Unbedingtes Verketten <programm1> ; <programm2> Bedingtes Verketten <programm1> && <programm2> (<programm1> <programm2>)&& <programm3> Exit-Status eines Programms 0 Alles in Ordnung!= 0 Fehler 24 8

Datei- und Verzeichnisrechte Für jedes Objekt geordnet nach Besitzer Gruppe Rest festgelegt werden, ob es gelesen und / oder beschrieben und / oder ausgeführt werden kann. 25 Datei- und Verzeichnisrechte Rechte Besitzer (u) Rechte Gruppe (g) Rechte Rest (o) Besitzer Besitzer Gruppe Datei / Verzeichnis - r w x r w - r - - meier mitarb myfile.txt d r Der w x Besitzer r - x meier - - x darf meier mitarb mydir die Datei myfile.txt lesen (r), beschreiben (w) und ausführen (x). Jedes Mitglied der Gruppe mitarb (außer dem Besitzer) darf die Datei myfile.txt lesen (r), beschreiben (w), aber nicht ausführen (-). Alle anderen dürfen die Datei myfile.txt nur lesen (r). Das führende d bei mydir zeigt an, dass es sich um ein Verzeichnis handelt. 26 Datei- und Verzeichnisrechte Mittels chmod kann man dem Besitzer (u), der Gruppe (g), allen Anderen (o) oder Allen (a) Rechte zugestehen (+), entziehen (-) oder zuweisen (=) Beispiel 1: Gruppe darf myfile.txt zusätzlich ausführen und der Besitzer darf lesen und schreiben. chmod u=rw,g+x myfile.txt 27 9

Arbeiten mit Programmen Programme im Verzeichnisbaum finden which <Programmname> Programme starten, die sich im Suchpfad für Programme ($PATH) befinden: <Programmname> (z.b. cd) nicht im Suchpfad befinden: Pfadname zwingend notwendig : <Pfad>/<Programmname> Programme im aktuellen Verzeichnis werden mittels./<programmname> gestartet 28 Umgebungsvariablen Eine Umgebungsvariable enthält beliebige Zeichenketten, die in den meisten Fällen Pfade zu bestimmten Programmen oder Daten enthalten, sowie bestimmte Daten, die von mehreren Programmen verwendet werden können. Quelle: http://de.wikipedia.org/wiki/umgebungsvariable, 26.10.2011 29 Umgebungsvariablen Alle aktuell gesetzten Umgebungsvariablen anzeigen: env Bestimmte Umgebungsvariable anzeigen: echo $<Variablenname> Wichtige Umgebungsvariablen: PATH HOME JAVA_HOME 30 10

Umgebungsvariablen setzen Temporär, für die aktuelle Konsole und daraus gestartete Programme Kommando in der Konsole: export PATH=$PATH:<absoluter Pfad> Dauerhaft für alle neu gestarteten Konsolen Zeile in die Bash-Konfiguration des Benutzers: export PATH=$PATH:<absoluter Pfad> Pfade werden unter Linux mit : getrennt 31 Die Konfiguration der Bash Unter $HOME/.bashrc liegt die benutzereigene Konfigurationsdatei für die Bash. Sie wird bei jedem Öffnen eines interaktiven Terminals geladen. Unter $HOME/.bash_profile liegt eine weitere Konfigurationsdatei, die nur beim Starten einer Login- Shell geladen wird. 32 Beispiel-Einträge in der Bash-Konfiguration export TEMP=/tmp export JAVA_HOME=/usr/lib/jvm/java-6-sun alias ll='ls -l' alias la='ls -A' alias lal='ls la' alias testdir='cd $HOME/test' alias befehle='vi $HOME/befehle.txt' 33 11

Die Konfiguration der Bash Änderungen in der $HOME/.bashrc gelten erst für nachfolgend gestartete Terminals. Um die Änderungen benutzen zu können, muss man entweder eine neue Konsole öffnen oder die Änderungen der Datei $HOME/.bashrc explizit übernehmen mittels exec bash -$- 34 Bash-History Zu finden unter $HOME/.bash_history Einsehen über history cat $HOME/.bash_history Suchen über Tastenkombination: <Strg> + <R> grep <Suchstring> $HOME/.bash_history 35 Bash-History Wann wird gespeichert? Wenn die Konsole geschlossen wird (Standard) Letze Befehle der aktuellen Konsole bereits über history abrufbar Konfigurationsmöglichkeiten in der $HOME/.bashrc export HISTCONTROL=ignoreboth export HISTSIZE=500 export HISTIGNORE=ls:ll:cd:pwd:exit 36 12

Remote arbeiten mit SSH SSH der sichere Telnet-Ersatz Einloggen an einem entfernten Terminal ssh [<benutzername>@]<server> Befehl auf einem entfernten Rechner ausführen ssh [<benutzername>@]<server> <befehl> Beispiel: ssh meier@sshgate.info.unil.de "chmod u=rwx,g=,o= /home/meier; ls -l /home grep meier" 37 SSH-Voreinstellungen Unter $HOME/.ssh/config können Voreinstellungen für Verbindungen gespeichert werden. Beispiel: Host ssh-gate HostName sshgate.info.unil.de Port 22 User meier 38 Remote arbeiten Dateitransfer mit SCP SCP Kopieren über Systemgrenzen hinweg Lokale Datei auf einen Server kopieren scp test.txt meier@sshgate.info.unil.de:/home/meier/ Datei vom Server auf den lokalen Rechner kopieren scp ssh-gate:/home/meier/test.txt./test2.txt 39 13

SSH/SCP-Links PuTTY PuTTY is a free SSH, Telnet and Rlogin client for 32-bit Windows systems. http://www.chiark.greenend.org.uk/~sgtatham/putty/ WinSCP Grafischer SFTP-Client für Windows auf der Basis von SSH http://winscp.net Authentifizierung über Public-Keys Authentifizierung ohne Passworteingabe http://wiki.ubuntuusers.de/ssh#authentifizierung-ueber-public- Keys 40 Weitere Informationsquellen Suchmaschinen www.google.de Wikis und Foren www.ubuntuusers.de Man pages man <Programmname> 41 Und noch mehr Infos... 42 14

Nützliche Tools Archivierung mittels tar Wichtige Optionen -c Archiv anlegen (create) -x Archiv auspacken (extract) -f zur Angabe der Ziel- oder Quelldatei (file) -z (De)Kompression mit gzip -j (De)Kompression mit bzip2 Beispiele: tar czf doc.tgz./doc/ tar xzf doc.tgz 43 Nützliche Tools (Rekursives) Suchen von Dateien mit find find <Pfad> <Suchausdruck> Wichtige Suchausdrücke Suche nach eine Datei im Allgemeinen -type f Suche nach Datei mit bestimmtem Namen -name <Name der Datei> (Groß- u. Kleinschreibung wichtig) -iname <Name der Datei> Beispiel: Suche im Home-Verzeichnis (auf beliebiger Tiefe) alle Dateien, die mit Test oder test anfangen find $HOME type f iname "test*" 44 Nützliche Tools Verknüpfungen erzeugen mittels ln Symbolische Verknüpfung: Wird das Original gelöscht, ist die Verknüpfung ungültig ln s <Original> <Verknüfung> ln s /home/meier/mydocs./mdocs Harte Verknüpfung: Wird das Original gelöscht, bleibt die Verknüpfung gültig ln <Original> <Verknüfung> ln /home/meier/mydocs/test.txt./mdocs/ 45 15

Nützliche Tools Tool Nutzen du Anzeige der Dateigröße df Anzeige der Speichernutzung je Partition sort Sortierung der Zeilen eines Textes uniq Anzeige oder Unterdrückung doppelter Zeilen grep Suchen in Dateien ps Anzeige der aktuell laufenden Prozesse top Dynamische Übersicht aktueller Prozesse und Systemressourcen pstree Anzeige der aktuell laufenden Prozesse in einer Baumstruktur kill Löschen aktuell laufender Prozesse head Ausgabe des ersten Teils einer Datei tail Ausgabe des letzten Teils einer Datei 46 Ein- und Aushängen von Partitionen Einhängen: mount Befehl zum Einhängen -t ntfs Dateisystem (hier NTFS) /dev/sda1 /media/winxp Einhängepunkt Partition zum Einhängen Aushängen: umount /media/winxp Befehl zum Aushängen Einhängepunkt 47 Bedeutung von Anführungszeichen Doppelte Anführungszeichen " " Variablen werden ausgewertet Beispiel: echo "$PATH" Ausgabe: Wert der Variable PATH Einzelne Anführungszeichen ' ' Alle Zeichen werden in ihrer ursprünglichen Form dargestellt echo '$PATH' Ausgabe: $PATH Schräge einzelne Anführungszeichen ` ` Kommandos werden ausgewertet Beispiel: echo `hostname` Ausgabe: Rückgabe des Programms hostname 48 16

man pages Man pages (Öffnen, Lesen, Durchsuchen) Level (siehe man man ) 1 Ausführbare Programme oder Shell-Befehle 2 Systemaufrufe (Kernelfunktionen) 3 Bibliotheksaufrufe (Funktionen in System-Bibliotheken) 4 Spezielle Dateien (gewöhnlich in /dev) 5 Dateiformate und Konventionen, z. B. /etc/passwd 6 Spiele 7 Makropakete und Konventionen, z. B. man(7), groff(7) 8 Systemadministrationsbefehle (in der Regel nur für root) 9 Kernelroutinen [Nicht Standard] n neu [veraltet] l lokal [veraltet] p öffentlich [veraltet] o alt [veraltet] 49 man pages Beispiel für Level man printf man 1 printf man 2 printf nichts man 3 printf C-Funktion printf Wie findet man die richtige man page? apropos <Programm> 50 17