Crashkurs Kommandozeile

Ähnliche Dokumente
105.1 Shell, Scripting

Okt 10, 16 17:29 UNIX/Linux Lösung

Bash-Skripting Linux-Kurs der Unix-AG

Grundlagen der Programmierung

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

1.103 Grundlagen der Dateibearbeitung mit vi

Bash-Scripting Linux-Kurs der Unix-AG

Systemverwaltung mittels Skripts

Bash-Skripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Computer & GNU/Linux Einführung Teil 4

Linux und Shell-Programmierung Teil 5

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

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

UNIX Die wichtigsten Befehle

Einführung in die Kommandozeile

3 Mengen, Logik. 1 Naive Mengenlehre

Linux und Shell-Programmierung Teil 6

Grundbefehle. LPI Zertifizierung. Auf dem Weg: Certified Linux

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Übersicht Shell-Scripten

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung

Die nummerierten Felder bitte mithilfe der Videos ausfüllen:

Schleifen und Arrays Javakurs

29 Schätzung von Erwartungswert und Varianz

14 Partialbruchzerlegung

Shell-Scripting Linux-Kurs der Unix-AG

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

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

Vorlesung Unix-Praktikum

: Linux als PPP-Client konfigurieren

Vorsemesterkurs Informatik

Vorlesung Unix-Praktikum

cs106 Informatiklabor Teil 1: Java-Installation

22 Fehlerfortpflanzung und Extrema bei Funktionen mehrerer Veränderlicher

16 Trigonometrie: Sinus und Freunde, Arcusfunktionen

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

1 Äquivalenzumformungen, Lösungsmenge

Shell-Scripting Linux-Kurs der Unix-AG

8 Relationen, Umkehrung

10 Die Programmiersprache C99: Zusammenfassung

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

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

23 Integral. 1 Idee des Integrals

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Unix/Linux Grundlagen für Einsteiger

1)Login Funktion ohne Datenbank

Shell-Programmierung. von Rolf Schmidt für. LUG Frankfurt

Zugang zum VPN der Hochschule Fulda mit Cisco AnyConnect

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Linux-Einführung Übung

22 Lineare Näherung. Anwendungen

Das Handbuch zu KCron

Transkript:

Crashkurs Kommandozeile Thomas Werner This work is licensed under the Creative Commons Attribution ShareAlike 2.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by sa/2.0/de/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

Was ist eine Kommandozeile? Informatik Duden: Der Kommandointerpreter, Shell genannt, ist ein Standard Programm. Es liest eine Zeile ein und führt die darin angegebenen Kommandos aus.

Was kann eine Shell? Starten von Kommandos Wiederholung und Editieren früherer Kommandos Ein /Ausgabe Umlenkung Verketten mehrerer Prozesse Job Kontrolle Definition der Such Reihenfolge externer Kommandos Scripting

Starten von Kommandos Ein Kommando besteht aus einer Zeile Text ls<enter> Die Zeile kann länger als 80 Zeichen sein Beim Scripten / Programmen im aktuellen Verzeichnis muss zur Sicherheit der Pfad angegeben werden:./script./programm

Stoppen von Kommandos Ctrl + C Bricht das aktuelle Kommando ab und gibt die Kontrolle zurück an die Shell Ctrl + D Bricht die aktuelle Sitzung in der Shell ab. Das Kommando exit hat die gleiche Wirkung

Mögliche Fehler Mit Ctrl + C werden Prozesse unsanft beendet Programme können nicht mehr aufräumen Wenn es zu Fehlern in der Darstellung kommt, reicht oft ein clear Bei gravierenden Fehlern: Ctrl + J reset Ctrl + J

Welche Kommandos gibt es? Es gibt etliche Standard Programme (siehe Liste) Im folgenden werden folgende genutzt: cd less ls sort

Wiederholung früherer Kommandos Eingegebene Kommandos werden gespeichert Und können mit wieder abgerufen werden Erspart eine Menge Tipp Arbeit

Ein /Ausgabe Umlenkung Prozesse haben Ein und Ausgabe Kanäle Als Eingaben können Dateien genutzt werden Als Ausgabe Ziel können Dateien genutzt werden

Ein /Ausgabe Umlenkung Datei als Eingabe $ sort < unsortiert.txt Datei als Ausgabe $ ls > dir.txt (ersetzt) $ ls >> dir.txt (fügt an) Ausgabe von Fehlern in Dateien $ ls > dir.txt 2> err.txt

