Shell Scripts, Zeit-Diebe und Who Is Who
|
|
- Monica Melsbach
- vor 8 Jahren
- Abrufe
Transkript
1 Betriebssysteme Shell Scripts 1 Praktikum Shell Shell Scripts, Zeit-Diebe und Who Is Who Sommersemester 2004 M. Thaler, März 2000/2002 Inhalt 1. Einführung Ziel Durchführung Praktikumsunterlagen Getting started Linux/Unix vs. Shell Befehle Philosophie der Shell Programmierung Debugging Literatur 3 2. Aufgaben Ein erstes Shell Script Variablen und Parameter Who is Who Zeit-Diebe Nomadic Computing Dateileichen 4
2 Betriebssysteme Shell Scripts 2 1. Einführung 1.1 Ziel Die Schnittstelle zwischen Benutzer und Linux/Unix bilden aus systemtechnischer Sicht die Systemfunktionen. Das Arbeiten mit einem Betriebssystem auf dieser Ebene wäre aber sehr ineffizient, deshalb stellt Linux/Unix, wie beinahe jedes andere Betriebssystem, einen Kommandointerpreter zur Verfügung, der Shell genannt wird. In modernen Betriebssystemen ist die Shell durch eine graphische Oberfläche ersetzt. Statt mit irgendwelchen, z.t. kryptischen Befehle Aktionen auszulösen, werden die Aktionen durch Anklicken eines graphischen Objektes ausgeführt. Beispielsweise führt das Anklicken des Ordners programme eigentlich ein Shell Kommando ähnlich wie cd programme aus. Die graphische Oberfläche ist intuitiver zu benutzen, allerdings sind die Möglichkeiten beschränkt, speziell dann, wenn Sie Folgen von Systembefehlen öfters ausführen müssen oder wenn die Befehle sehr komplex sind: hier findet die Shell Programmierung ihre Anwendung. Auch im Bereich der Systemadministration ist die Shellprogrammierung sehr nützlich: es lassen sich damit viele Aufgaben automatisieren. In diesem Praktikum möchten wir Sie in die Shell Programmierung unter Linux resp. Unix einführen. Selbstverständlich stellen auch andere Betriebssysteme Shells in irgendeiner Form zur Verfügung, die Unix-Shells sind aber traditionell sehr mächtige Werkzeuge und erreichen bis zu einem gewissen Grad die Funktionalität von Programmiersprachen. Wir können Sie natürlich nicht mit allen Aspekten vertraut machen, dazu fehlt uns schlichtweg die Zeit. Wir versuchen aber, Sie mit den Grundideen und Konzepten vertraut zu machen, sodass Sie sich schnell zurechtfinden. 1.2 Durchführung Das Praktikum können Sie alleine oder zu zweit durcharbeiten. Abgeben müssen Sie nichts, wir erwarten jedoch von Ihnen, dass Sie die Aufgabenstellungen vollständig lösen und in den Praktikumsstunden anwesend sind. Wir verzichten in diesem Praktikum auf einen Theorieteil, die Aufgaben sind nach dem Prinzip "learning by doing" aufgebaut. D.h. aber, dass Sie sich immer genau überlegen müssen, was Sie gerade machen. Aus diesem Grund ist es auch von Vorteil, wenn Sie die Aufgaben zu zweit durcharbeiten und miteinander die jeweiligen Resultate diskutieren. Machen Sie sich auch Notizen zu den Resultaten und halten Sie sich an die vorgegebene Reihenfolge der Aufgabenstellung (die Reihenfolge ist bewusst gewählt). Als Unterlagen steht Ihnen eine Kopie des Kapitels zur "bash" aus [1] zur Verfügung. Linux/Unix Befehle werden wir i.a. nicht weiter erklären, dazu stehen die Online Manuals zur Verfügung. Wir setzen voraus, dass Sie die grundlegende Bedienung einer Unix/Shell kennen, das wurde im Fach Informationssysteme behandelt. 1.3 Praktikumsunterlagen Die Dateien zu diesem Praktikum finden Sie in Shell.tar.gz. Packen Sie die Datei wie gewohnt aus: sie finden nun ein Verzeichnis Shell in dem sich mehrere Unterverzeichnisse befinden, einige davon sind leer. Sie werden in den jeweiligen Aufgabenstellungen aufgefordert ins entsprechende Verzeichnis zu wechseln. 1.4 Getting started Wir arbeiten in diesem Praktikum mit der bash-shell (bash: the bourne again shell). Bash ist normalerweise die default Shell unter Linux. Da Sie einige Befehle zuerst in einer Konsole austesten werden,
3 Betriebssysteme Shell Scripts 3 ist es notwendig sicher zu sein, dass Ihre default Shell die bash ist. Dies können Sie mit folgendem Befehl testen: echo $SHELL Die Ausgabe sollte bash sein. 1.5 Linux/Unix vs. Shell Befehle Wie Sie bereits gehört haben, gibt es unter Linux/Unix zwei Typen von Befehlen: a) Befehle, die als eigenständige Programme vom Betriebssystem zur Verfügung gestellt werden, z.b. ls und b) Befehle die von der Shell zur Verfügung gestellt werden (müssen) und auch von ihr ausgeführt werden, z.b. cd. Diese Unterscheidung ist auf den ersten Blick nicht offensichtlich, als Anwender geben Sie einfach Befehle ein. Es gibt aber unter Linux mehrere Shells, die sich in der Bedienung z.t. wesentlich unterscheiden (Siehe dazu [1]). Wir werden deshalb der Einfachheit halber nur eine Shell verwenden 1.6 Philosophie der Shell Programmierung Die Philosophie der Shell Programmierung ist eigentlich einfach: Sequenzen von existierenden Befehlen werden zu neuen Funktionen kombiniert. In Linux/Unix sind Shell Scripts Textdateien, die die einzelnen Befehle enthalten und von der Shell Befehl um Befehl interpretiert werden. Shell Scripts sind deshalb nicht sehr schnell, dies ist aber fast nie ein Problem. Für die Shell Programmierung ist es natürlich von Vorteil möglichst viele existierende Befehle zu kennen. Einen guten Überblick erhalten Sie, wenn Sie in z.b. [1] einmal alle Abschnitte mit Shell Befehlen durchlesen. Sie müssen dabei nicht jedes Detail verstehen, sondern sich nur einen ersten Überblick verschaffen. 1.7 Debugging Für das Debuggen von Shell Scripts unter Linux mit der bash stehen Ihnen zwei Möglichkeiten zur Verfügung: 1. echo Mit echo können Sie an beliebigen Stellen im Programm Variablen, Kommentare, etc. ausdrucken. Die Anwendung von echo finden Sie in den Aufgabenstellungen. 2. set -x Wenn Sie am Anfang eines Scriptes set -x einfügen, wird beim Abarbeiten des Scriptes jede Zeile auf den Bildschirm geschrieben. set +x schaltet dieses Feature wieder aus. 1.8 Literatur [1] Ellen Siever, ed. alt., Linux in a Nutshell, O'Reilly, 2. Auflage, 1999.
4 Betriebssysteme Shell Scripts 4 2. Aufgaben 2.1 Ein erstes Shell Script Alle Benutzer- und Shell Befehle, die Sie von Hand eingeben, können Sie auch in einer Text-Datei ablegen. Die Befehle werden dann der Reihe nach durch den Shell Kommandointerpreter ausgeführt. Die Datei mit den Befehlen wird Shell Script genannt und muss ausführbar sein. chmod +x foo macht die Datei foo ausführbar. Starten Sie ein Shell Terminal und wechseln Sie ins Verzeichnis shell/a1. Geben Sie folgende Befehle der Reihe nach ein: echo "Hello World!... I see" ls -al die entsprechenden Befehle werden ausgeführt. Als nächstes wollen wir ein Script erstellen mit Dateiname: MyFirstShellScript. Sie können entweder den Editor verwenden oder auch den Unix Befehl cat (cat foo gibt eigentlich die Datei foo auf den Bildschirm aus): cat > MyFirstShellScript #!/bin/bash # this line is a comment line echo "Hello World!... I see" ls -al CTRL-D Mit dem Befehl CTRL-D (End Of File) wir die Datei geschlossen. Wenn Sie mit ls Ihr Verzeichnis anschauen, sehen Sie die Datei MyFirstShellScript. Mit dem Befehl cat MFirstShell- Script können Sie den Inhalt der Datei betrachten. Nun haben Sie ihr erstes Shell Script geschrieben. Noch einige Erklärungen: alles hinter dem "Gartenhaag" # wird als Kommentar interpretiert, ausser der ersten Zeile: hier definieren Sie, welche Shell benutzt werden soll. Das ist vor allem dann wichtig, wenn die Arbeitsshell und die Shell, die Sie im Script verwenden wollen, verschieden sind. Starten Sie das Script indem Sie einfach MyFirstShellScript eingeben. OOPs es geht nicht... Wir haben vergessen, die Datei ausführbar zu machen: chmod +x MyFirstShellScript So nun sollte es klappen. Übrigens, Änderungen an der Datei MyFirstShellScript müssen Sie natürlich mit dem Editor machen. 2.2 Variablen und Parameter Scripts sind selbstverständlich nur interessant, wenn wir Parameter übergeben und mit Variablen arbeiten können. Den "Inhalt" von Parametern und Variablen erhält man durch Voranstellen eines $- Zeichens. Wechseln Sie in Verzeichnis shell/a2 und geben Sie folgende Zeilen im Shell Terminal ein (keine blanks vor und nach dem "="): Var1="Hallo World" Var2="... here I am" echo Var1 Var2 echo $Var1 $Var2 Überlegen Sie sich zuerst was bei folgender Befehlsfolge herauskommt, dann probieren Sie es aus:
5 Betriebssysteme Shell Scripts 5 Var3=$Var1 Var3="$Var3 Var3" echo $Var3 Nachdem wir nun die Mechanismen um Variablen kennengelernt haben, machen wir uns an die Parameter. Erstellen Sie dazu eine Script Datei mit Namen parameter und folgendem Inhalt: echo "mein Parameter ist: $1" Starten Sie parameter mit irgend einem Wert, z.b.: dann und dann parameter Steinbock parameter "Steinbock mit Aszendent Venus" parameter Steinbock mit Aszendent Venus Da fehlt aber Einiges,... was ist falsch? Nichts, nur die einzelnen Parameter werden eigentlich den Variablen $1 bis $9 zugewiesen, $0 enthält den Namen der Script Datei und über $# erhalten Sie die Anzahl Argumente. Ändern Sie parameter wie folgt: echo "ich heisse $0" echo "meine $# Parameter sind: " echo $1 echo $2 echo $3 $4 und starten Sie erneut: parameter Steinbock mit Aszendent Venus Nun, 9 Parameter sind nicht unbedingt die Welt. Selbstverständlich können Sie mehr als 9 Parameter übergeben, allerdings können Sie nicht direkt mit $n (n > 9) zugreifen. Dazu gibt es den Befehl shift. Ändern Sie parameter wie folgt (-n bei echo unterdrückt das Newline): echo "ich heisse $0" echo "meine $# Parameter sind" echo -n "$1 " shift echo -n "$1 " shift echo -n "$1 " shift echo -n "$1 " shift und starten sie erneut: parameter Steinbock mit Aszendent Venus Die Parameter werden in die Variable $1 geschoben, d.h. die Variablen $1 bis $9 Bilden ein Fenster, im dem die 9 "vordersten" Parameter sichtbar sind. Finden Sie nicht auch, dass diese Version von parameter doch etwas rudimentär ist? Hier eine etwas elegantere Lösung:
6 Betriebssysteme Shell Scripts 6 for param in $@ do echo $param done In der Variablen $@ werden alle Parameter übergeben, die Variable param enthält der Reihe nach alle Parameter. Die for-schleife wird solange durchlaufen, bis keine Parameter mehr vorhanden sind, resp. bis $param = "" ist. So das war die erste Kontrollanweisung, mehr davon später. So, nun versuchen Sie's mal mit mehr als 10 Parametern, z.b.: parameter q w e r t z Sie sehen, es funktioniert? Übrigens jetzt wissen Sie auch, wieso Ihre PC-Tastatur auch QWERTZ- Tastatur genannt wird (Wieso wird in Amerika die Tastatur "qwerty keyboard" genannt?). 2.3 Who is Who Wechseln Sie bitte ins Verzeichnis shell/a3. Geben Sie den Befehl who in einem Shell Terminal ein. Stört es Sie nicht auch, dass Ihr Name mehr als einmal aufgelistet ist? Dem wollen wir abhelfen. Die Aufgabe: schreiben Sie ein Shell Script WhoIsWho das jeden Benutzer auf Ihrem Rechner nur einmal ausgibt (wie Sie zu anderen Benutzern kommen, erklären wir Ihnen später). Als Erstes müssen wir eine Listen mit allen Benutzern haben. Wie bekommen wir aber diese Information in eine Variable? Geben Sie einmal folgende Zeilen ein: CurrentUsers=`who` echo $CurrentUsers Die Ausgabe von who steht jetzt in der Variablen CurrentUsers zur Verfügung. Übrigens `who` heisst: führe den Befehl zuerst als Ganzes aus und gib dann das Resultat resp. die Ausgabe zurück. Was machen wir aber mit all der unnötigen Information, wir wollen ja nur die Benutzernamen? Erinnern Sie sich, die Benutzernamen stehen alle in der ersten Spalte... wir müssten also irgendwie auf diese Spalte zugreifen können. Selbstverständlich kein Problem, dazu gibt es awk oder gawk (gnu awk). awk (gawk) ist eine weitere sehr mächtige Script Sprache für Mustervergleiche etc., Details siehe [1]. Für uns interessant ist,, dass gawk Spalten aus formatierten Daten extrahieren kann, geben Sie folgende Sequenz ein (Sie wissen noch was der bedeutet?) und bitte vergessen Sie die blanks nicht: who gawk '{ print $1 " " }' Das ist doch, was wir wollen: es wird jeweils das erste Wort einer Zeile ausgedruckt, gefolgt von einem Blank (in " "). Ersetzen Sie " " durch "\n": was müsste passieren? So jetzt können wir die Benutzernamen in eine Variable speichern. Das dürfen Sie aber selber ausprobieren. Nachdem wir alle Benutzer ohne Zugemüse in CurrentUsers haben, müssen wir die überzähligen Namen eliminieren. Wir schlagen folgende Vorgehen vor: Sie verwenden eine zweite Liste z.b. mit Namen FinalList und intialisieren diese wie folgt: FinalList="" Das Kopieren von Namen aus CurrentUsers können Sie mit zwei verschachtelten for-schleifen realisieren: dazu vergleichen Sie Name um Name aus CurrentUsers mit jedem Namen in der
7 Betriebssysteme Shell Scripts 7 FinalList. Finden Sie zwei gleiche Namen, dann existiert der Name schon in der FinalList,, andernfalls müssen Sie den Namen in die FinalList kopieren. Nun zu den technischen Aspekten: wie Sie eine for-schleife implementieren, haben wir am Schluss von Aufgabe 2 gezeigt, nur müssen Sie hier statt $@ die Variable $CurrrentUsers oder die Variable $FinalList einsetzen. Weiter müssen Sie jeweils ein Name aus der äusseren Schleife mit einem Name aus der inneren Schleife vergleichen. Dazu brauchen Sie eine if-anweisung: if test "$nameaussen" = "$nameinnen" then... fi oder (vergessen Sie nicht die "blanks" bei den Klammern, Vorsicht, "=" für Strings, "-eq" für Integer) if [ "$nameaussen" = "$nameinnen" ] then... fi Weitere Informationen zur Funktion test oder zu [ ] finden Sie in den Kopien zu [1]. Ob Sie einen Namen gefunden haben oder nicht, realisieren Sie am besten mit einem Flag, das entweder den String true oder false enthält: flag="false" if [ "$flag" = "false" ]... Vergessen Sie vor lauter neuen Konstrukten nicht, am Schluss alle Namen auszudrucken. Wenn Sie die endgültige Liste ausgeben, können Sie noch die Namen durch sort "pipen", um sie alphabetisch zu sortieren (sort kann nur Zeilen sortieren): for name in $FinalList do echo $name done sort Für die ersten Tests des Scripts reicht es, wenn Sie alleine eingeloggt sind, für den "final test" können Sie Ihre Nachbarn fragen, ob sie sich nicht auf Ihrer Maschine remote einloggen würden: rlogin -l EinUserName IhrMaschinenName (inpcxy) 2.4 Zeit-Diebe Das Script maketimethieves erzeugt und startet mehrere Programme mit dem Namen TimeThief und simuliert so eine starke CPU-Last durch einige "unfreundliche" Programme. Sämtliche benötigten Daten, Programme, etc. sind in einem einzigen Shell Script vereinigt, das auch alle temporär erzeugten Dateien wieder sauber aufräumt. Das einzige was das Script hinterlässt sind 40 laufende Programme namens TimeThief. TimeThief ist ein C-Programm, das nichts anderes macht, als in einer unendlichen Schleife CPU-Zeit zu stehlen (Sie werden feststellen, dass die Antwortzeit des System ziemlich startk leidet). Sollten Sie aus versehen maketimethieves bereits gestartet haben, können Sie mit "killall TimeThief" die Zeit-Diebe wieder entfernen. Betrachten wir das Script maketimethieves etwas näher (siehe unten). Es fällt Ihnen sicher auf, dass der C-Code für das Programm TimeThief in das Script integriert ist. Hier verwenden wir die Möglichkeit, Daten oder Texte aus der Script-Datei, auf den Standard Input eines anderen Programmes
8 Betriebssysteme Shell Scripts 8 umzuleiten: dazu müssen die Daten zwischen den Zeichenfolgen <++ und ++ abgelegt werden. In unserem Beispiel liest cat den Programmcode für TimeThief aus dem Script und schreibt den Output in die Datei TimeThief.cc. Der Vorteil dieser Methode ist, dass sämtliche Daten in einer einzigen Datei gehalten werden können. Als Nächstes wird TimeThief übersetzt, dann der Source Code gelöscht und das Programm TimeThieve 40 mal gestartet.... ausser Sie haben die Anzahl als Parameter angegeben. Ganz am Schluss wird auch das Programm gelöscht, es wird nicht mehr benötigt. Überlegen Sie sich, wieso das Programm gelöscht werden kann und die Zeit-Diebe trotzdem weiterlaufen. Sie haben sich sicher gewundert, wie das Programm gestartet wird: TimeThief &>/dev/null & &> leitet stdout und stderr in eine Datei um, damit muss /dev/null eine Datei sein. Das & am Schluss heisst, dass der Prozess im Hintergrund laufen soll. Nun was ist /dev/null? /dev/null ist ein Null Gerät (Geräte unter Unix/Linux werden prinzipiell wie Dateien behandelt) und funktioniert wie ein "bodenloser" Papierkorb: alles was Sie hineinwerfen verschwindet. Vorsicht, wenn Sie eine Datei mit mv nach /dev/null verschieben, ist Sie weg. Probieren Sie's mal mit einer Datei, die Sie nicht mehr benötigen. So, jetzt aber endlich der Code von maketimethieves: #!/bin/bash cat >./TimeThief.cc <<++ int main(void) { int a = 1; while (a < 2) { a = a*a; } } ++ g++ TimeThief.cc -o TimeThief rm TimeThief.cc if test "$1" = "" then max=10 else max = $1 fi let anzahl=0 while [ $anzahl -lt $max ] do TimeThief &> /dev/null & let anzahl=anzahl+1 done rm TimeThief Starten Sie die Zeit-Diebe nun bitte wie folgt (für Testzwecke reichen 5 Diebe): maketimethieves 5 Mit dem Befehl ps -a können Sie Informationen zu Ihren laufenden Prozessen abrufen. Jeder Prozess besitzt eine Nummer, die PID (Zahl ganz links). Starten Sie nun in einem eigenen Fenster den Befehl top (dann eine u und ihren Benutzernamen eingeben). Sie sehen nun, wie die 5 Zeit-Diebe die
9 Betriebssysteme Shell Scripts 9 CPU-Zeit belasten. Mit dem Befehl renice können Sie die Zeit-Diebe "freundlicher" machen, d.h. Sie können Ihre Rechenpriorität gegenüber anderen Prozessen entsprechend anpassen, z.b. macht renice 20 PID den Prozess mit ProzessID PID so freundlich wie nur möglich (je höher die Zahl, desto freundlicher, das Maximum liegt MAX_PRIO (echo $MAX_PRIO), meist 20). Machen Sie jetzt alle Zeit-Diebe so freundlich wie möglich. Im Fenster mit top sehen Sie, dass jeder freundliche Zeit-Dieb ein N erhält. Entfernen Sie anschliessend die Zeit-Diebe mit killall TimeThief. War ein Bisschen mühsam, nicht? Einfacher hätten Sie's gehabt, wenn ein Befehl zur Verfügung steht, der alle Programme mit einem bestimmten Namen freundlich macht, z.b. macht BeNice TimeThief alle Programme mit Namen TimeThief freundlich. Ihre Aufgabe ist es, ein Script zu schreiben, das genau diese Funktion implementiert. Betrachten Sie dazu zuerst die Ausgabe von ps: eine Tabelle mit Prozess IDs und den Namen der Programme. Wie Sie an die Information in den einzelnen Spalten kommen, haben wir in der letzten Aufgabe gesehen, aber wie kommen wir an die Zeilen mit den Prozessnamen? Dazu steht der Befehl grep zur Verfügung, z.b.: maketimethieves 2 ps grep TimeThief Was grep sonst noch so alles kann, finden Sie in den Unix Manuals (werfen Sie gelegentlich einen einen Blick hinein, es lohnt sich). Beenden Sie nun die zwei Zeit-Diebe wieder, sie machen Ihre Maschine nur langsam. Jetzt kennen Sie alle notwendigen Funktionen, die wir brauchen. Ihre Aufgabe: Schreiben Sie ein Script mit Namen BeNice, dem Sie als Parameter den Namen eines Programmes und den gewünschten "nice" Wert übergeben und das alle laufenden Programme mit diesem Namen "besänftigt". Damit es noch ein Bisschen spannender wird, sollte die Ausgabe Ihres Scriptes etwa folgendermassen aussehen: be nice TimeThief nr da warens nur noch 3 be nice TimeThief nr da warens nur noch 2 etc. 537 resp. 536 sind die PIDs des besänftigten Zeit-Diebes. Wie kommen Sie zur Anzahl laufender Zeit-Diebe. Die Anzahl Wörter in einer Datei oder einer Variablen können Sie mit dem Befehl wc (word count) zählen: woerter=`echo "einige Woerter zum Test"` anzahl=`echo $woerter wc -w` echo $anzahl Nun müssen Sie die Anzahl noch nicht "besänftigter" Zeit-Diebe ausgeben. Rechnen können Sie mit dem Befehl let. Hier für unser Beispiel: let anzahl=anzahl-1 echo $anzahl Beachten Sie, dass Sie hier ohne $ arbeiten müssenn. Mehr zu let in den Manuals.
10 Betriebssysteme Shell Scripts Nomadic Computing Sie arbeiten sicher an den verschiedensten Orten und ärgern sich dauernd, dass Ihre Dateien nicht überall auf dem gleichen Stand sind. Dem wollen wir abhelfen: in dieser Aufgabenstellung schreiben Sie ein Script, das zwei Verzeichnisse und die darin enthaltenen Dateien und Unterverzeichnisse abgleicht resp. jeweils auf den aktuellsten Stand bringt. Für das Kopieren können Sie den cp Befehl verwenden. Wenn Sie die richtigen Optionen wählen, kopiert er rekursiv und überschreibt eine Datei nur, wenn sie älter ist. Wie man das macht schauen Sie am Besten in den Online Manuals nach. Da Sie Ihr Script der Öffentlichkeit zugänglich machen wollen, müssen Sie einen "wrapper" schreiben, der nach den zwei Verzeichnissen fragt (falls diese nicht als Parameter übergeben wurden) und dann auch testet, ob die Verzeichnisse existieren. Für den Abgleich gehen wir der Einfachheit halber davon aus, dass beide Verzeichnisse existieren, das eine darf aber leer sein. Wie man die Abfrage gestaltet, können Sie folgendem Code Fragment entnehmen: let flag=0 until test $flag -eq 1 do if test "$dir1" = "" then echo -n "dirctory 1: " read dir1 else dir1=$1 fi if test "$dir1" = "" then echo "please give directory" elif [! -d $dir1 ] then dir1="" Anmerkung: muss auf "" gesetzt werden, sonst infinit loop echo "directory does not exist" else let flag=1 fi done Sie finden dieses Code Fragment auch im Verzeichnis shell/a5, Datei abgleich. Vervollständigen Sie das Script gemäss Aufgabenstellung. Zum Testen der Funktionalität können Sie zwei Verzeichnisse mit weiteren Verzeichnissen und Dateien anlegen. Die Dateien erzeugen Sie am Besten z.b. mit: cat > file1 Hallo CTRL-D Alte und neue Dateien können Sie mit dem Befehl touch erzeugen: touch -t file1 der Befehl setzt das Datum der Datei file1 auf Jahr 1977, Juli (07), 11. Tag (11), 18 Uhr, 24 Minuten(Format YYMMDDHHMM). Anschauen können Sie diese Dateiattribute mit ls -al.
11 Betriebssysteme Shell Scripts Dateileichen Haben Sie sich auch schon gewundert, wieso Disks nie genügend gross sind? Ursache sind all die Dateien, die von den Benutzern zwar erzeugt wurden, aber nachher nie mehr angerührt wurden, also längst "gestorben" sind. Deshalb macht es Sinn die Benutzerverzeichnisse von Zeit zu Zeit nach Dateileichen abzusuchen, diese zu archivieren und dann zu löschen. Wie man das macht, wollen wir uns im folgenden anschauen. Wechseln Sie ins Verzeichnis shell/a6. Bitte Löschen Sie nicht wirklich Dateien über das Script, sollte Ihr Script nämlich Fehler haben... Schreiben Sie ein Script dem folgende Parameter übergeben werden sollen: erster Parameter: folgende Parameter: Startverzeichnis Liste mit Benutzernamen Alle Dateien der angegebenen Benutzer, die älter als 180 Tage sind, sollen archiviert werden und dem Benutzer eine Mail mit der Liste dieser Dateien zugestellt werden. Teilen Sie dem Benutzer bitte auch mit, was mit den Dateien geschehen ist. Wir müssen verschiedene Listen, Meldungen, etc. in Dateien anlegen. Dazu können wir das Verzeichnis /tmp verwenden, das auf jedem Unix System für die temporäre Ablage von Daten zur Verfügung steht. Die Dateileichen sollen im Verzeichnis /tmp/leichen abgelegt werden und zwar mit dem gesamten Verzeichnisbaum, damit sie, falls doch noch benötigt, einfach wieder gefunden werden können. Jedesmal wenn das Script gestartet wird, muss als erstes das Verzeichnis /tmp/leichen gelöscht und wieder erzeugt werden, um zu verhindern, dass alte Dateien mehrfach gespeichert werden: rm -rf /tmp/leichen mkdir /tmp/leichen Als Nächstes erstellen wir eine Liste mit den Dateileichen. Dazu verwenden wir den Befehl find. Welche Optionen Sie verwenden müssen, entnehmen Sie bitte den kopierten Seiten aus [1]. Beachten Sie, dass das Startverzeichnis und der jeweilige Benutzer bekannt sind. Speichern Sie die gefundenen Dateien in /tmp/leichenliste. Jetzt müssen wir die Dateien kopieren. Da cp nicht die ganzen Pfadnamen beibehalten kann, behelfen wir uns mit tar. Sie erhalten hier die dazu notwendige Scriptzeile, überlegen Sie sich mit Hilfe des Manuals was genau geschieht: tar c `cat /tmp/leichenliste` (cd /tmp/leichen; tar x) Nun könnte man die einzelnen Dateien im Benutzerverzeichnis löschen rm `cat /tmp/leichenliste` aber!!!!!!!, lassen Sie das lieber vorerst bleiben. Am Schluss erhält der Benutzer noch eine nette cat /tmp/meldung /tmp/leichenliste mail username Dazu haben Sie vorher die Datei /tmp/meldung mit Text aus dem Script erzeugt. Mails kann man mit dem Befehl mail lesen. mail meldet sich mit einem &, geben Sie die Nummer der Mail und dann einen Zeilenwechsel (CR): die Meldung wird auf dem Bildschirm ausgegeben. Mit dem Befehl d mailnummer CR können Sie die Mail löschen, mail verlassen Sie mit q CR. Vergessen Sie nicht, diese Befehle in einer Schleife für alle angegebenen Benutzer auszuführen. Ganz am Schluss archivieren Sie die Dateileichen (Dateien in /tmp/leichen) in einer tar-datei mit Namen OldFilesArchive (cd /tmp/leichen; tar c > OldFilesArchive)
12 Betriebssysteme Shell Scripts 12 Da Sie keine Administrator-Rechte haben, können Sie nur Ihr eigenes Verzeichnis absuchen. wir empfehlen Ihnen deshalb das Script wie folgt aufzurufen (wir nennen es archi): archi $HOME IhrUserName Zum Austesten Ihres Scriptes haben wir das Script makeoldfiles geschrieben, das im Praktikumsordner alte Dateien erzeugt. Jedesmal wenn Sie Ihr Script ausgeführt haben, werden die Dateien als von tar "touched" gebrandmarkt und können kein zweites Mal durch find gefunden werden. D.h. Sie müssen vor jedem Start von archi zuerst makeoldfiles laufen lassen.
Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen:
Antwort: Automatisierte Backups sind nicht Teil von Confixx. Mit Hilfe von Cronjobs ist es aber dennoch möglich. Als Zielordner wählen wir das Files-Verzeichnis. Die Backups werden im Confixx-Format angefertigt
MehrWie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
MehrErstellen der Barcode-Etiketten:
Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst
MehrLuis Kornblueh. May 22, 2014
Einführung in die Bash Luis Kornblueh KlosterCluster Team 2013/2014, Klosterschule May 22, 2014 1 / 17 Inhaltsverzeichnis Einführung in das Scripting Einfache Beispiele Kommandos ersetzen Bedingungen Tests
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrOrdnung auf/im (Win-)PC bzw. der Festplatte
Ordnung auf/im (Win-)PC bzw. der Festplatte Ein Versuch da was zu (er)klären von Uwe Troll Vorbemerkung: Alles was später hier gezeigt wird, wird auf Ihrem PC anders aussehen! Das Prinzip bleibt aber gleich.
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
MehrDas sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert
Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrHandbuch für Redakteure
Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6
MehrLinux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrMenü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen
Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...
MehrAufgabensammlung IT 4131. Shellprogrammierung Teil I
Aufgabensammlung IT 4131 Shellprogrammierung Teil I Fragen: I.1 Was ist eine Shell? Skript 1.1.2, S. 4 a) aus der Sicht des Betriebssystems b) aus der Sicht des Anwenders I.2 Was ist ein Shell-Skript?
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrObjektorientiertes Programmieren mit Suse Linux
Objektorientiertes Programmieren mit Suse Linux Zum Programmieren werden 2 Komponenten benötigt: 1. einen Editor zur Eingabe des Quellcodes 2. einen Compiler, der den Quellcode in die Maschinensprache
MehrWindows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
MehrSkripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93
Skripte Wie kann ich mir komplexe Befehle merken? Gar nicht aber der Computer kann es für mich! Einfach die Befehle in eine Textdatei schreiben und ausführbar machen #! (Shebang) in der ersten Zeile bestimmt
MehrProfessionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrInternationales Altkatholisches Laienforum
Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet
MehrDateimanagement in Moodle Eine Schritt-für
Übersicht: Lehrende können Dateien in einen Moodle-Kurs hochladen, in Verzeichnissen verwalten und für Studierende zugänglich machen. Jeder Moodle-Kurs hat einen Hauptordner Dateien im Administrationsblock.
MehrWordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten
Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge
MehrEinführungskurs MOODLE Themen:
Einführungskurs MOODLE Themen: Grundlegende Einstellungen Teilnehmer in einen Kurs einschreiben Konfiguration der Arbeitsunterlagen Konfiguration der Lernaktivitäten Die Einstellungen für einen Kurs erreichst
MehrDiese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3
Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Mehr1.Unterschied: Die Übungen sind nicht von deinem Mathe-Lehrer...
mit den Spezialkursen so funktioniert es! Liebe Schülerinnen und Schüler, wenn ihr jetzt sagt: Mathe üben mit dem PC? Cool, wie funktioniert das denn? dann seid ihr hier im Mathe-Online-Center genau richtig.
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrWie Sie mit Mastern arbeiten
Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint
MehrEnigmail Konfiguration
Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es
MehrKurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich
Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrFlyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen
Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrEINFACHES HAUSHALT- KASSABUCH
EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)
MehrPunkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software
Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung
MehrFinder > 'Programme' > 'Dienstprogramme' > 'Terminal'
Kommandozeile Unter bestimmten Umständen kann es sehr nützlich sein, mit der Kommandozeile umgehen zu können, vor allem im Hinblick auf Automatisierungsmöglichkeiten mit Batch-Programmen. Daher werden
Mehrec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt
ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrDrucken aus der Anwendung
Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die
MehrLeitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
MehrWiederholung und Vertiefung. Programmieren in C. Pointer und so... thoto. /dev/tal e.v. 6. April 2013 (Version vom 11. April 2013) Programmieren in C
Pointer und so... 6. April 2013 (Version vom 11. April 2013) Agenda für Heute 1 Wiederholung und Vertiefung Wiederholung 2 Was sind? Felder und Vektoren? Zeichenketten Wiederholung Wiederholung Funktion
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrFlash Videos einbinden
Flash Videos einbinden Im Kapitel Videos einbinden ( - ) haben Sie gesehen, wie man einfach und ohne Zusatzprogramme kleine Videoclips auf seiner einbinden kann. Ich persönlich würde jedem dieses Verfahren
MehrWindows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA
Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach
MehrHardware - Software - Net zwerke
Komprimierung der Ortho-Daten als ZIP-Archiv Dieses Dokument beschreibt die Archivierung aller Ortho-Daten als ZIP-Archiv über die MS- DOS-Eingabe-Aufforderung. Diese Information kann Ihnen zum Sichern
Mehr1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)
Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese
MehrFachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen)
Fachhochschule Fulda Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen) Inhaltsverzeichnis 1. Vorgehensweise bei der ersten Anmeldung... 1 2. Startseite... 1 3. Login...
MehrAnwender-Dokumentation. Update ATOSS WINDOWS. Versionswechsel innerhalb der V2.5
Anwender-Dokumentation Update ATOSS WINDOWS Versionswechsel innerhalb der V2.5 Allgemein Diese Dokumentation beschreibt das Aktualisieren eines Windows-ATOSS-Servers auf die Version 2.5 vom 01.Juli 2011.
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrWie man eigene Programme erstellt
Kapitel 3 Wie man eigene Programme erstellt In diesem Kapitel geht es darum, sich mit einem Compiler vertraut zu machen. Dabei erfahren Sie, wie Sie eigene Programme auf den Systemen Windows und Linux
MehrHandbuch für Redakteure
Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Trennen der Druck- und der Online-Version.. 4 Grunddaten ändern... 5 Weitere Artikel-eigenschaften...
MehrErstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])
3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere
MehrWir arbeiten mit Zufallszahlen
Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrBEDIENUNG ABADISCOVER
BEDIENUNG ABADISCOVER Juni 2005 / EMO v.2005.1 Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Unterlagen, oder Teilen
MehrAnton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag
Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr
MehrNicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003
Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.
MehrAnleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)
Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung
Mehr1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.
Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,
MehrDas Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server
Hallo Leute Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server (= echtes - zeug ) liegt! Die neue Form hat insbesondere folgende Vorteile: Du bekommst einen
MehrEinführung in Powerpoint M. Hasler 2010. Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung
Wie erstelle ich eine Präsentation mit Powerpoint? - Eine Kurzanleitung 1 Als erstes musst du wissen, was du präsentieren willst logisch - sonst bleiben deine Folien ohne Inhalt. Vielleicht willst du die
Mehr1. Standortbestimmung
1. Standortbestimmung Wer ein Ziel erreichen will, muss dieses kennen. Dazu kommen wir noch. Er muss aber auch wissen, wo er sich befindet, wie weit er schon ist und welche Strecke bereits hinter ihm liegt.
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrAnleitung zum erfassen von Last Minute Angeboten und Stellenangebote
Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen
MehrAnleitung: Webspace-Einrichtung
Anleitung: Webspace-Einrichtung Inhaltsverzeichnis 1 Webspace für alle Rechenzentrumsnutzer(innen) 1 2 Login 2 2.1 Im Terminalraum / Mit Putty von zu Hause aus..................... 2 2.2 Auf unixartigen
Mehr2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.
Bildergalerie einfügen Wenn Sie eine Vielzahl an Bildern zu einem Thema auf Ihre Homepage stellen möchten, steht Ihnen bei Schmetterling Quadra das Modul Bildergalerie zur Verfügung. Ihre Kunden können
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrComputerstammtisch Tegernau, Tutorial Grundlagen, Dateioperationen, Datensicherung (Screenshots und Erläuterungen beziehen sich auf Windows 7)
Computerstammtisch Tegernau, Tutorial Grundlagen, Dateioperationen, Datensicherung (Screenshots und Erläuterungen beziehen sich auf Windows 7) Wir haben beim letzten Mal gehört, wie wichtig es ist, dass
MehrBedienungsanleitung Anlassteilnehmer (Vereinslisten)
Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,
MehrTESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!
9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr
MehrAnleitung zur Erstellung einer Gefährdungsbeurteilung
Anleitung zur Erstellung einer Gefährdungsbeurteilung 1 Vorbereiten der Gefährdungsbeurteilung 1.1 Richten Sie mit Hilfe des Windows-Explorers (oder des Windows-Arbeitsplatzes) einen neuen Ordner ein,
MehrAufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie
MehrProgramme im Griff Was bringt Ihnen dieses Kapitel?
3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich
MehrNOXON Connect Bedienungsanleitung Manual
Software NOXON Connect Bedienungsanleitung Manual Version 1.0-03/2011 1 NOXON Connect 2 Inhalt Einführung... 4 Die Installation... 5 Der erste Start.... 7 Account anlegen...7 Hinzufügen eines Gerätes...8
MehrDurchführung der Datenübernahme nach Reisekosten 2011
Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrWhitepaper. Produkt: combit address manager/combit Relationship Manager. Erweitertes David AddIn für Tobit. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit address manager/combit Relationship Manager Erweitertes David AddIn für Tobit Erweitertes David AddIn für Tobit - 2 - Inhalt Bedienung
MehrInformatik Grundlagen, WS04, Seminar 13
Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrBarcodedatei importieren
Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1
MehrInternet online Update (Mozilla Firefox)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:
MehrWindows 7 Ordner und Dateien in die Taskleiste einfügen
WI.005, Version 1.1 07.04.2015 Kurzanleitung Windows 7 Ordner und Dateien in die Taskleiste einfügen Möchten Sie Ordner oder Dateien direkt in die Taskleiste ablegen, so ist das nur mit einem Umweg möglich,
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrSerienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
MehrDokumentation IBIS Monitor
Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt
MehrBenutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck
Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck Diese Anleitung muss bei jedem Start von Avid Liquid Edition befolgt werden, da sonst das Schneiden der Videos nicht möglich
MehrDaten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen
Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.
MehrSpielmaterial. Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos
Kissenschlacht_Regel.qxp:Layout 1 19.05.2010 12:00 Uhr Seite 1 Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos Spieler: 2 4 Personen Alter: ab
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Mehr1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen
1. Einführung Über die Tabellen-Auswertungen können Sie eigene Auswertungen nach Ihren Wünschen erstellen. Diese Auswertungen werden immer anhand der aktuellen Daten aus orgamax ermittelt, Sie können also
MehrFuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7
FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die
MehrHandbuch für Redakteure
Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6
MehrSOFiSTiK AG 2011. Installationsanleitung
SOFiSTiK AG 2011 Installationsanleitung Copyright SOFiSTiK AG, D-85764 Oberschleißheim, 1990-2011 Dieses Handbuch ist urheberrechtlich geschützt. Kein Teil darf ohne schriftliche Genehmigung der SO- FiSTiK
Mehr