1. Wer ist gerade am (lokalen!) System eingeloggt? Wer im Moment angemeldet ist: who Unter welchem Namen Sie angemeldet sind: whoami 2. In welchem Verzeichnis befinden Sie sich gerade? Das aktuelle Verzeichnis zu zeigen: pwd (print working directory) 3. Wie viele Dateien - auch versteckte - sind im aktuellen Arbeitsverzeichnis? ls –a | wc –l find . –type f | wc – l find . –maxdepth 1 –type f | wc – l (aktuelles Verzeichnis) find ~ --maxdepth 1 –type d | wc - l (vollen Pfad) ls – al | grep ^- | wc – l (die mit Strich beginnen) 4. Wie viele Dateien befinden sich in /usr/lib? find /usr/lib/ -maxdepth 1 –type f | wc – l 5. Wie viele Dateien (keine Verzeichnisse!), die mit t beginnen, befinden sich im Verzeichnis /usr/lib und seinen Unterverzeichnissen? find /usr/lib/ -maxdepth 1 –type f –name “t*“ | wc – l 6. Wie viele Dateien/Verzeichnisse in /usr/include (ohne Unterverzeichnisse!) haben ein x im Dateinamen? find /usr/include/ -maxdepth 1 –type f –name “*x*“ | wc – l (f beduetet reguläres File :Datei) find /usr/include/ -maxdepth 1 –type d –name “*x*“ | wc – l (d beduetet Verzeichnis) 7. Wie viele versteckte Dateien, die mit t beginnen, gibt es in deinem Homeverzeichnis? ls – a (im ~ ) ls – a | grep `\.t` | wc – l (Hochkomma) ls – a .t* -d find –maxdepth 1 (ohne –type d) –name “.t*“ | wc –l 8. Gibt es in / Verzeichnisse, die Sie als normaler User nicht lesen dürfen? Wenn ja, welche? ls –l (Dateirechte –l) 9. Welche Rechte hat /etc/securetty? Dürfen Sie diese Datei als normaler Benutzer ansehen? ls –l /etc/securetty cat 10. Wie viele Dateien, die mit s beginnen, gibt es im Suchpfad (PATH)? S <Tab><Tab> drücken und possibilities Echo $PATH 11. Welches ist das größte Unterverzeichnis in /var/spool? ls –l /var/spool du –sh /var/spool/* 2>/dev/null (um Fehlermeldungen zu vermeiden) ( du: disk usage) 12. Erzeuge eine Textdatei mit dem Inhalt ”praxis”. Wie groß ist die Datei? Welche Berechtigungen hat sie? echo “praxis“ > praxis.txt ls –l praxis.txt vierte Spalte ist die Größe 13. Um welchen Dateityp handelt es sich bei /etc/host.conf? Notieren Sie den Inhalt der Datei. ls –l /etc/host.conf cat /etc/host.config (um zu sehen was drinnen steht) 14. Erstellen Sie ein Datei data. Erstellen Sie weiters einen symbolischen Link data.link, der auf data zeigt und löschen Sie danach data. Läßt sich der Inhalt von data.link anzeigen? touch data ln –s data data.link (Symb.Link) rm data cat data.link ls –l 15. Wie viele Wörter, Zeilen bzw. Zeichen hat die Datei /etc/services? wc /etc/services -l (Zeilen) -w (Wörter) -c (Zeichen) erster Wert: zweiter Wert: dritter Wert: 16. Erstellen Sie eine Datei verzeichnis mit dem Namen des aktuellen Verzeichnisses als Inhalt ohne einen Editor zu benutzen. pwd ( aktulelles Verzeichnis) pwd > verzeichnis ls cat verzeichnis 17. Welche Zeilennummer hat die letzte Zeile in /usr/include/string.h, in der das Wort restrict vorkommt? grep –n restrict /usr/include/string.h (letzte Anzahl ist die Antwort) oder mit vi nach restrict suchen 18. Erstellen Sie eine Datei recht. Ändern Sie ihre Rechte auf 040.Wer darf die Datei nun lesen/schreiben/ausführen? touch recht chmod 040 recht ls –l cat recht 19. Finden Sie die Version der bash heraus! bash - - version 20. Wer besitzt die Datei /etc/passwd? ls –l /etc/passwd 21. Wie lautet Ihre aktuelle Umask? umask -> 022 -> abgezogen von 666 22. Wo im Pfad befindet sich das Kommando basename? which basename (usr/bin/basename) whereis 23. Wo in /usr/include befindet sich die Datei job.h? find /usr/include/ -name job.h 24. Welchen Wert hat die Variable PWD? echo $PWD (/home/…) 25. Setzen Sie die Variable FOO auf den Wert bar. Geben Sie ihren Wert aus und löschen Sie die Variable wieder. FOO=bar (ohne Abstand) echo $FOO ( bar ) unset FOO (Variable löschen) echo $FOO (nicht gesetzte Variable Inhalt ist leer) 26. Erzeugen Sie mit einer Schleife 3 Dateien bild[4-6].txt! for i in ’seq 4 6’ ; do > touch bild$i.txt > done (entstandene Dateien 4,5,6. Variablenname bild{i}.txt ) 27. Erstellen Sie einen Alias für cp, sodaß rückgefragt wird, ob die Datei wirklich kopiert werden soll (Hinweis: man cp!) man cp cp bild4.txt bild5.txt alias echo $PATH alias cp=`cp -i’ ( i bedeutet Rückfrage vor dem Schreiben) cp bild4.txt bild5.txt which cp /bin/cp bild4.txt bild5.txt cp -f 28. Listen Sie alle am System laufenden Prozesse auf. Wie lange läuft ihre Shell schon? ps aux (alle laufende Prozesse) ps aux | grep bash 29. Finden Sie heraus, unter welchem User portmap läuft! ps aux | grep portmap 30. Kopieren Sie die Datei /usr/include/unistd.h in ihr Homeverzeichnis. Packen Sie die Datei mit gzip und notieren Sie die Größe vor/nach dem Komprimieren. cp /usr/include/uninstd.h ~ ls –l gzip unistd.h ls –l 31. Erstellen Sie ein tar–Archiv, das aus /usr/include die Dateien stdio.h, unistd.h und stdlib.h enthält. Wie groß sind die einzelnen Dateien, wie groß ist das Archiv? ls –l /usr/include/{ stdio, uninstd, stdio}.h tar -cvf archiv.tar /usr/include/{ stdio, uninstd, stdio }.h (…) ls –l (archiv.tar) 32. Lassen Sie sich (mittels cut) aus /etc/passwd nur die Benutzernamen und deren UID (3. Feld) ausgeben! cat /etc/passwd cat –d: -f2,f4 /etc/passwd (d:Kennzeichen zw.Felder; f2 bis f4 : Felder ) 33. Kopieren Sie /etc/protocols in ihr Homedirectory und entfernen Sie mittels geeigneter Kommandoverknüpfung die Kommentare aus dieser Datei. (Achtung: Das Zeichen # muß in der Shell gequotet werden!) cp /etc/protocols ~ cut –d’#’ –f1 protocols ( manchmal auch ohne Hochkomma) man grep ( invert match) grep –v fc protocols (fix command 34. Gib alle Zeilen in /etc/issue aus, die nicht ’Red Hat’ enthalten. grep -v 'Red Hat' /etc/issue 35. Lassen Sie sich nur die letzte Zeile von /etc/man.config anzeigen. tail –nl /etc/manpath.config 36. Lassen Sie sich nur die erste Zeile von /etc/resolv.conf anzeigen. head – nl /etc/resolve.config head -1 /etc/resolv.config Erklärung zu grep -v /****************************************************************************************************************** *# ohne diese Option *user@sonne> ps ax | grep inetd *133 ? * 762 pts/2 S 0:00 /usr/sbin/inetd S 0:00 grep inetd * *# die Ausgabe "grep" herausfiltern *user@sonne> ps ax | grep inetd | grep -v grep * 133 ? S 0:00 /usr/sbin/inetd *Beispiel: Gesucht wird (wort1 UND NICHT wort2) in allen Dateien vom Typ ".doc" *<umzuformen in (NICHT wort2 UND wort1)> *Lösung: *grep -v wort2 *.doc | grep wort1 *< -v gibt nur die Dateien aus, die das ausgeschlossene wort2 nicht enthalten, die Suche wird quasi *invertiert. Die Ausgabe wird dann nach wort1 durchsucht> *4. Einfache Kombination von UND und UND NICHT *Das Beispiel: ((wort1 UND wort2) UND NICHT wort3) *entspricht ((NICHT wort3) UND wort1 UND wort2) *Der Befehl muss lauten: *grep -v wort3 datei.txt | grep -E 'wort1.*wort2|wort2.*wort1' *< Hier wird zunächst wieder mit -v wort3 ausgeschlossen, dann erfolgt eine Suche wie in Szenario *3.> ***************************************************************************/