Sie sind auf Seite 1von 4

Hilfefunktionen man [Sektion] [Befehl] man -k [Begriff] man -a [Befehl] man -f [Befehl] Handbuchseite der Sektion des Befehls

anzeigen. Die Kurzbeschreibungen nach diesem Begriff durchsuchen. Zeigt nacheinander die Manpages aller Sektionen zu diesem Befehl an. Zeigt jedes Vorkommen des Befehls mit dessen Kurzbeschreibung an Anzeige der Sektionen, die sich auf Befehl beziehen.

Ein- und Ausgabeumleitung 0 Standardeingabe (Tastatur) 0 1 2 stdin 1 Standardausgabe (Bildschirm) stdout 2 Standardfehler (Bildschirm) stderr [cmd] 1> [file] [cmd] 2> [file] [cmd] 1>[file1] 2>[file2] [cmd] 1>[file] 2>&1 [cmd] >> [file] [cmd] < [file] Anzeige des Dateityps Kopieren der Datei Quelle nach Ziel Lschen einer Datei Unterverzeichnisse nicht nachfragen Verschieben von Quelle nach Ziel Symbolischer Link file/dir Datei anzeigen Datei interaktiv erzeugen (Ende:<strg><d>) Leere Datei erzeugen .tar.gz. Dateien entpacken Suchen einer Datei mit den Eigenschaften Opt unterhalb von Pfad Opt: Dateiname Grer/Kleiner n; jnger/lter n Tage [VARNAME]=["Wert"] $[VARNAME] export [VARNAME] Anzeigen des Verzeichnisinhalts ("long, all") Erzeugen eines Verzeichnisses (Lschen mit rm -Rf) Belegten HD-Platz abfragen Summe anzeigen "menschenlesbar" all - auch Dateien aktuelles Verzeichnis anzeigen Verzeichniswechsel...nach... ...Wurzel des Systems ...ins Homedir des aktuellen Benutzers ...eine Ebene hher Dateirechte / Siehe auch Sonderrechte ls -la chmod 0421 [Datei|Dir] chmod o+r g-x u+x [Datei|Dir] chown [user]:[group] [datei] umask 022 "-rwxrw--r-Wer bin ich im Moment (Multiuser-OS!) Wer ist derzeit angemeldet? 1 user group ..." Anzeigen von Dateirechten absolute nderung der Rechte relative nderung der Rechte Besitzer und Besitzergruppe ndern "Defaultrechte" (Komplementrvektor) wird mit den Rechten des Besitzers ausgefhrt. wird mit den Rechten der Besitzergruppe ausgefhrt. top -n 1 -b unset [VARNAME] Systemressourcen free df [Devicefile] Anzeige freier Speicher Speicherplatz Festplatten/CDs Erste IDE-HD: /dev/hda Meist erste SCSI-HD: /dev/sda Auslastungsanzeige eine Iteration im Batchmode Sonderrechte Datei 1 2 4 Umgebungs-/ Environmentvariable Shell- und Umgebungsvariablen Shellvariable gilt ausschliesslich in der aktuellen Shell. Da manche Befehle eine eigene Shell nutzen, ist die Variable dort nicht gltig. Eine Umgebungsvariable wird an Subshells weitervererbt. Fr Parentshells gilt sie nicht! Setzt eine Shellvariable greift auf den Wert der Variable zurck. Wandelt Shellvariable in Umgebungsvariable Lscht die Variable Ein- und Ausgabeumleitung Kommando1 [cmd1] | [cmd2] [cmd1] | tee [file] Hinweis: Siehe Filtern mit "grep" 1 0 Kommando2 Ausgabe cmd1 ist Eingabe fr cmd2 Ausgabe auf Bildschirm und Datei [file] Umleitung der Standardausgabe Umleitung des Standardfehlers Umleitung in jeweils eine Datei stderr -> stdout; stdout -> file An Datei [file] anhngen stdin ist die Datei [file]

