SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

GUIDES UND TUTORIAL

Allgemeines

Notieren Sie sich bei der Bearbeitung der Aufgaben jeweis das/die notwendige(n) Kommando(s) und die Ergebnisse, welche die Anwendung des/der Kommando(s) bringt. Bei Aufgaben mitShellskripts ist nicht nur das dokumentierte(!) Skript, sondern auch eine typischeAusgabe vorzulegen.
Die ersten Aufgaben sollen auch zum Erforschen des Systems dienen, weshalb die Aufgaben so gehalten sind, daß Sie noch Zeit übrig haben.

Einstieg

  1. Loggen Sie sich mit Ihrem Benutzerkennzeichen ein und geben Sie ein neues Paßwort ein. Öffnen Sie dazu ein Shell-Fenster.

  2. Stellen Sie fest, in welchem Verzeichnis Sie sich befinden.

  3. Stellen Sie fest, welche Dateien und Verzeichnisse sich in Ihrem Home-Directory befinden.

  4. Betrachten Sie den Inhalt der Datei .profile. Falls es keine solche Datei geben sollte, kopieren Sie sich diese aus dem Verzeichnis /etc/skel in Ihr Heimatverzeichnis. Ist auch dort keine vorhanden, legen Sie eine solche Datei an, indem Sie das folgende Kommando ausführen (Achtung: Die verschiedenen Anführungszeichen beachten!)
                                            echo "echo 'Hallo'" > .profile
                                            

  5. Wer arbeitet noch am Rechner?

  6. An welchem Terminal arbeiten Sie selbst?

  7. Öffnen Sie ein zweites Shell-Fenster.

  8. Geben Sie den Inhalt des Verzeichnisses "/etc" aus. Verwenden Sie verschiedene Optionen des ls-Kommandos. Verwenden Sie für längere Ausgaben eine Pipe aus "ls" und "more".

  9. Informieren Sie sich über den Gebrauch des Kommandos "banner".

  10. Legen Sie in Ihrem Home-Directory die Unterverzeichnisse mit den Namen "demo" und "bin" an.

  11. Welche Zugriffsrechte haben die beiden neu angelegten Verzeichnisse?

  12. Kopieren Sie einige Dateien aus "/etc" in Ihr Verzeichnis "demo". Wie haben sich Eigentümer- und Zugriffrechte gegenüber den Originalen geändert?

  13. Setzen Sie die Zugriffsrechte des Verzeichnisses "bin" in Ihrem Heimatverzeichnis so, daß für User, Group und Others die "execute"- und "read"-Erlaubnis, Schreibrecht aber nur für den User gesetzt ist.

  14. Kopieren Sie die Datei ".profile" in das Unterverzeichnis "demo"; sie soll dort den Namen "pr1" haben.

  15. Versuchen Sie das Ganze mit einem anderen Kommando und E/A-Umleitung, diesmal mit der Zieldatei "pr2".

  16. Wechseln Sie in das Verzeichnis demo und geben Sie die Datei "pr1" auf dem Bildschirm aus.

  17. Benennen Sie die Datei "pr2" in "prof" um.

  18. Erzeugen Sie ein (Hard-)link auf die Datei "prof"; es soll den Namen "prof1" haben.

  19. Erzeugen Sie ein Softlink (symbolisches Link) auf die Datei "prof"; es soll den Namen "prof2" haben.

  20. Sorgen Sie dafür, daß im Directory "demo" keine Dateien gelöscht werden können.

  21. Versuchen Sie, die Datei "prof" zu löschen. Was geschieht? Setzen Sie die Zugriffsrechte von "prof" auf 000.

  22. Nehmen Sie den Schutz von "demo" wieder zurück und versuchen Sie, "prof" nun zu löschen. Was geschieht? Wie verhalten sich die beiden Links prof1 und prof2 nach dem Löschen von prof?

  23. Suchen Sie die Benutzer-, Gruppen und Paßwortdatei auf der Platte. Welche Zugriffsrechte haben diese Dateien?

  24. Welche Prozeßnummern haben Ihre Prozesse?

  25. Welche Prozesse fallen unter die "Top 10" (Tip: Kommando "top" im Shell-Fenster aufrufen)? Starten Sie den Internet-Browser und beobachten Sie, wie sich die Anzeige ändert.

  26. Rufen Sie eine zweite Shell auf (sh). wie ist das Verwandtschaftsverhältnis zur Login-shell (Kommando "ps -f")?

  27. Rufen Sie nun noch eine andere Shell, die "bash" auf. Wie sieht nun Ihre Prozeßliste aus?

  28. Bauen Sie nun die Shell-Prozesse mit CTRL-D schrittweise wieder ab. Was passiert beim Abbau der Login-Shell?

  29. Loggen Sie sich wieder ein und probieren Sie diesmal die Überlagerung der aktuellen Shell mit der "bash", indem Sie das Kommando "exec bash" eingeben. Was passiert, wenn Sie die "bash" beenden?

  30. Erzeugen Sie eine Shellvariable namens "HI" mit dem Wert "Hi, wie geht es?" Überprüfen Sie den Variableninhalt.

  31. Öffen Sie nun wieder eine zweite Shell. Welchen Wert hat "HI" jetzt? Weisen Sie der Shell-Variablen den Wert "Hi Fan!" zu und überprüfen Sie den Wert. Beenden Sie die zweite Shell und überprüfen Sie nochmals den Wert von "HI". Wiederholen Sie die o. g. Schritte, aber exportieren Sie "HI" gleich am Anfang.