Verketten mehrerer Prozesse Prozesse können direkt verkettet werden: Dabei wird die Ausgabe des ersten Prozesses als Eingabe des zweiten Prozesses genutzt $ programm1 programm2 $ ls sort r

Job Kontrolle Shells können Programme im Hintergrund bzw. im Vordergrund ausführen Dies ermöglicht Multitasking in der Shell Vordergrund Job Läuft interaktiv und belegt den Prompt Hintergrund Job Läuft, belegt aber nicht den Prompt. Weitere Befehle möglich

Job Kontrolle $ jobs Listet die aktuellen Jobs auf $ programm & Job im Hintergrund starten Ctrl + Z Aktuellen Job anhalten Angehaltene Jobs können in Vordergrund und Hintergrund ausgeführt werden: $ bg <JOB> Job im Hintergr. ausführen $ fg <JOB> Job im Vordergr. ausführen

Definition der Such Reihenfolge Shells verfügen über so genannte Umgebungsvariable Eine dieser Variablen ist PATH Besteht aus einer Liste von Verzeichnissen Verzeichnisse durch : getrennt Diese Verzeichnisse werden nach Programmen und Scripten durchsucht Dabei wird die Reihenfolge der Pfade beachtet

Anpassen der Such Reihenfolge Anzeige des Such Pfades: echo $PATH Erweitern des Such Pfades: PATH=$PATH:/home/tom/bin Dauerhafte Anpassung: Bearbeiten der Bash Einstellungen unter ~/.bashrc

Scripting...ist einfach! Shell Kommandos werden in einer Datei gespeichert und können mit einem Aufruf gestartet werden Umgebungsvariable können ausgewertet werden... und eigene Variable definiert werden Zusätzlich stehen einige Konstrukte einer Programmiersprache bereit

Beispiel: Sleep Timer Problem: Der PC wird zum Abspielen vom Musik genutzt. Nach 30 Minuten soll sich der PC ausschalten. Dabei soll er nicht piepen. modprobe r pcspkr shutdown h +30

Script 1 Datei qshutdown30: #!/bin/bash #Mein erstes Script modprobe r pcspkr shutdown h +30 #Sha Bang #Kommentar #Kommandos Aufruf : $ qshutdown30 Problem : Zeitangabe ist fest kodiert. Man braucht etwa 105 Scripte für alle möglichen Zeit Angaben

Script 2 Datei qshutdown: #!/bin/bash modprobe r pcspkr shutdown h +$1 #Parameter 1 Aufruf : $ qshutdown 30 Problem : Was passiert, wenn Parameter nicht da ist?

Script 3 #!/bin/bash if [! $# = 1 ] then echo "Aufruf: $0 Minuten" exit 1 fi modprobe r pcspkr shutdown h +$1 #if, Anzahl #then #Param0 #Fehler #fi Die Anzahl der Parameter wird geprüft. Bei falscher Anzahl wird eine Fehlermeldung ausgegeben.

Script 4 Prüfen des Benutzer Namens... # Check: Bin ich root? user=`whoami` if [! "$user" = "root" ] #Var=Ausgabe #NOT, Vergleich then echo "Sorry $user, das darf nur root" exit 3 fi... Der Benutzername wird durch einen Aufruf des Programmes whoami herausgefunden.

Script 5 expr wertet mathematische und reguläre Ausdrucke aus... # Check: Ist der Parameter numerisch? length=`expr length $1` number=`expr match "$1" '[0 9]*'` if [! $length = $number ] then echo "Aufruf: $0 Minuten" exit 2 fi...

Script Endversion #!/bin/bash # Check: Anzahl der Parameter richtig? if [! $# = 1 ] then echo "Aufruf: $0 Minuten" exit 1 fi # Check: Ist der Parameter numerisch? length=`expr length $1` number=`expr match "$1" '[0 9]*'` if [! $length = $number ] then echo "Aufruf: $0 Minuten" exit 2 fi # Check: Bin ich root? user=`whoami` if [! "$user" = "root" ] then echo "Sorry $user, aber das darf nur root" exit 3 fi # Alles OK wir koennen loslegen echo "" echo "ACHTUNG!" echo "Rechner wird ausgeschaltet" echo "Zum Abbrechen Strg + C druecken" modprobe r pcspkr shutdown h +$1

Links und Literatur Bücher: Linux kurz und gut Ubuntu GNU/Linux Wie werde ich UNIX Guru Links: Advanced Bash Scripting Guide WikiBook: Linux Kompendium WikiBook: Bourne Shell Scripting

Danke für die Aufmerksamkeit