====== Linux - Arbeiten auf der Konsole ====== ===== Userinformationen ===== ++++ Wer ist gerade am (lokalen!) System eingeloggt?| Wer im Moment angemeldet ist: who Unter welchem Namen bist du angemeldet: whoami ++++ ++++ In welchem Verzeichnis befindest du dich gerade?| Das aktuelle Verzeichnis zu zeigen: pwd (print working directory) ++++ ===== Suchen/Abfragen ===== ++++ 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) ++++ ++++ Wie viele Dateien befinden sich in /usr/lib?| find /usr/lib/ -maxdepth 1 –type f | wc – l ++++ ++++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 ++++ ++++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) ++++ ++++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 ++++ ++++Gibt es in / Verzeichnisse, die Sie als normaler User nicht lesen dürfen? Wenn ja, welche?| ls –l (Dateirechte –l) ++++ ++++Welche Rechte hat /etc/securetty? Dürfen Sie diese Datei als normaler Benutzer ansehen?| ls –l /etc/securetty cat ++++ ++++Wie viele Dateien, die mit s beginnen, gibt es im Suchpfad (PATH)?| S drücken und possibilities Echo $PATH ++++ ++++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) ++++ ++++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 ++++ ++++Um welchen Dateityp handelt es sich bei /etc/host.conf? Notiere den Inhalt der Datei.| ls –l /etc/host.conf cat /etc/host.config (um zu sehen was drinnen steht) ++++ ++++Erstelle eine Datei data. Erstelle weiters einen symbolischen Link data.link, der auf data zeigt und lösche danach data. Lässt sich der Inhalt von data.link anzeigen?| touch data ln –s data data.link (Symb.Link) rm data cat data.link ls –l ++++ ++++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: ++++ ++++Erstelle eine Datei verzeichnis mit dem Namen des aktuellen Verzeichnisses als Inhalt ohne einen Editor zu benutzen.| pwd ( aktulelles Verzeichnis) pwd > verzeichnis ls cat verzeichnis ++++ ++++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 ++++ ++++ Erstelle eine Datei recht. Ändere ihre Rechte auf 040. Wer darf die Datei nun lesen/schreiben/ausführen?| touch recht chmod 040 recht ls –l cat recht ++++ ++++Finde die Version der bash heraus!| bash - - version ++++ ++++Wer besitzt die Datei /etc/passwd?| ls –l /etc/passwd ++++ ++++Wie lautet Ihre aktuelle Umask?| umask -> 022 -> abgezogen von 666 ++++ ++++Wo im Pfad befindet sich das Kommando basename?| which basename (usr/bin/basename) whereis ++++ ++++Wo in /usr/include befindet sich die Datei job.h?| find /usr/include/ -name job.h ++++ ++++Welchen Wert hat die Variable PWD?| echo $PWD (/home/…) ++++ ++++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) ++++ ++++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 ) ++++ ++++Erstellee einen Alias für cp, sodass 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 ++++ ++++Liste alle am System laufenden Prozesse auf. Wie lange läuft ihre Shell schon?| ps aux (alle laufende Prozesse) ps aux | grep bash ++++ ++++Finde heraus, unter welchem User portmap läuft!| ps aux | grep portmap ++++ ++++Kopiere die Datei /usr/include/unistd.h in ihr Homeverzeichnis. Packe die Datei mit gzip und notiere die Größe vor/nach dem Komprimieren.| cp /usr/include/uninstd.h ~ ls –l gzip unistd.h ls –l ++++ ++++Erstelle 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) ++++ ++++Gib (mittels cut) aus /etc/passwd nur die Benutzernamen und deren UID (3. Feld) aus!| cat /etc/passwd cat –d: -f2,f4 /etc/passwd (d:Kennzeichen zw.Felder; f2 bis f4 : Felder ) ++++ ++++ Kopiere /etc/protocols in ihr Homedirectory und entferne 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 ++++ ++++ Zeige nur die erste Zeile von /etc/resolv.conf an!| head – nl /etc/resolve.config head -1 /etc/resolv.config ++++ ++++Zeige nur die letzte Zeile von /etc/man.config an| tail –nl /etc/manpath.config ++++