Editor vi (optional)

  1. Machen Sie sich mit dem Editor "vi" vertraut. Üben Sie besonders das Eingeben und Löschen von Zeilen und einzelnen Zeichen sowie das Ersetzen von Zeichen. Geben Sie dazu folgenden Text ein und speichern Sie ihn auf der Platte unter dem Namen "text1". Denken Sie daran, daß am Ende jeder Zeile die Return-Taste gedrückt werden muß. Vermeiden Sie auch den Gebrauch von Umlauten. Verwenden Sie stattdessen die Umschreibungen 'ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss' oder die beim Satzsystem TEX übliche Form '"a', '"o', '"u', '"A', '"O', '"U', '"s'.

    "Denken Sie, wie schön der Krieger, der die Botschaft, die den Sieg, den die Athener bei Marathon, obwohl sie in der Minderheit waren, nach Athen, das in großer Sorge, ob es die Perser nicht zerstören würden, schwebte, erfochten hatten, verkündete, brachte, starb!"

    (Auch wenn Sie es nicht glauben - das ist ein korrekter deutscher Schachtelsatz).
    Nach Korrektur der Tippfehler speichern Sie den Text ab und ersetzen Sie nun alle Vorkommen von "Athen" durch "München". Was geschah mit den "Athenern"?

  2. Kopieren Sie "text1" auf "text2" und bearbeiten Sie nun "text2". Ersetzen Sie "München" wieder durch "Athen". Fügen Sie nun die beiden Zeichen "> " (Größerzeichen und Leerzeichen) am Zeilenanfang ein (global ersetzen) und speichern Sie die Datei. Verlassen Sie den "vi" und drucken Sie beide Texte aus.