Linux basic
die shell (1)
Version 2008-02-04
Dipl.Inf. (FH) Bernd Schwgerl Dipl.Inf. (FH) Stefan Edenhofer

Filtern/Vergleichen von Dateien und Streams sort cut cut -f n -d " " uniq diff [-u|-dtw] [datei1] [datei2] wc -l cmp [Datei1] [Datei2] grep [Muster] grep -v [Muster] tail [Datei] head [Datei] split --bytes=1024 [Datei] cat [Dat1] [Dat2] > [Datei] Regulre Ausdrcke / Muster Zeichen und Zeichenklassen: . ^ $ [0-9] [abxyz] [[:blank:]] [[:alnum:]] [[:alpha:]] Wiederholungen / Vorkommen: ? * + {n}; {n,}; {n,m} ein oder kein kein oder viele ein oder mehrmaliges genau n mal, n oder fter; mindestens n mal, hchstens m mal irgendein Zeichen Zeilenanfang Zeilenende Zeichenklasse (0,1,2,3...9) Zeichenklasse (a,b,x,y,z) Alle Whitespaces Alle Buchstaben und Zahlen Alle Buchstaben Sortieren der Zeilen Ausschneiden von Feldern pro Zeile delimiter Leerzeichen, Feld n aufeinanderf. doppelte Zeilen weglassen Inh. Vergleich zweier Dateien Word count -l = lines Zeilenweiser Vergleich Zeilenausgabe in der Muster ist ...nicht ist Ende der Datei ausgeben Anfang der Datei ausgeben Zerteilen in 1KB-Dateien Zusammensetzen von Dateien

whatis [Befehl]

Dateien file [Datei|Verzeichnis] cp [Quelle] [Ziel] rm [Optionen] [Datei] -R -f mv [Quelle] [Ziel] ln -s [Datei] [Link] cat [Datei] cat >[Datei] touch [Datei] tar -xfzp [Datei].tar.gz find [Pfad] [Opt] [Datei] -name -size +/-n; -mtime +/-n Verzeichnisse ls -la mkdir du -s -h -a pwd cd [Verzeichnis] cd / cd ~ cd ..

scp [user1]@[host1]:[absPfad] [user2]@[host2]:[absPfad]

Verzeichnis Enthaltene Dateien drfen nur vom Besitzer der Datei gelscht werden.

"." ist das aktuelle Verzeichnis. Dieses befindet sich beim Systemadministrator fr ausfhrbare Programme aus Sicherheitsgrnden niemals im Suchpfad!

Neue Files in diesem Verzeichnis erhalten die Gruppe des Verzeichnisses

Benutzerinformationen whoami / who am i who

An welchen Devices: ps aux | grep bash | cut -b37-43 | sort | uniq

Die Datei gehrt dem Benutzer user und der Gruppe group. user darf schreiben (w = write = 2), lesen (r = read = 4) und ausfhren (x = execute = 1), Die Gruppenmitglieder von group drfen "r und w". ALLE Anderen "r".

Die Sonderrechte werden bei einem chmod einfach vorne angestellt. (Bei absolutem setzen!) Beispiel: chmod 4000 [Datei|Dir]. Angezeigt (lsmod) werden die Sonderrechte als s beim Besitzer (4), s bei der Gruppe (2) und t (1).

Partitionierung Partitionen, die auf "/"-Partition mssen

Hostinformationen /bin (wichtige Befehle) /sbin (wichtige root-Befehle) /dev (Zugriffshandles Devices) /etc (alle Konfigurationen) /lib (Libraries) /proc (virt.!! Kernelkommunikation) uptime hostname hostname -d date Zeit, seitdem das System luft Ausgabe des Hostnamens Ausgabe der Domain Datum / Uhrzeit des Hosts

