Vertiefung und Übung – Linux Tutorium Part8

Comments: No Comments
This page has hierarchy - Parent page: Linux Tutorium

Vertiefung, weitere Befehle und Übung – Linux Tutorium Part8

In diesem Teil wollen wir ein paar neue Befehle kennenlernen und ein paar Beispiele schreiben

Zunächst einmal ein paar praktische Befehle:
Infos:

whatis "Befehl" # gibt eine Kurzinfo über den Befehl (z.B. whatis ls)
df  # Zeigt die Auslastungen der Festplatten
top # Zeigt alle Prozesse die im Speicher liegen
ps # Zeigt alle Prozesse die gerade Aktiv sind
wc # mit -c zählt es die Zeichen, -w Wörter und -l die Zeilen

Dateien:

locate *.sh #listet alle Dateien der Endung ".sh" auf. natürlich sind auch Dateinamen statt "*" möglich (*)
find  -type f -name "*.sh"  # Durchsucht auch Unterordner nach ".sh" Dateien (*)
grep "String" "Datei" # sucht die Datei nach dem String gibt die Zeilen aus
   (*) Direkt nach locate und find ist es möglich einen Ordner anzugeben.
sed 's/a/b/g' "*.sh" # ersetzt in allen ".sh" Datein im aktuellen Verzeichnis die "a" durch "b"

Sonstiges:

read "var1" "var2" "var3" "usw" # wartet auf eine Eingabe im Terminal, jede Leertaste ist eine neue Variable
sleep "Zahlinsekunden" #lässt das Script für die eingegebene Zeit warten
shift # schiebt alles in $1-$9 um eins nach links, also $2 --> $1 usw.
      # wenn ihr also mehr Variablen als 9 übergebt bekommt ihr so Zugriff


Vergleichsoperatoren:

Wir haben ja bereits expr kennengelelernt. Ja genau der Befehl zum addieren mit der komischen Syntax.Zeit hochlaufen
In etwa hatten wir: “var=$(expr 1 + 1)”.
Hier möchte ich erwähnen wem es lieber ist, der kann auch “var=`expr 1 + 1`” schreiben. Also entweder ” $() ” oder ” ` ` “.
Der Befehl ist aber noch leistungsfähiger.

var=$(expr 1 \> 0)  

Dieser Befehl schreibt in “$var” den Wert 1 da der die Bedienung Wahr ist. Ansonsten, wäre sie Falsch, wäre es 0. Auserdem gibt es noch:

< <= = != >= > # sind natürlich genauso Möglich 

Das Problem ist hier aber wieder das die Zeichen so Falsch interpretiert werden würden. Daher ist es nötig wieder einen “\” davor zu setzen um zu zeigen, dass das Zeichen an sich gemeint ist und nicht die Umlenkung etc..

Zeit Counter in h:m:sBefehl Timer in Linux
Machen wir mal ein kleines Beispiel mit ner while Schleife und dem Sleep Befehl.
Versucht es erstmal selbst, den Code geb ich euch natürlich.
Grund Überlegung: Eine Schleife die immer wieder abläuft, jedes mal wird sie um eine Sekunde gestoppt, zählt eine Variable hoch, wenn sie 60 ist wird die Variable “Minute” erhöht, mit Stunde Funktioniert das ganze genauso.

echo "Timer"
a=0;b=0;c=0;
while test "$a" != x
do
a=$(expr $a + 1)
if test $a -ge "60"
then
a=0; b=$(expr $b + 1)
fi

if test $b -ge "60"
then
b=0; c=$(expr $c + 1)
fi
echo $c":"$b":" $a; sleep 1
done

Erwähnt sei hier zu noch, ein Strichpunkt nach einem Befehl zählt genauso viel wie ein Zeilenumbruch (Enter), daher kann ich hier die Befehle hinter einander schreiben.
Natürlich ist dieser Counter nicht ganz genau. Er braucht ja Zeit für die Schleifen und wartet schon eine Sekunde. Über kurz oder Lang wird er also etwas aus dem Takt gehen, aber als kleine Anwendung sollte es reichen.

Datei Inhalt Zählen
Tja die Überschrift ist Programm der Befehl “wc” wird also sicherlich benötigt. Lasst uns das “read” noch mit einbauen und auch die “Case-Abfrage” mal wieder benutzen.
Was ergibt das zusammen? Genau ein Programm bei dem man auswählen kann was gezählt werden soll. Schön wäre es auch noch wenn man die Datei jedes mal neu bestimmen kann.

echo "Guten Tag, Was wollen sie Zählen? geben sie:
	 1 für Zeichen
	 2 für Wörter
	 3 für Zeilen
	 4 für Beenden ein.
	  Ihre Wahl: "

read eingabe;
case $eingabe in
  1) echo "Sie wählten Zeichen"; wahl="-c";;
  2) echo "Sie wählten Wörter";  wahl="-w";;
  3) echo "Sie wählten Zeilen";  wahl="-l";;
  4) exit;;
  *) echo "Unbennte Eingabe!";;
esac

echo "Bitte geben sie nun noch eine Datei an: ";
read datei;
wc $wahl $datei

Linux WC Befehl -c -l -w
wäre jetzt mein Vorschlag dazu. Wer will kann man probieren eine whileschleife drum rum zu bauen welche das wiederholen möglich macht. Den Befehl bei “4″ mit “exit” hab ich hier mal mit rein, da er angesprochen aber noch nie angewendet wurde.

No Comments - Leave a comment

Leave a comment

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Welcome , today is Thursday, April 24, 2014