Prozesse und Pipes

  1. Lassen Sie den Inhalt des Verzeichnisses /home rekursiv (Langfassung) im Hintergrund auf die Datei "home.aus" in Ihrem Home-Directory ausgeben.

  2. Informieren Sie sich über alle gerade im System laufenden Prozesse. War Ihr Hintergrundprozeß noch dabei?

  3. Sehen Sie sich die Datei "home.aus" an, sobald Ihr Hintergrundprozeß beendet ist und löschen Sie diese danach.

  4. Versuchen Sie dasselbe mit einem Prozeß, der durch das Kommando "sleep 300 &" erzeugt wird.

  5. Mit Pipes kann man recht komfortable Kommandos bilden. Verwenden Sie die Hintereinanderschaltung von "ps -ef" und "grep", um die Prozesse eine bestimmten Benutzers oder eines bestimmten Terminals anzuzeigen.

  6. Geht es auch einfacher, die Prozesse eines Benutzers anzuzeigen? Falls ja, wie?

  7. Das Kommando "find" wird verwendet, um Dateien nach bestimmten Kriterien zu suchen.

    1. Geben Sie einen Aufruf von "find" an, der im Verzeichnis /home alle Dateien sucht, auf die innerhalb der letzten 10 Tage zugegriffen wurde.

    2. Geben Sie einen Aufruf von "find" an, der im Verzeichnis /var alle Dateien sucht, die dem User "root" gehören.

    3. Wie können Sie die Fehlermeldungen ("...permission denied...") loswerden?

    4. Noch eine Theorie-Frage. Welches find-Kommando müßte man verwenden, um in allen Dateien auf der Platte mit der Endung ".txt" nach der Zeichenkette "UNIX" zu suchen. Nicht ausprobieren, sondern theoretisch beantworten!

  8. Verwenden Sie das at-Kommando, um eines oder mehrere Kommandos eine Viertelstunde später ausführen zu lassen. Beachten Sie dabei, daß die Ausgabe der abgesetzten Aufträge in eine Datei geschrieben werden soll (Umleitung). Kontrollieren Sie die abgesetzen Aufträge und später die erfolgreiche Ausführung der Kommandos. Löschen Sie eventuell noch vorhandene at-Jobs vor dem Logout mit

    at -r `at -l | cut -f1`

    Erklären Sie obige Kommandofolge.

Einstieg Shell-Programmierung

  1. Nun wird das erste Shell-Skript erzeugt. Wechseln Sie in Ihr "bin"-Verzeichnis. Legen Sie eine Datei "run" an und schreiben Sie einige Kommandos (echo, ls, cd, pwd, usw.) in diese Datei. Setzen sie das Ausführungsrecht (User) für diese Datei. Durch Aufruf von "run" werden nun die darin stehenden Kommandos ausgeführt. Probieren Sie verschiedene Kommandos aus und entwerfen Sie weitere Skripten.

  2. Schreiben Sie ein Shell-Skript, das in einer Endlosschleife alle 10 Sekunden die Uhrzeit (Stunde und Minute) per "banner"-Kommando auf den Bildschirm ausgibt und vorher den Bildschirm löscht. Das Skript kommt natürlich wieder in Ihr "bin"-Verzeichnis. Wie können Sie das Skript beenden? Was passiert, wenn Sie das Skript im Hintergrund starten? Wie können Sie es nun beenden?

  3. Mit dem Kommando nohup kann man Hintergrundaufträge absetzen, die auch nach dem Logout am Terminal weiterlaufen. Eventuelle Ausgaben werden in die Datei "nohup.out" im gerade aktuellen Verzeichnis geschrieben. Estellen Sie ein Shellskript namens "bat", das zunächst ins Heimatverzeichnis des Benutzers wechselt und dann die Parameterzeile an "nohup" übergibt (Start als Hintergrundprozeß nicht vergessen).

Kommunikation

  1. Machen Sie sich mit den E-Mail-Kommando "mailx" vertraut. Senden Sie zunächst Post mit dem Kommando "mailx" an sich selbst. Wie kann man den Usernamen eines Empfängers auf dem lokalen Rechner herausfinden?

  2. Verschicken Sie einen Brief unter Verwendung von "mailx" duch ein Kommando auf der Eingabezeile (also ohne "mailx" interaktiv zu bedienen). Der Brieftext soll aus einer bereits vorhandenen Datei kommen, auf der Kommandozeile sollen Betreff und Enmpfänger angegeben werden.

  3. Schicken Sie weitere Briefe an sich selbst und an andere. Verwenden Sie zum Senden und Lesen das Kommando "pine". Informieren Sie sich gegebenenfalls per "man"-Kommando oder die Online-Hilfe über die Funktion von "pine".

  4. Machen Sie sich mit den Kommandos "telnet", "finger" und "ftp" vertraut.

    1. Simulieren Sie den Wechsel per "telnet" auf einen anderen Rechner mit dem Kommando "telnet localhost".

    2. Fragen Sie mit "finger" einige Benutzeraccounts ab. Was geschieht beim Aufruf von "finger @pegasus"?

    3. Der Linux-Rechner "ftp.ee.fhm.edu" hat keine Studenten-Accounts, sie können sich daher dort nicht einloggen. Zum Dateitransfer mit FTP ist dort jedoch ein sogenannter "anonymer FTP" eingerichtet. Verwenden Sie das Kommando "ftp" und geben Sie als Benutzerkennung "ftp" und als Passwort Ihre Mailadresse ein. Welche Kommandos können Sie benutzen? Wie stellt sich die Dateistruktur dar? Holen Sie sich Dateien, die Sie interessieren, auf Ihren Rechner.