Linux basic
die shell (2)
Version 2008-02-04
Dipl.Inf. (FH) Bernd Schwgerl Dipl.Inf. (FH) Stefan Edenhofer

Partitionen, die auf "/"-Partition sein sollten Partitionen, die ausgelagert werden sollten.

/root (Homedirectory fr den Systemverwalter) /usr (Unix System Ressource) /var (variable Daten, Log & Spool) /home (Homedirectories User) /tmp (Temporre Dateien) /boot (Bootloader, Kernel) /swap ("Auslagerungspartition")

VI - der Standardeditor Es gibt 2 wichtige Modi (Befehlsmodus <ESC> und Insert <ESC><I>) d[n][d|w|c] y[n][y|w|c] p x r :[n] :$ n Zeilen, Wrter, Zeichen lschen n Zeilen, Wrter, Zeichen kopieren einfgen was gelscht ODER kopiert wurde ein Zeichen lschen ein Zeichen ersetzen In Zeile n gehen ans Dateiende gehen ans Zeilenende gehen an den Zeilenanfang gehen nach "muster" vorwrts suchen nach "muster" rckwrt suchen Zwischen Zeile 1 und Dateiende ($) - auch mehrmaligen Vorkommens pro Zeile (g=global) und egal ob Gross/Klein-schreibung (i=ignore) - ersetzen (s=substitute) von Muster m1 durch Muster m2 schreiben (w=write), verlasen (q=quit) - ohne nachzufragen (wenn schreibgeschtzt, wenn nderungen etc.) Nur verlassen des VIs: q! Fge eine Zeile drunter an Zeige Zeilenstatistik undo - geht bis zu dem Zeitpunkt, an dem der VI gestartet wurde k h j l Wenn keine Cursortasten auf der Tastatur vorhanden, oder Terminal falsch eingestellt: Navigation Netzwerk IPv4-Adresse setzen: ifconfig eth[n] netmask [Maske] broadcast [BC-Adr] [IP] ifconfig [NIC] up ifconfig [NIC] down Tipps und Tricks Alle Benutzer des Systems anzeigen. (Auch Daemon-User!): cat /etc/passwd | cut -d":" -f1 Prozessnderungen der letzten [SEKUNDEN] anzeigen: diff <(ps ax) <(sleep [SEKUNDEN]; ps ax) Alle Prozess-IDs anzeigen, die in der ps-Ausgabe MUSTER enthalten: ps aux | grep [MUSTER] | grep -v grep | cut -b10-14 Mail an EMAIL mit Subject SUBJECT - Mailtext: Dateinamen von [DIR] - Anhang der zusammengefasste (tar) Inhalt v. [DIR] in dem File demo.tar tar cvf demo.tar [DIR] | elm -s [SUBJECT] [EMAIL] -A demo.tar Hostbergreifende Verzeichnissynchronisation (Backup!) Verschlsselt (-e ssh) ; archivieren (a), recursive (r), verbose (v) rsync -avr -e ssh [user@host:]:/srcpath [user@host:]/destpath Abhngigkeit von Kommandos cmd1; cmd2 cmd1 && cmd2 cmd1 || cmd2 cmd1 & cmd2 Erst cmd1, dann cmd2 ausfhren Wenn cmd1 erfolgreich,auch cmd2 cmd2 nur ausfhren, wenn cmd1 nicht erfolgreich ausgefhrt wurde. cmd1 beginnen (Hintergrund) und zeitgleich cmd2 im Vordergrund NIC hochfahren NIC runterfahren nohup [cmd1] Prozesse ps aux pstree kill [signal] [PID] killall [Muster] jobs bg [cmd1] [cmd1] & fg [JOBID] <strg><z> Job in den Vordergrund holen Job in den Hintergrund schicken. Achtung, mit bg [JOBID] erst wieder starten! Kommando nach dem Abmelden weiterlaufen lassen Anzeige aller Prozesse -"- in Abhngigkeit Beendigungssignal senden Alle Prozesse die Muster enthalten Anzeige von Jobs und JOBID Kommando im Hintergrund ausfhren

Runlevels Konfiguration init [runlevel] runlevel runlevels: 0 1 2 3 4 5 6 Links (Verknpfungen) Es gibt 2 unterschiedliche Arten von Links (Verknpfungen). Soft- und Hardlinks. Hardlinks haben exakt die gleiche Verwaltungsinformation, wie die Datei selbst. Softlinks haben eigene Verwaltungsinformation. (inode) ln [Ziel] [Linkname] ln -s [Ziel] [Linkname] ls -i Hardlink erstellen Softlink erstellen Directory mit Inode-Nummern anzeigen. Stoppen des Computers Singleusermode Multiuser // ohne Netz Multiuser mit Netz (unbenutzt) Graphische Benutzeroberflche Neustart /etc/inittab /etc/init.d Wechsel in "runlevel" Ausgabe vorheriger und jetziger runlevel

$ 0 /muster ?muster :1,$s/m1/m2/ig

Prozessprioritten: Prozesse knnen mit unterschiedlicher Prioritt gestartet werden. Hierfr gibt es einen Nice-Wert, welcher von -20 (hchste Prioritt) bis 19 (niedrigste) geht. Defaultwert ist 0. nice -n[WERT] [Befehl] renice +/-[DELTA] [PID] renice +/-[DELTA] -u root Befehl mit der Nice-Zeit von WERT starten. (Normale User nur >-1) ndern des Nicewertes. (Normale User nur >1!!!) Alle dem User "root gehrenden Prozesse ndern.

:wq!

J <strg>g u

Mit Softlinks geht fast alles - und dies sind auch die bessere Wahl! Schnelle Dateisuche Ausschliesslich den Suchpfad ($PATH) durchsuchen: which [Dateiname] whereis [Dateiname] PATH="$PATH:[/neuesDir]" export PATH Suche nach ausfhrbaren Dateien (Ergebnis: Erste Fundstelle!) Ausgabe aller Dateien von PATH (viele!) Erweitern der Shellvariable PATH Den Pfad vererbbar machen

Route zu Netz oder Host ZIEL (mit Maske) ber Rechner gateway: route add net/host [ZIEL] netmask [netmask] gw [gateway] Route entfernen: route del net [ZIEL] netmask [netmask] route Alle Routes anzeigen

ber eine Datenbank suchen. Gefunden werden nur Dateien, die in der Datenbank bereits erfasst wurden. updatedb locate [Datei] slocate [Datei] Die Suchdatenbank aktualisieren. Finden von erfassten Dateien dito, aber nur auf die Zugriff besteht.

Sicherheitsaspekt: Geben Sie Usern nur slocate als Suchfunktion.

Hilfreich z.B. beim Kernelkompilieren (da zeitaufwendig): &&

Netzwerkeinstellungen abfragen und einstellen (IPv4) Netzwerk-Interface-Card (NIC): ifconfig Abfrage der aktuellen Einstellungen fr alle Schnittstellen

Wichtige Tools, die man kennen sollte ping -c [Anzahl] -n traceroute -n Testen der Erreichbarkeit (count) Anzahl der Pings (nummerisch) Keine Namensauflsung Weg eines Pakets - im Internet meist sinnlos, da keine Rckantwort (*) kommt. (-n ohne Namensauflsung) Ist ein sehr sprlicher Netzwerksniffer. SSL verschlsselter Remotezugang verschlsseltes Remotekopieren (siehe shell) Namensauflsung (nslookup / dig) TCP-Header 1. Byte Source Port (Dienstkennung) Destination Port (Dienstkennung) Sequenz Nummer (4 Byte) Sequenz Nummer (4 Byte) Acknowledge Nummer (4 Byte) Acknowledge Nummer (4 Byte) Daten Offset set q=[TYP] (siehe Ressource Records) Diesen Server befragen Den Server NServer nach dem Ressource Record TYP befragen. server [IP/NAME] dig -t [TYP] @[NServer] Achtung! nslookup wird durch dig abgelst! ffnet nslookup interaktiv und konnektiert an nslookup den im System angegebenen Nameserver

Linux basic
netzwerk
Version 2008-02-04
Dipl.Inf. (FH) Bernd Schwgerl Dipl.Inf. (FH) Stefan Edenhofer

ifconfig [schnittstelle] [adresse] [parameter] ifconfig eth0 172.17.21.11 netmask 255.255.255.0 broadcast 172.17.21.255 Die wichtigsten Parameter broadcast [BC-Adresse] down mtu [Zahl] netmask [MASK] up Routing: arp -n route -n ARP-Tabelle (MAC-IP-Zuweisung) anzeigen ohne Namensauflsung (-n). Abfrage der aktuellen Routinginformationen ohne Namensauflsung (-n). Broadcastadresse setzen Schnittstelle deaktivieren Maximale Transfer Unit setzen Netzmaske setzen Schnittstelle aktivieren

tcpdump -i [NIC] ssh

scp [user1]@[host1]:[absPfad] [user2]@[host2]:[absPfad]

2. Byte

Reserviert (6 Bit)

Flags (6 Bit)

Window (Puffergre des Empfngers) Checksumme (Prfsumme Header UND Daten) Urgent Pointer (Zeigt auf "vorrangig zu bearbeitende Daten") Options (Immer 32 Bit-Vielfaches) Options + Padding ("Fllung") Dateninhalt Erfolgreiche TCP-Verbindung (3-way-handshake) Sender TCP-Flags: URG 1 = Urgent Pointer-Feld mu gelesen werden (vorrangig zu bearbeitende Daten)
SYN SYN/ACK ACK

route [add|del] [-net|-host] [Ziel] netmask [NM] gw [Gateway] dev [IF] route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.17.21.1 dev eth0 Aktivieren des Routings : echo "1" > /proc/sys/net/ipv4/ip_forward Deaktivieren des Routings: echo "0" > /proc/sys/net/ipv4/ip_forward Anzeigen, ob Routing aktiviert wurde (0=nein/1=ja): cat /proc/sys/net/ipv4/ip_forward Weitere wichtige Optionen fr den Befehl route: Mit der Metrik werden die "Kosten" der Strecke metric [METRIK] festgelegt. Je hher die Metrik, umso weniger "gern" wird diese Strecke (route) genutzt.

Ressource Records (TYP) fr nslookup und dig SOA A NS CNAME PTR MX HINFO TXT ALL Verwaltungsinfos Adresseintrag (NAME .-> IP) Nameserver Aliasnamen Adresseintrag (IP -> NAME) MaileXchanger - Mailserver Hostinfos (falls gesetzt) Kommentare (fast) alles - (QueryType - aber eigentlich KEIN Ressource Record)

Empfnger

mss [MAXSIZE]

Die maximale Fragmentgre (Paketgre) wird eventuell bentigt zwischen unterschiedlichen Topologien/Medien. Dies ist auch fr einige (schlechte) Firewalls eventuell notwendig.

ACK PSH

1 = Acknowledge Number-Feld mu gelesen werden 1 = Daten mssen unverzglich an den entsprechenden Dienst weitergeleitet werden

Anzeige Netzwerkrelevanter Infos (netstat) (ausfhrlich -v) netstat -s Statistische Protokollinformationen Fortlaufende Anzeige Empfangsbereite Sockets Sende- und Empfangssckets Mit Programmen netstat -c netstat -l netstat -a netstat -p Ihre Zustze

ACHTUNG! Jegliche Information, die Sie mit diesen Tools setzen, wird nach einem Reboot nicht mehr zur Verfgung stehen! Daher mssen diese in ein Startskript (siehe Shellprogrammierung) SuSE-Konfigurationsfiles netcat / nc netcat, bzw. nc ermglicht die Kommunikation mit einer tcp- oder udp-Verbindung ber stdin/out, beispielsweise aus einem Shellscript heraus. Abfrage von Klartextprotokollen (Beispiel fr HTTP) printf 'GET / HTTP/1.0\n\n' | netcat -w [TIMEOUT] [SERVER] [PORT] Umleiten von lokalen Ports auf Remoterechner (siehe auch rinetd) Eintrag in /etc/inetd.conf (Port <-> Programmzuordnung!): [L-Port] stream tcp nowait [User] nc nc -w 5 [R-host] [R-port] Mit netcat / nc lassen sich Shellprogramme als Daemon nutzen. netcat muss mit der Option (-DGAPING_SECURITY_HOLE compiliert sein. nc -l -p [PORT] -e [Pfad zu einem Shellskript] /etc/sysconfig/network/ifcfg....

RST SYN FIN Gngige TCP-Ports (TCP) 20 (TCP) 21 (TCP) 22 (TCP) 23 (TCP) 25 (TCP/UDP) 53 (TCP) 80 (TCP) 110 (TCP) 443

1 = Verbindung soll beendet werden 1 = Verbindung soll aufgebaut werden 1 = Zeigt endgltigen Verbindungsabbau

Datenkanal FileTransferProtocol (FTP) Kontrollkanal FileTransferProtocol (FTP) Secure Login telnet Simple Mail Transfer Protocol (SMTP) DomainNameService (DNS) HyperTextTransferProtocol (HTTP) PostOfficeProtocol 3 (POP3) https

Die bekannten Dienst / Port - Zuordnung finden sich in /etc/services

Siehe hierzu auch "Linux basic - die shell"! (Variablen, Pipes, Verkettung von Befehlen....)

for-Schleife Die For-Schleife ist nicht klassisch als "Zhlwerkzeug" belegt, wie in anderen Programmiersprachen, sondern durchluft eine Liste. Wenn Sie eine Zhlschleife wnschen, mssen Sie mit einer while-Schleife und einer arithmetischen Operation (expr) arbeiten. for [VARIABLE] in [LISTE] do .... done while-Schleife Eine While-Schleife wird nur durchlaufen, wenn die Bedingung wahr ist while [Bedingung] do .... done until-Schleife Eine until-Schleife wird mind. einmal durchlaufen. Mehrmals, solange die Bedingung wahr ist until [Bedingung] do Unterrroutinen (Funktionen) Funktionen definieren: [funktionsname] () { Startskripten (Ziel des Programmierexkurses ) #! /bin/sh # 2004-12-20-bs-0001 bs@muekno.de start () { Datum=`date` echo "Starte den Dienst um $Datum" } stop () { Datum=`date` echo "Stoppe den Dienst um $Datum" } case $1 in status) PIDS=`ps aux | grep sdjadhagh | grep -v grep | cut -b9-14` if [ "$PIDS" = "" ] then echo "Is not running!" else echo "Is running with PID(s): $PIDS" fi } start) start ;; stop) stop ;; restart) stop; start ;; *) echo "Usage $0 [start|stop|restart|status] esac .... done esac Abfragen if-Statement: if [Bedingung] then echo Bedingung war wahr=0 else echo Bedingung war unwahr=1 fi case-Statement: case [VARIABLENWERT] in

Linux basic
programmierung
Version 2008-02-04
Dipl.Inf. (FH) Bernd Schwgerl Dipl.Inf. (FH) Stefan Edenhofer

Variablen $* oder "$@" $* oder $@ $# $? $$ $! $0 $1 - $9 Alle bergebenen Variablen als Liste Alle bergebenen Variablen als ein Wort Anzahl der bergebenen Werte Rckgabewert des zuletzt ausgefhrten Kommandos Prozess-ID der aktuellen Shell Prozess-ID des zuletzt gestarteten Subprozesses Der Programmname Die ersten 9 bergabeparameter

shift verschiebt die bergabeparameter um eins nach links. Der linkste Wert fllt nach "Lemmingmethode einfach ber die Klippen". D.h. der ehemalige Wert von $2 ist nun der Wert von $1. Auf den Wert von $1 knnen Sie zu diesem Zeitpunkt nicht mehr zugreifen! [VARIABLE]="[WERT]" $[VARIABLE] Eine Variable VARIABLE auf einen WERT setzen Zugriff auf den Wert der Variable. z.B. echo $VARIABLE.

1) echo war der Wert 1 ;; 2) echo war der Wert 2 ;; *) echo war irgendwas anderes ;;

Rechenoperationen mit dem Befehl expr Addition Subtraktion Multiplikation Ganzzahlige Division Rest einer Division Binres Oder Binres Und ERGEBNIS=`expr 1 + 2` ERGEBNIS=`expr 1 - 2` ERGEBNIS=`expr 2 * 2` ERGEBNIS=`expr 8 / 2` ERGEBNIS=`expr 7 % 2` ERGEBNIS=`expr 1 | 0` ERGEBNIS=`expr 1 & 1`

# Ausgabe des bergabeparameters echo $1 } Funktionen aufrufen: [funktionsname] UEBERGABEPARAMETER Teststatements (Gebruchlichste Art der Bedingungen) [ $A = $B ] [ $A != $B ] [ $A -eq $B ] [ $A -ne $B ] [ $A -lt $B ] [ $A -gt $B ] [ $A -le $B ] [ $A -ge $B ] [ -r file ] [ -w file ] [ -x file ] [ -f file ] [ -d file ] [ $A > $B -o $C < $B ] $A gleich $B (Chars, Strings) $A nicht $B (Chars, Strings) $A = $B (nummerisch) $A nicht $B (nummerisch) $A < $B (nummerisch) $A > $B (nummerisch) $A <= $B (nummerisch) $A=> $B (nummerisch) file existiert und ist lesbar file existiert und ist beschreibbar file existiert und ist ausfhrbar file ist ein FILE und existiert file ist ein DIR und existiert OR-Verknpfung AND-Verknpfung

Vergleichsoperationen < <= = == != >= > Die Beispiele zeigen auch, wie man eine Variable mit dem Wert des Ergebnisses eines Befehls setzt. Auf diesem Weg knnen Sie Ergebnisse anderer Befehle, wie z.B. "date", "ifconfig" etc. in einer Variable auffangen. Das Ergebnis ist dann der Wert der Variable, auf den Sie mit einem vorangestellten $ zugriff haben. Beispiel: echo $ERGEBNIS - gibt das Ergebnis auf den Bildschirn aus

Ergebnisse von Vergleichsoperationen sind 1=wahr 0=unwahr Umsetzungen fr "Standard-For-Schleifen" for ZAEHLER in `seq 1 100` do echo "Durchlauf $ZAEHLER" done `[BEFEHL]` beeinhaltet den Rckgabewert des Kommandos!!! ZAEHLER=1 while [ $ZAEHLER -ne 101 ] do ZAEHLER=`expr $ZAEHLER + 1` echo "Durchlauf: $ZAEHLER" done

Verknpfen von Teststatements ( AND und OR): [ $A > $B -a $C < $B ]

Startskripten mssen mindestens auf die bergabewerte ($1) start und stop reagieren. Sie liegen in der Regel in /etc/init.d. Starten (Stoppen = K99startskript) in Runlevel 3: ln -s /etc/init.d/startskript.sh /etc/rc.d/rc3.d/S99startskript

Da jeder Shellskriptaufruf einen Aufruf einer eigenen Shell darstellt, sind Variablen in oder aus "Subskripten" nicht verfgbar. (Abhilfe: ". /skript")