Shell-Programmierung

  1. Zu Beginn etwas Mathematik. Schreiben Sie ein Shell-Skript "ggt", daß den größten gemeinsamen Teiler der als Parameter übergebenen beiden Zahlen berechnet. Formulieren Sie die Berechnung des GGT als Shell-Funktion. Der Algorithmus lautet folgendermaßen:

                                            ggt(x,y):
                                            solange x =/ y wiederhole
                                              falls x > y  dann  x := x - y 
                                            sonst y := y - x;
                                            
    Denken Sie daran, daß man zum Rechnen das Kommando "expr" braucht.

  2. Formulieren Sie ein Shell-Skript, das als Eingangsparameter ein beliebiges Verzeichnis hat und dieses Verzeichnis und alle seine Unterverzeichnisse bearbeitet. Es soll dabei zählen:
    - wieviele normale Dateien vorhanden sind,
    - wieviele Verzeichnisse vorhanden sind,
    - wieviele sonstige Dateien (Softlinks, Devicefiles, etc.) vorhanden sind
    und dieser drei Zahlen ausgeben. Überprüfen Sie zuerst, ob der Parameter vorhanden ist und eine Verzeichnisangabe enthält.

    Hinweis: Verwenden Sie das find-Kommando um alle Datei- und Verzeichnisnamen zu ermitteln und bearbeiten Sie dann in einer Schleife die Ausgabe des find-Kommandos.

  3. Manche Benutzer achten nicht auf den verbrauchten Plattenplatz. Als Systemverwalter wollen Sie natürlich die Überwachung der Platte automatisieren. Schreiben Sie ein Shellskript "check", das die Belegung der einzelnen Verzeichnisse im Directory "/home" ermittelt und die Verzeichnisse auflistet, deren Dateien insgesamt einen vorgegebenen Wert MAXBLOCKS überschreitet.
    Um den belegten Platz eines Verzeichnisses zu ermitteln, wird das Kommando "du -s <Verzeichnisname>" verwendet. Es werden die Anzahl der belegten Blöcke und das Verzeichnis ausgegeben. Benötigt wird aber nur der Zahlenwert. "du" muß also für jedes Verzeichnis in "/home" getrennt aufgerufen werden.
    Bei Überschreiten von MAXBLOCKS wird eine Zeile an die Datei "$HOME/du-list" angehängt, die den Verzeichnisnamen und die Anzahl der belegten Blöcke enthält.

  4. In der Vorlesung haben Sie gesehen, daß mit dem trap-Kommando beim logout ein Shell-Skript gestartet werden (Signal 0). Erweitern Sie ihre Datei ".profile" dahingehend, daß beim Login eine Datei ".lastlog" auf dem Bildschirm angezeigt wird. Danach wird die Datei mit dem Text:

    "Letztes Login: ", gefolgt vom aktuellen Datum/Uhrzeit

    überschrieben. Erweitern Sie ".profile" um einen Trap-Befehl, der an die Datei ".lastlog" eine zweite Zeile mit dem Text:

    "Letztes Logout: ", gefolgt vom aktuellen Datum/Uhrzeit

    erweitert. Bei jedem Login werden nun die Zeilen ausgegeben und Sie können so überprüfen, ob jemand Fremdes mit Ihrer Benutzerberechtigung gearbeitet hat.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere