<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://pengupedia.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://pengupedia.de/feed.php">
        <title>Pengupedia</title>
        <description></description>
        <link>http://pengupedia.de/</link>
        <image rdf:resource="http://pengupedia.de/lib/images/favicon.ico" />
       <dc:date>2010-09-08T22:12:20+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/shell"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/shellscripting"/>
                <rdf:li rdf:resource="http://pengupedia.de/dev/start"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/kommandozeilentricks"/>
                <rdf:li rdf:resource="http://pengupedia.de/start"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/posix"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/konsole"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/deutschesscreentutorial"/>
                <rdf:li rdf:resource="http://pengupedia.de/wiki/screen"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://pengupedia.de/lib/images/favicon.ico">
        <title>Pengupedia</title>
        <link>http://pengupedia.de/</link>
        <url>http://pengupedia.de/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://pengupedia.de/wiki/shell">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T19:10:26+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:shell</title>
        <link>http://pengupedia.de/wiki/shell</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;was-ist-eine-shell&quot; id=&quot;was-ist-eine-shell&quot;&gt;Was ist eine Shell?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Eine Shell ist ein Kommandozeileninterpreter, er nimmt einen Befehl entgegen, interpretiert ihn und gibt das Ergebniss dann dem Programm weiter, das diesen Befehl ausführt. Dadurch lässt sich die Arbeit sehr erleichtern, weil die Shell den Befehl für den User ausarbeitet. Es lassen sich auch Befehle verketten und/oder direkt &lt;a href=&quot;http://pengupedia.de/wiki/shellscripting&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shellscripting&quot;&gt;Shell-Skripte&lt;/a&gt; erstellen. Das letztere lässt die Shell einem mächtigen Werkzeug in der &lt;a href=&quot;http://pengupedia.de/wiki/unix&quot; class=&quot;wikilink2&quot; title=&quot;wiki:unix&quot; rel=&quot;nofollow&quot;&gt;Unix&lt;/a&gt;/Linux Welt werden.  
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Was ist eine Shell?&quot; [1-500] --&gt;
&lt;h1&gt;&lt;a name=&quot;welche-shells-gibt-es&quot; id=&quot;welche-shells-gibt-es&quot;&gt;Welche Shells gibt es?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Eine der ältesten Shells ist wohl die &lt;a href=&quot;http://pengupedia.de/wiki/bourne-shell&quot; class=&quot;wikilink2&quot; title=&quot;wiki:bourne-shell&quot; rel=&quot;nofollow&quot;&gt;Bourne-Shell&lt;/a&gt; (sh). Diese stellt unter &lt;a href=&quot;http://pengupedia.de/wiki/unix&quot; class=&quot;wikilink2&quot; title=&quot;wiki:unix&quot; rel=&quot;nofollow&quot;&gt;Unix&lt;/a&gt;/Linux den Mindeststandard dar und ist in der &lt;a href=&quot;http://pengupedia.de/wiki/posix&quot; class=&quot;wikilink1&quot; title=&quot;wiki:posix&quot;&gt;POSIX&lt;/a&gt; auch so definiert. Die &lt;a href=&quot;http://pengupedia.de/wiki/posix&quot; class=&quot;wikilink1&quot; title=&quot;wiki:posix&quot;&gt;POSIX&lt;/a&gt; legt solche Mindeststandards fest dadurch wird man auf jeden Unix-Rechner mindestens eine &lt;a href=&quot;http://pengupedia.de/wiki/bourne-shell&quot; class=&quot;wikilink2&quot; title=&quot;wiki:bourne-shell&quot; rel=&quot;nofollow&quot;&gt;Bourne-Shell&lt;/a&gt; finden. Dadurch das sie die älteste Shell ist, ist sie aber nicht die komfortabelste und es lassen sich nicht alle Dinge so machen wie auf einer modernen Shell. Moderne Shells wie z.B die &lt;a href=&quot;http://pengupedia.de/wiki/bash&quot; class=&quot;wikilink2&quot; title=&quot;wiki:bash&quot; rel=&quot;nofollow&quot;&gt;Bash&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/zsh&quot; class=&quot;wikilink2&quot; title=&quot;wiki:zsh&quot; rel=&quot;nofollow&quot;&gt;Z-Shell&lt;/a&gt; oder die &lt;a href=&quot;http://pengupedia.de/wiki/ksh&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ksh&quot; rel=&quot;nofollow&quot;&gt;Korn-Shell&lt;/a&gt;  bieten mehr Komfort und sind dadurch heute mehr anzutreffen. Es gibt auch Shells die für Programmierer gemacht wurden, wie z.B. die &lt;a href=&quot;http://pengupedia.de/wiki/csh&quot; class=&quot;wikilink2&quot; title=&quot;wiki:csh&quot; rel=&quot;nofollow&quot;&gt;C-Shell&lt;/a&gt;, sie ähnelt der Programmiersprache C. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Welche Shells gibt es?&quot; [501-1259] --&gt;
&lt;h1&gt;&lt;a name=&quot;was-kann-ich-jetzt-mit-einer-shell-machen&quot; id=&quot;was-kann-ich-jetzt-mit-einer-shell-machen&quot;&gt;Was kann ich jetzt mit einer Shell machen?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Kommandos eingeben &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. Man muss sie nicht unbedingt nutzen, da es mittlerweile viele grafische Werkzeuge gibt wo sich manches schneller erledigen lässt. Besonders wichtig wird sie, wenn keine grafische Oberfläche zu Verfügung steht, z.B. bei Servern oder wenn der X-Server nicht mag. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Was kann ich jetzt mit einer Shell machen?&quot; [1260-1605] --&gt;
&lt;h1&gt;&lt;a name=&quot;wie-gebe-ich-jetzt-einen-befehl-ein&quot; id=&quot;wie-gebe-ich-jetzt-einen-befehl-ein&quot;&gt;Wie gebe ich jetzt einen Befehl ein?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Als erstes muss man wissen was man machen will. Dann sucht man (später weiß man es) den entsprechenden Befehl. Es gibt einen bestimmten Syntax mit dem man Kommandos eingibt: 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;Befehl [Option] [Argument] &lt;br /&gt;ls -l /bin/&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Diese einzelnen Komponente sind durch Leerzeichen getrennt und bilden zusammen ein Befehl. Der erste Teil &lt;em&gt;&lt;a href=&quot;http://pengupedia.de/wiki/ls&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ls&quot; rel=&quot;nofollow&quot;&gt;ls&lt;/a&gt;&lt;/em&gt; steht für den Befehl in diesen Fall ein Befehl der den Inhalt eines Verzeichnisses ausgibt. Der zweite Teil &lt;em&gt;-l&lt;/em&gt; veranlässt den Befehl &lt;em&gt;&lt;a href=&quot;http://pengupedia.de/wiki/ls&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ls&quot; rel=&quot;nofollow&quot;&gt;ls&lt;/a&gt;&lt;/em&gt; die Ausgaben in ausführlicher Form zu präsentieren. Und der dritte und letzte Teil &lt;em&gt;/bin&lt;/em&gt;/ gibt das Verzeichnis an welchen angezeigt werden soll. 
&lt;/p&gt;

&lt;p&gt;
Natürlich geht auch einfacher probiere es einfach &lt;em&gt;ls&lt;/em&gt; aus und du wirst sehen das die Inhalt es aktuellen Verzeichnisses ausgibt.  
&lt;/p&gt;

&lt;p&gt;
Als Argumente können auch &lt;a href=&quot;http://pengupedia.de/wiki/jokerzeichen&quot; class=&quot;wikilink2&quot; title=&quot;wiki:jokerzeichen&quot; rel=&quot;nofollow&quot;&gt;Jokerzeichen&lt;/a&gt; verwenden. 
&lt;/p&gt;

&lt;p&gt;
Da man nicht alle Optionen merken kann kann man diese auch mit 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;&lt;em&gt;Befehl&lt;/em&gt; –help&lt;/code&gt;
oder &lt;br /&gt;&lt;code&gt;man &lt;em&gt;Befehl&lt;/em&gt;&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
nachsehen. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Wie gebe ich jetzt einen Befehl ein?&quot; [1606-2608] --&gt;
&lt;h1&gt;&lt;a name=&quot;welches-sind-die-wichtigsten-kommandos&quot; id=&quot;welches-sind-die-wichtigsten-kommandos&quot;&gt;Welches sind die wichtigsten Kommandos?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;strong&gt;Befehle rund um die Dateien-Verwaltung&lt;/strong&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/ls&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ls&quot; rel=&quot;nofollow&quot;&gt;ls&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum anzeigen von Dateien &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/cp&quot; class=&quot;wikilink2&quot; title=&quot;wiki:cp&quot; rel=&quot;nofollow&quot;&gt;cp&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um ein Dateien zu kopieren &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/rm&quot; class=&quot;wikilink2&quot; title=&quot;wiki:rm&quot; rel=&quot;nofollow&quot;&gt;rm&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um Dateien zu Löschen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/mv&quot; class=&quot;wikilink2&quot; title=&quot;wiki:mv&quot; rel=&quot;nofollow&quot;&gt;mv&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um Dateien zu Verschieben &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/find&quot; class=&quot;wikilink2&quot; title=&quot;wiki:find&quot; rel=&quot;nofollow&quot;&gt;find&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; suchen Dateisystem &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/locate&quot; class=&quot;wikilink2&quot; title=&quot;wiki:locate&quot; rel=&quot;nofollow&quot;&gt;locate&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; schnelles suchen über Datenbank im Dateisystem &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;strong&gt;Befehle rund um die Dateien-Eigenschaften&lt;/strong&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/chown&quot; class=&quot;wikilink2&quot; title=&quot;wiki:chown&quot; rel=&quot;nofollow&quot;&gt;chown&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; ändern des Besitzer einer Datei &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/chgrp&quot; class=&quot;wikilink2&quot; title=&quot;wiki:chgrp&quot; rel=&quot;nofollow&quot;&gt;chgrp&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; ändern der Gruppenzugehörigkeit &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/chmod&quot; class=&quot;wikilink2&quot; title=&quot;wiki:chmod&quot; rel=&quot;nofollow&quot;&gt;chmod&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum ändern der Berechtigungen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/file&quot; class=&quot;wikilink2&quot; title=&quot;wiki:file&quot; rel=&quot;nofollow&quot;&gt;file&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um zu sehen was für ein Dateityp es ist &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
&lt;strong&gt;Befehle rund um das Dateien Erstellung und Veränderung&lt;/strong&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/touch&quot; class=&quot;wikilink2&quot; title=&quot;wiki:touch&quot; rel=&quot;nofollow&quot;&gt;touch&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um eine neue Datei anzulegen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/ln&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ln&quot; rel=&quot;nofollow&quot;&gt;ln&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um eine Link zu erstellen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/vi&quot; class=&quot;wikilink2&quot; title=&quot;wiki:vi&quot; rel=&quot;nofollow&quot;&gt;vi&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um Dateien zu Editieren &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/emacs&quot; class=&quot;wikilink2&quot; title=&quot;wiki:emacs&quot; rel=&quot;nofollow&quot;&gt;emacs&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um Dateien zu Editieren &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/cat&quot; class=&quot;wikilink2&quot; title=&quot;wiki:cat&quot; rel=&quot;nofollow&quot;&gt;cat&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum ausgeben des Inhalts einer Datei &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/more&quot; class=&quot;wikilink2&quot; title=&quot;wiki:more&quot; rel=&quot;nofollow&quot;&gt;more&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum zeilenweisen Ausgabe des Inhalts einer Datei &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/grep&quot; class=&quot;wikilink2&quot; title=&quot;wiki:grep&quot; rel=&quot;nofollow&quot;&gt;grep&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum durchsuchen von einer Datei &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
&lt;strong&gt;Befehle rund um das Verzeichnis&lt;/strong&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/cd&quot; class=&quot;wikilink2&quot; title=&quot;wiki:cd&quot; rel=&quot;nofollow&quot;&gt;cd&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; um in ein anderes Verzeichnis zu wechseln &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/pwd&quot; class=&quot;wikilink2&quot; title=&quot;wiki:pwd&quot; rel=&quot;nofollow&quot;&gt;pwd&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zeigt einem den Pfad des aktuellen Verzeichnisses &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/mkdir&quot; class=&quot;wikilink2&quot; title=&quot;wiki:mkdir&quot; rel=&quot;nofollow&quot;&gt;mkdir&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; erstellt ein neues Verzeichnis &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/rmdir&quot; class=&quot;wikilink2&quot; title=&quot;wiki:rmdir&quot; rel=&quot;nofollow&quot;&gt;rmdir&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; löscht leere Verzeichnisse &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Welches sind die wichtigsten Kommandos?&quot; [2609-3906] --&gt;
&lt;h1&gt;&lt;a name=&quot;weblinks&quot; id=&quot;weblinks&quot;&gt;Weblinks&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://tille.xalasys.com/training/bash/&quot; class=&quot;urlextern&quot; title=&quot;http://tille.xalasys.com/training/bash/&quot;  rel=&quot;nofollow&quot;&gt;Bash-Guide for beginners&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Weblinks&quot; [3907-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/shellscripting">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T18:06:05+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:shellscripting</title>
        <link>http://pengupedia.de/wiki/shellscripting</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;was-sind-shell-skripte&quot; id=&quot;was-sind-shell-skripte&quot;&gt;Was sind Shell-Skripte?&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Shell-Skripte sind einfache Textdateien die eine Abfolge von Befehlen enthalten. Mit Shell-Skripten lassen sich einfache Programme schreiben um wiederkehrende Aufgaben effizient zu erledigen. Beispielsweise lassen sich so Backup-Prozeduren intelligent organisieren oder Aufgaben erledigen, die voneinander abhängen. Shell-Skripte werden mit Hilfe eines Editors (&lt;a href=&quot;http://pengupedia.de/wiki/vi&quot; class=&quot;wikilink2&quot; title=&quot;wiki:vi&quot; rel=&quot;nofollow&quot;&gt;vi&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/emacs&quot; class=&quot;wikilink2&quot; title=&quot;wiki:emacs&quot; rel=&quot;nofollow&quot;&gt;emacs&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/kedit&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kedit&quot; rel=&quot;nofollow&quot;&gt;kedit&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/gedit&quot; class=&quot;wikilink2&quot; title=&quot;wiki:gedit&quot; rel=&quot;nofollow&quot;&gt;gedit&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/kwrite&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kwrite&quot; rel=&quot;nofollow&quot;&gt;kwrite&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/kate&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kate&quot; rel=&quot;nofollow&quot;&gt;kate&lt;/a&gt;…) erstellt. Um diese Textdateien auszuführen zu können muss man sich nur noch mit &lt;a href=&quot;http://pengupedia.de/wiki/chmod&quot; class=&quot;wikilink2&quot; title=&quot;wiki:chmod&quot; rel=&quot;nofollow&quot;&gt;ausführbar&lt;/a&gt; machen. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Was sind Shell-Skripte?&quot; [1-581] --&gt;
&lt;h1&gt;&lt;a name=&quot;erstellen-eines-shellscripts&quot; id=&quot;erstellen-eines-shellscripts&quot;&gt;Erstellen eines Shellscripts&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Man nehme einen Editor seiner Wahl und schreibe z.B. das: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh  
# Das ist mein erstes Shellscript 

echo &amp;quot;Das ist der Inhalt vom aktuellen Verzeichnis:&amp;quot; 
ls 
echo &amp;quot;das wars schon ;)&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Das &lt;strong&gt;“#„&lt;/strong&gt; hat eine besondere Bedeutung bei Shellskripten. Es ist dafür da um Kommentare zu schreiben zu können. Alles was nach diesem Zeichen in der Zeile steht wird nicht interpretiert. Bei größeren Skripten ist es sehr nützlich sich ein paar Notizen zu machen um den Überblick nicht zu verlieren. Als nächstes kommt der &lt;em&gt;&lt;a href=&quot;http://pengupedia.de/wiki/echo&quot; class=&quot;wikilink2&quot; title=&quot;wiki:echo&quot; rel=&quot;nofollow&quot;&gt;echo&lt;/a&gt;&lt;/em&gt; Befehl, er ist dafür da um einfach einen Text beim Ablauf des Skriptes auszugeben. Danach kommt ein &lt;em&gt;&lt;a href=&quot;http://pengupedia.de/wiki/ls&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ls&quot; rel=&quot;nofollow&quot;&gt;ls&lt;/a&gt;&lt;/em&gt; das den Inhalt des aktuellen Verzeichnisses ausgibt und darauf folgend noch mal ein echo. Hat man diesen Text geschrieben speichert man es z.B. mit dem Namen „shellskript“ ins Homeverzeichnis (nicht als „test“ speichern, der &lt;a href=&quot;http://pengupedia.de/wiki/test&quot; class=&quot;wikilink2&quot; title=&quot;wiki:test&quot; rel=&quot;nofollow&quot;&gt;test&lt;/a&gt;-Befehl ist in der Bash ist schon belegt). Nun nehme man eine &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; um diese Textdatei aufführbar zu machen der Befehl &lt;em&gt;&lt;a href=&quot;http://pengupedia.de/wiki/chmod&quot; class=&quot;wikilink2&quot; title=&quot;wiki:chmod&quot; rel=&quot;nofollow&quot;&gt;chmod&lt;/a&gt;&lt;/em&gt; ist dafür zuständig. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ chmod 755 ./shellskript&lt;/pre&gt;

&lt;p&gt;
Das „grey@grey:~$“ ist bei jedem unterschiedlich das ist der so genannte &lt;a href=&quot;http://pengupedia.de/wiki/prompt&quot; class=&quot;wikilink2&quot; title=&quot;wiki:prompt&quot; rel=&quot;nofollow&quot;&gt;Prompt&lt;/a&gt; einer &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; in diesen Fall der Bash. Wenn das &lt;em&gt;chmod&lt;/em&gt; geklappt hat dann kann man es gleich ein mal starten. Wenn nicht dann kann es vielleicht sein das die Textdatei nicht im aktuellen Verzeichnis liegt &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; das “~“ im &lt;a href=&quot;http://pengupedia.de/wiki/prompt&quot; class=&quot;wikilink2&quot; title=&quot;wiki:prompt&quot; rel=&quot;nofollow&quot;&gt;Prompt&lt;/a&gt; steht für das HomeVerzeichnis, das unter /home/BENUTZERNAME/ liegt. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ ./shellskript 
Das ist der Inhalt vom aktuellen Verzeichnis: 
Desktop  DIGI  Mail  MySach  nohup.out  test.sh 
das wars schon ;)&lt;/pre&gt;

&lt;p&gt;
Geschafft? Herzlichen Glückwunsch das war Ihr erstes Shellskript &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_biggrin.gif&quot; class=&quot;middle&quot; alt=&quot;:-D&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Erstellen eines Shellscripts&quot; [582-2339] --&gt;
&lt;h1&gt;&lt;a name=&quot;bestimmen-des-interpreters&quot; id=&quot;bestimmen-des-interpreters&quot;&gt;Bestimmen des Interpreters&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Skripte beginnen mit dem sog. „shebang“ und dem Interpreter in der ersten Zeile. Das teilt der Shell mit, dass diese Datei vom Interpreter /bin/sh aufgerufen werden soll.  
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Bestimmen des Interpreters&quot; [2340-2575] --&gt;
&lt;h1&gt;&lt;a name=&quot;variablen&quot; id=&quot;variablen&quot;&gt;Variablen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Variablen&lt;/strong&gt; sind dafür da um Dinge wie Wörter, Zahlen usw. zu speichern. Man erkennt sie meisten an einem „$“ Dollarzeichen davor. Variablen kann man durch ein einfaches “=“ Gleichheitszeichen einen Wert zuweisen. Es ist darauf zu achten dass keine Leerzeichen vorkommen. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ t=hallo     
grey@grey:~$ echo $t 
hallo 
grey@grey:~$ t=grey     
grey@grey:~$ echo $t 
grey  
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
Beim Zuweisen eines Wertes einer Variable darf die Variable kein „$“ davor haben. Man kann die Ausgabe von Programmen einer Variable zuweisen. Das geht ganz einfach in dem man der Variable eine Variable zuweist, deren Wert das Ergebnis eines Befehls ist &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;. Mal ein paar Beispiele zur Verdeutlichung: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ t=$(echo hallo) 
grey@grey:~$ echo $t 
hallo 
grey@grey:~$ t=$(date) 
grey@grey:~$ echo $t 
Fr Apr 1 17:46:00 UTC 2005 
grey@grey:~$ t=$(ls) 
grey@grey:~$ echo $t 
Desktop  DIGI  Mail  MySach  nohup.out  test.sh 
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
Was ist jetzt wenn ich ein Leerzeichen will? Dann kann man es einfach das machen: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ t=&amp;quot;hallo du da?&amp;quot; 
grey@grey:~$ echo $t 
hallo du da? 
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
und ein Dollarzeichen? Dafür hat die &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; ein Zeichen. Das direkt auf „\“ folgende Zeichen wird nicht interpretiert sogar Returnzeichen nicht! Beispiel: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ euro=100     
grey@grey:~$ t=&amp;quot;Die Variable heißt \$euro&amp;quot; 
grey@grey:~$ echo $t 
Die Variable heißt $euro 
grey@grey:~$ echo \ 
&amp;gt; $t 
Die Variable heißt $euro 
grey@grey:~$ &lt;/pre&gt;

&lt;p&gt;
Jetzt wo der Mensch ja faul ist &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; kann man auch so was machen: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ echo &amp;quot;Wie heißt dieses tolle Betriebssystem? $(uname)&amp;quot; 
Wie heißt dieses tolle Betriebssystem? Linux 
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
Was kann man noch für Scherze mit dem Variablen treiben… Ach ja mit diesem Zeichen “&amp;#039;“ kann man etwas einklammern wenn man nicht will das es von der &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; interpretiert wird. z.B so: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ echo &amp;#039;$PATH ist eine Variable ;)&amp;#039; 
$PATH ist eine Variable ;) 
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
Oder mit diesem Zeichen „`“ kann man statt $() verwenden. z.B so: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ echo &amp;quot;Es ist `date +%X` Uhr&amp;quot; 
Es ist 17:33:05 Uhr 
grey@grey:~$&lt;/pre&gt;

&lt;p&gt;
So das waren mal die meisten Dinge die man von der &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; mit Variablen in Skripten machen kann. Jetzt noch ein paar Skriptbesonderheiten. Bei vielen Befehlen auf der Konsole gibt es auch Optionen oder auch Parameter genannt. Diese kann man bei Shellskripte auch verwenden. Die Parameter werden bei Aufruf eines Skriptes werden in den Variablen $1,$2,$3,$…. abgespeichert. Die Variable $0 einhält den Namen des Skriptes und die Variable $# die Anzahl der Parameter. Hier ein kleines Beispielskript (wie oben beschrieben abspeichern und Rechte vergeben) 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh  
# Dateiname: parameter.sh 

echo &amp;quot;Das Skript wurde mit $# Parametern aufgerufen&amp;quot; 
echo &amp;quot;Der erste Parameter ist: $1&amp;quot; 
echo &amp;quot;Der zweite Parameter ist: $2&amp;quot; 
echo &amp;quot;Der dritte Parameter ist: $3&amp;quot;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ parameter.sh  
Das Skript wurde mit 0 Parametern aufgerufen 
Der erste Parameter ist:  
Der zweite Parameter ist:  
Der dritte Parameter ist:  
grey@grey:~$ parameter.sh hallo das ist 
Das Skript wurde mit 3 Parametern aufgerufen 
Der erste Parameter ist: hallo 
Der zweite Parameter ist: das 
Der dritte Parameter ist: ist 
grey@grey:~$ parameter.sh &amp;quot;hallo das&amp;quot; ist 
Das Skript wurde mit 2 Parametern aufgerufen 
Der erste Parameter ist: hallo das 
Der zweite Parameter ist: ist 
Der dritte Parameter ist:  
grey@grey:~$ &lt;/pre&gt;

&lt;p&gt;
Das ist noch ein einfaches Skript es kann noch nicht drauf reagieren wenn weniger Parameter als drei kommen oder wenn mehr. Beim letzten ist eine Besonderheit durch das “ wird das Leerzeichen ignoriert und als ein Parameter zurückgegeben. 
&lt;/p&gt;

&lt;p&gt;
siehe auch &lt;a href=&quot;http://pengupedia.de/wiki/uname&quot; class=&quot;wikilink2&quot; title=&quot;wiki:uname&quot; rel=&quot;nofollow&quot;&gt;uname&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/echo&quot; class=&quot;wikilink2&quot; title=&quot;wiki:echo&quot; rel=&quot;nofollow&quot;&gt;echo&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/ls&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ls&quot; rel=&quot;nofollow&quot;&gt;ls&lt;/a&gt;, &lt;a href=&quot;http://pengupedia.de/wiki/date&quot; class=&quot;wikilink2&quot; title=&quot;wiki:date&quot; rel=&quot;nofollow&quot;&gt;date&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Variablen&quot; [2576-6334] --&gt;
&lt;h1&gt;&lt;a name=&quot;steuern-und-regeln-eines-shellskripts&quot; id=&quot;steuern-und-regeln-eines-shellskripts&quot;&gt;Steuern und Regeln eines Shellskripts&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Um ein Shellskript flexibel zu gestalten braucht man Befehle die es einem ermöglichen ein Skript für mehr als eine Sache zu verwenden. Beim Aufruf des Skriptes können dann Optionen dazu dienen das Skript zu &lt;strong&gt;Steuern&lt;/strong&gt;. Anders will man auch auf Fehlersituationen reagieren können oder um abzubrechen bei bestimmten Situationen. Wenn z.B. es ein Verzeichnis nicht vorhanden ist das aber im späteren Verlauf noch gebraucht wird, dann soll das Skript das so &lt;strong&gt;Regeln&lt;/strong&gt; dass das Verzeichnis erstellt wird. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Steuern und Regeln eines Shellskripts&quot; [6335-6898] --&gt;
&lt;h1&gt;&lt;a name=&quot;bedingungen&quot; id=&quot;bedingungen&quot;&gt;Bedingungen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Bedingungen braucht man dazu um festzustellen ob ein Zustand zutrifft oder nicht. Sie sind dazu dann um herauszufingen ob eine Zahl größer ist oder nicht, ob das kopieren erfolgreich war, ist eine Datei vorhanden?, … usw. 
&lt;/p&gt;

&lt;p&gt;
Unter Unix liefert jedes Programm einen solchen Wert. Also ob die Aufgabe erfolgreich abgeschossen wurde oder nicht. Ein sehr sehr oft verwendetes Programm ist &lt;a href=&quot;http://pengupedia.de/wiki/test&quot; class=&quot;wikilink2&quot; title=&quot;wiki:test&quot; rel=&quot;nofollow&quot;&gt;test&lt;/a&gt; es hat viele Optionen für verschiedenste Tests. Aber wie gesagt man kann dazu fast jedes Programm verwenden. Um zu reagieren wenn ein test nicht erfolgreich bzw. erfolgreich war gibt es zwei Zeichen einmal  

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; BEFEHL1 &amp;amp;&amp;amp; BEFEHL2  &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Wenn BEFEHL1 erfolgreich war dann wird BEFEHL2 ausgeführt &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; BEFEHL1 || BEFEHL2  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; colspan=&quot;3&quot;&gt; Wenn BEFEHL1 fehlschlägt dann wird BEFEHL2 ausgeführt  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
Zum Verdeutlichung mit diesem Zustand ein Beispiel mit &lt;a href=&quot;http://pengupedia.de/wiki/touch&quot; class=&quot;wikilink2&quot; title=&quot;wiki:touch&quot; rel=&quot;nofollow&quot;&gt;touch&lt;/a&gt;. Ich möchte mit &lt;a href=&quot;http://pengupedia.de/wiki/touch&quot; class=&quot;wikilink2&quot; title=&quot;wiki:touch&quot; rel=&quot;nofollow&quot;&gt;touch&lt;/a&gt; ein Datei nach “/“ erzeugen mit dem Namen „hallo“. Sollte touch irgendwelche Meldungen bringen dann werden sie mit “&amp;amp;&amp;gt;“ nach “/dev/null“ umgeleitet (/dev/null ist ein „Schwarzes Loch“ &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt; alles was man da hineinwirft ist weg.). Wenn touch fertig ist dann wird überprüft ob es vielleicht nicht erfolgreich war (“„||““), wenn das der Fall ist wird mit &lt;a href=&quot;http://pengupedia.de/wiki/echo&quot; class=&quot;wikilink2&quot; title=&quot;wiki:echo&quot; rel=&quot;nofollow&quot;&gt;echo&lt;/a&gt; „Keine Schreibberechtigung“ ausgegeben. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ touch /hallo &amp;amp;&amp;gt; /dev/null || echo &amp;quot;Kein Schreibberechtigung&amp;quot; 
Keine Schreibberechtigung 
grey@grey:~$ &lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;Eigentlich ein blödes Beispiel aber es soll nur zeigen was möglich ist.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Eine Sache die ich gerne verwende ist das ich bei einen Fehler eine Funktion aufruft die das Skript mit einer Fehlermeldung beendet. Es schaut so in der Art aus: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#! /bin/sh 

fatal() { 
 echo $@ 
 exit -1 
} 

# zum Beispiel ein Verzeichnis ins Root-Verzeichnis erstellen  
# gibt bestimmt einen Fehler ;-) als User. 

mkdir /testerei || fatal &amp;quot;Kommte Verzeichnis /testerei nicht erstellen :-(. EXIT -1!&amp;quot; 

&lt;/pre&gt;

&lt;p&gt;
..in einen Skript das man oft braucht hat man einige Kontrollen eingebaut damit es bei möglichen Fehlern lieber vorher abbricht. Vielen Meldungen von Programmen die was nicht gefunden haben oder so kann man dadurch im vornherein vermeiden. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Bedingungen&quot; [6899-9069] --&gt;
&lt;h1&gt;&lt;a name=&quot;unterschiedliche-behandlung&quot; id=&quot;unterschiedliche-behandlung&quot;&gt;Unterschiedliche Behandlung&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Man kann mit &lt;a href=&quot;http://pengupedia.de/wiki/if&quot; class=&quot;wikilink2&quot; title=&quot;wiki:if&quot; rel=&quot;nofollow&quot;&gt;if&lt;/a&gt; eine Ergebnis einer Bedingungen unterschiedlich behandeln lassen. Man braucht so eine Funktion wenn man auf &lt;strong&gt;beide&lt;/strong&gt; Fälle reagieren will. Ein Beispiel: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ if touch /hallo &amp;amp;&amp;gt; /dev/null ; then echo &amp;quot;Datei wurde erzeugt&amp;quot; ; else echo &amp;quot;Kein Schreibeberechtung&amp;quot; ; fi 
Kein Schreibeberechtung 
grey@grey:~$ if touch ~/hallo &amp;amp;&amp;gt; /dev/null ; then echo &amp;quot;Datei wurde erzeugt&amp;quot; ; else echo &amp;quot;Kein Schreibeberechtung&amp;quot; ; fi 
Datei wurde erzeugt 
grey@grey:~$&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Unterschiedliche Behandlung&quot; [9070-9597] --&gt;
&lt;h1&gt;&lt;a name=&quot;die-for-schleife&quot; id=&quot;die-for-schleife&quot;&gt;Die for Schleife&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mit &lt;a href=&quot;http://pengupedia.de/wiki/for&quot; class=&quot;wikilink2&quot; title=&quot;wiki:for&quot; rel=&quot;nofollow&quot;&gt;for&lt;/a&gt; kann man eine Liste abarbeiten. Diese Liste kann aus Dateinamen oder einfach Wörtern bestehen. Diese Schleife wird oft verwendet um z.B. viele Dateien nacheinander zu Bearbeiten. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Die for Schleife&quot; [9598-9821] --&gt;
&lt;h1&gt;&lt;a name=&quot;die-while-schleife&quot; id=&quot;die-while-schleife&quot;&gt;Die while Schleife&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mit &lt;a href=&quot;http://pengupedia.de/wiki/while&quot; class=&quot;wikilink2&quot; title=&quot;wiki:while&quot; rel=&quot;nofollow&quot;&gt;while&lt;/a&gt; hat man eine Schleife in der man solang bleibt bis die Bedingung die nach while kommt nicht mehr stimmt. Mit der Schleife kann man z.B. Parameter abarbeiten oder mit &lt;a href=&quot;http://pengupedia.de/wiki/sleep&quot; class=&quot;wikilink2&quot; title=&quot;wiki:sleep&quot; rel=&quot;nofollow&quot;&gt;sleep&lt;/a&gt; auf ein bestimmtes Ereignis warten usw. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Die while Schleife&quot; [9822-10085] --&gt;
&lt;h1&gt;&lt;a name=&quot;unterschiedliche-behandlung-mit-case&quot; id=&quot;unterschiedliche-behandlung-mit-case&quot;&gt;Unterschiedliche Behandlung mit case&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://pengupedia.de/wiki/case&quot; class=&quot;wikilink2&quot; title=&quot;wiki:case&quot; rel=&quot;nofollow&quot;&gt;case&lt;/a&gt; ist ein Möglichkeit eine Variable auf mehrere möglichen Inhalten zu prüfen welche zutreffend ist. Es wird oft zum erkennen von Optionen verwendet.  
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Unterschiedliche Behandlung mit case&quot; [10086-10297] --&gt;
&lt;h1&gt;&lt;a name=&quot;funktionen&quot; id=&quot;funktionen&quot;&gt;Funktionen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Funtionen sind dafür da um bestimmt Abläufe nicht immer und immer wieder in ein Skript schreiben zu müssen. Mehr dazu findet man unter ShellscriptFunktionen. Hier ein kleines Beispiel: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dateitest() 
{ 
 # Teste ob die Datei vorhanden ist. 
 if [ -f &amp;quot;$1&amp;quot; ] 
 then 
  echo &amp;quot;Datei gefunden&amp;quot; 
 else 
  echo &amp;quot;Datei nicht gefunden&amp;quot; 
 fi 
} 

dateitest Dateiname.odt 
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Funktionen&quot; [10298-10690] --&gt;
&lt;h1&gt;&lt;a name=&quot;speicherorte&quot; id=&quot;speicherorte&quot;&gt;Speicherorte&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Damit die Shell Programme ausführen kann, muss sie diese Programme erst einmal finden. Dazu benutzt die Shell die Umgebungsvariable &lt;em&gt;$PATH&lt;/em&gt;. Sie enthält eine Liste von Verzeichnissen siehe dazu das Beispiel:  
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grey@grey:~$ echo $PATH 
/home/grey/.dist/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/games:.&lt;/pre&gt;

&lt;p&gt;

Die verschiedenen Pfade sind mit einem Doppelpunkt verbunden. Der letzte Eintrag ist ein besonderer, es ist nur ein Punkt. Er stellt das aktuelle Verzeichnis dar, in dem man sich befindet. Wenn Skripte häufig gebraucht werden, ist es sinnvoll es an einen dieser Orte zu verschieben oder den Pfad zum Skript aufzunehmen —&amp;gt; ~/bin anlegen und in $PATH aufnehmen. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Speicherorte&quot; [10691-11444] --&gt;
&lt;h1&gt;&lt;a name=&quot;beispiele&quot; id=&quot;beispiele&quot;&gt;Beispiele&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/replacespace&quot; class=&quot;wikilink2&quot; title=&quot;wiki:replacespace&quot; rel=&quot;nofollow&quot;&gt;Leerzeichen aus Dateinamen entfernen&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/expect&quot; class=&quot;wikilink2&quot; title=&quot;wiki:expect&quot; rel=&quot;nofollow&quot;&gt;Eingaben tätigen mit Expect&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Beispiele&quot; [11445-11572] --&gt;
&lt;h1&gt;&lt;a name=&quot;weblinks&quot; id=&quot;weblinks&quot;&gt;Weblinks&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.bin-bash.de/scripts.php&quot; class=&quot;urlextern&quot; title=&quot;http://www.bin-bash.de/scripts.php&quot;  rel=&quot;nofollow&quot;&gt; /bin/bash Treffpunkt für Linux-Shelluser&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.xinux.de/docs/linux/linux1/shell2.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.xinux.de/docs/linux/linux1/shell2.html&quot;  rel=&quot;nofollow&quot;&gt; Das Programmieren der Shell&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.schatenseite.de/uploads/media/shell.pdf&quot; class=&quot;urlextern&quot; title=&quot;http://www.schatenseite.de/uploads/media/shell.pdf&quot;  rel=&quot;nofollow&quot;&gt; Shell Programmierung&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Artikelserie in „LinuxUser“  &lt;a href=&quot;http://www.linux-user.de/ausgabe/2000/12/038-pcorner/pcorner1.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2000/12/038-pcorner/pcorner1.html?print=y&quot;  rel=&quot;nofollow&quot;&gt; 1&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2001/01/048-pcorner/pcorner2.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2001/01/048-pcorner/pcorner2.html?print=y&quot;  rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2001/02/049-pcorner/pcorner3.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2001/02/049-pcorner/pcorner3.html?print=y&quot;  rel=&quot;nofollow&quot;&gt;3&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2001/04/058-pcorner/pcorner4.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2001/04/058-pcorner/pcorner4.html?print=y&quot;  rel=&quot;nofollow&quot;&gt;4&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2001/05/048-pcorner/Kontrollstrukturen-2.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2001/05/048-pcorner/Kontrollstrukturen-2.html&quot;  rel=&quot;nofollow&quot;&gt;5&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2001/07/052-pcorner/pcorner6.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2001/07/052-pcorner/pcorner6.html?print=y&quot;  rel=&quot;nofollow&quot;&gt;6&lt;/a&gt;, &lt;a href=&quot;http://www.linux-user.de/ausgabe/2002/02/042-pcorner/pcorner7.html?print=y&quot; class=&quot;urlextern&quot; title=&quot;http://www.linux-user.de/ausgabe/2002/02/042-pcorner/pcorner7.html?print=y&quot;  rel=&quot;nofollow&quot;&gt;7&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://kris.koehntopp.de/artikel/unix/shellprogrammierung/shell_complete.html&quot; class=&quot;urlextern&quot; title=&quot;http://kris.koehntopp.de/artikel/unix/shellprogrammierung/shell_complete.html&quot;  rel=&quot;nofollow&quot;&gt;UNIX Shellprogrammierung&lt;/a&gt;, von Kristian Köhntopp &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Englische Seiten 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.tldp.org/LDP/abs/html/&quot; class=&quot;urlextern&quot; title=&quot;http://www.tldp.org/LDP/abs/html/&quot;  rel=&quot;nofollow&quot;&gt;Advanced Bash Scripting Guide&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://merd.sourceforge.net/pixel/language-study/scripting-language/&quot; class=&quot;urlextern&quot; title=&quot;http://merd.sourceforge.net/pixel/language-study/scripting-language/&quot;  rel=&quot;nofollow&quot;&gt;Vergleich einiger Script-Sprachen&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.quong.com/shellin20/&quot; class=&quot;urlextern&quot; title=&quot;http://www.quong.com/shellin20/&quot;  rel=&quot;nofollow&quot;&gt; Shell scripts in 20 pages&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://cfaj.freeshell.org/shell/&quot; class=&quot;urlextern&quot; title=&quot;http://cfaj.freeshell.org/shell/&quot;  rel=&quot;nofollow&quot;&gt;Chris F.A. Johnson&amp;#039;s Unix Shell page&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://linuxhelp.blogspot.com/2005/10/10-seconds-guide-to-bash-shell.html&quot; class=&quot;urlextern&quot; title=&quot;http://linuxhelp.blogspot.com/2005/10/10-seconds-guide-to-bash-shell.html&quot;  rel=&quot;nofollow&quot;&gt;10 Seconds Guide to Bash Shell Scripting&lt;/a&gt;, bei  All about Linux &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.freeos.com/guides/lsst/&quot; class=&quot;urlextern&quot; title=&quot;http://www.freeos.com/guides/lsst/&quot;  rel=&quot;nofollow&quot;&gt;Linux Shell Scripting Tutorial - A Beginner&amp;#039;s handbook&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Weblinks&quot; [11573-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/dev/start">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T18:04:36+02:00</dc:date>
        <dc:creator>Jochen Schweizer</dc:creator>
        <title>dev:start</title>
        <link>http://pengupedia.de/dev/start</link>
        <description>
&lt;p&gt;

Unter der Adresse &lt;a href=&quot;http://coma.pengupedia.de/ListeAllerSeitenImWeb&quot; class=&quot;urlextern&quot; title=&quot;http://coma.pengupedia.de/ListeAllerSeitenImWeb&quot;  rel=&quot;nofollow&quot;&gt;http://coma.pengupedia.de/ListeAllerSeitenImWeb&lt;/a&gt; finden sich alle Seiten vom alten Wiki. Seltsamerweise werden manche Seiten nicht angezeigt, jedoch laesst sich der Quellcode mit http://coma.pengupedia.de/&amp;lt;Seitenname&amp;gt;/edit zum Vorschein bringen. 

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/mpd&quot; class=&quot;wikilink2&quot; title=&quot;wiki:mpd&quot; rel=&quot;nofollow&quot;&gt;MPD&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/irssi&quot; class=&quot;wikilink1&quot; title=&quot;wiki:irssi&quot;&gt;irssi&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/linuxdistributionen&quot; class=&quot;wikilink2&quot; title=&quot;wiki:linuxdistributionen&quot; rel=&quot;nofollow&quot;&gt;LinuxDistributionen&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/irc&quot; class=&quot;wikilink2&quot; title=&quot;wiki:irc&quot; rel=&quot;nofollow&quot;&gt;IRC&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;screen&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/penguinsirc&quot; class=&quot;wikilink1&quot; title=&quot;wiki:penguinsirc&quot;&gt;PenguinsIRC&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/fstab&quot; class=&quot;wikilink2&quot; title=&quot;wiki:fstab&quot; rel=&quot;nofollow&quot;&gt;fstab&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/dreisatz&quot; class=&quot;wikilink1&quot; title=&quot;wiki:dreisatz&quot;&gt;dreisatz&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/kommandozeilentricks">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T17:42:40+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:kommandozeilentricks - angelegt</title>
        <link>http://pengupedia.de/wiki/kommandozeilentricks</link>
        <description>
&lt;p&gt;

&lt;strong&gt;Kleine Tricks&lt;/strong&gt; die man im Alltag mal brauchen kann &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;



&lt;h1&gt;&lt;a name=&quot;bang-commands&quot; id=&quot;bang-commands&quot;&gt;&amp;quot;Bang commands&amp;quot;&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;!!&lt;/pre&gt;

&lt;p&gt;

Letztes Kommando wiederholen, den Bandwurm nicht noch einmal eintippen, die vielen Schalter und Optionen hat man eh schon vergessen &lt;img src=&quot;http://pengupedia.de/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;!$&lt;/pre&gt;

&lt;p&gt;
Das letzte Argument des letzten Kommandos.  &lt;br /&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;!*&lt;/pre&gt;

&lt;p&gt;
Alle Argumente des vorherigen Kommandos. &lt;br /&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;!:1&lt;/pre&gt;

&lt;p&gt;
Das erste Argument des vorherigen Kommandos. :2 liefert das zweite Argument, :3 das dritte usw. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Bang commands&quot; [61-474] --&gt;
&lt;h1&gt;&lt;a name=&quot;entfernen-von-kommentare&quot; id=&quot;entfernen-von-kommentare&quot;&gt;Entfernen von Kommentare&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;sed &amp;#039;/ *#/d; /^ *$/d&amp;#039; &amp;lt;datei&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Entfernt Kommentare und Leerzeilen aus einer Datei. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Entfernen von Kommentare&quot; [475-608] --&gt;
&lt;h1&gt;&lt;a name=&quot;verzeichnisgroesse-herausfinden&quot; id=&quot;verzeichnisgroesse-herausfinden&quot;&gt;Verzeichnisgröße herausfinden&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;du -S | sort -n -r | more&lt;/pre&gt;

&lt;p&gt;

Sehr nützlich, falls man wissen möchte, wohin der ganze Platz auf der Festplatte verschwunden ist. Listet die größten Verzeichnisse (z. B. innerhalb von Home) auf. Das größte steht am Beginn der Auflistung. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Verzeichnisgröße herausfinden&quot; [609-905] --&gt;
&lt;h1&gt;&lt;a name=&quot;dateienverzeichnisse-heraus-filtern&quot; id=&quot;dateienverzeichnisse-heraus-filtern&quot;&gt;Dateien/Verzeichnisse heraus filtern&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;ls -l | grep ^d&lt;/pre&gt;

&lt;p&gt;

Ganz praktisch, um eine auf directories beschränkte Auflistung der files zu erhalten. Zur Einschränkung auf ausführbare, reguläre files kann man sowas wie &lt;br /&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls -l | grep ^-..x&lt;/pre&gt;

&lt;p&gt;

verwenden. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Dateien/Verzeichnisse heraus filtern&quot; [906-1186] --&gt;
&lt;h1&gt;&lt;a name=&quot;textdateien-durchsuchen&quot; id=&quot;textdateien-durchsuchen&quot;&gt;Textdateien durchsuchen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Da unter Linux fast alle wesentlichen Formate textbasiert (&lt;acronym title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/acronym&gt;-basiert) sind, kann man mit &lt;br /&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;find . -type f -exec grep Geruempel {} \; -print&lt;/pre&gt;

&lt;p&gt;
alle files finden, die den string „Geruempel“ enthalten, als Inhalt des file, wohlgemerkt, nicht etwa im Namen. Wenn man das nun in ein &lt;a href=&quot;http://pengupedia.de/wiki/shellscripting&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shellscripting&quot;&gt;Shellskript&lt;/a&gt; packt hat man sein System um eine nette Funktion erweitert. &lt;br /&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#!/bin/sh 
find -type f -exec grep -q $1 {} \; -print&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Textdateien durchsuchen&quot; [1187-1673] --&gt;
&lt;h1&gt;&lt;a name=&quot;doppelte-dateien-finden&quot; id=&quot;doppelte-dateien-finden&quot;&gt;Doppelte Dateien finden&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Weil ich so lange auf der Suche war nach einem Tool das doppelte Dateien im Verzeichnisbaum findet, hier meine Lösung: &lt;br /&gt;1) fdupes (eigenes Programm, gibts als Debian Paket (*.deb) &lt;br /&gt;2) 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; find . -type f -exec md5sum {} \; |sort|uniq -w 32 -D &amp;gt; doppelte-Dateien.log&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt; 
Erklärung: 
find -&amp;gt; finde mal was 
.    -&amp;gt; ab hier und in allen Unterverzeichnissen 
-type f  -&amp;gt; aber bitte nur Dateien (keine Verzeichnisse) 
-exec  -&amp;gt; und wende auf die gefundenen Einträge an 
md5sum {} -&amp;gt; erstelle die Prüfsumme für die gefundenen Dateien 
\;  -&amp;gt; erstmal Ende fürs finden 
| sort -&amp;gt; wenn du mit finden fertig bist, sortiere das Ergebnis  
| uniq -w 32 -D  -&amp;gt; liste alle doppelten Einträge auf (-D), die in den ersten 32 Zeichen (-w 32) übereinstimmen 
&amp;gt; doppelte-Dateien.log -&amp;gt; und schreib das in die Datei &amp;#039;doppelte-Dateien.log&amp;#039;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Doppelte Dateien finden&quot; [1674-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/start">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T13:01:38+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>start</title>
        <link>http://pengupedia.de/start</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;willkommen&quot; id=&quot;willkommen&quot;&gt;Willkommen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
die Pengupedia ist ein Wiki für Linux-Benutzer. Du findest hier Tutorials und Hilfestellungen zu sämtlichen Linux &lt;a href=&quot;http://pengupedia.de/wiki/distributionen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:distributionen&quot;&gt;Distributionen&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
Die Pengupedia wurde aufgrund von massiven Spamattacken im Jahr 2008 vom Netz genommen. Wir versuchen nun, die interessantesten Seiten aus unserem alten Wiki für dich wieder aufzubereiten und zur Verfügung zu stellen. 
&lt;/p&gt;

&lt;p&gt;
Leider wird die Wiki-Software, die wir vorher verwendet haben, nicht mehr weiterentwickelt. Wir haben uns deshalb entschieden das Wiki mit der Software &lt;a href=&quot;http://www.dokuwiki.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.dokuwiki.org&quot;  rel=&quot;nofollow&quot;&gt;Dokuwiki&lt;/a&gt; weiterzubetreiben. 

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/dev/start&quot; class=&quot;wikilink1&quot; title=&quot;dev:start&quot;&gt;List&lt;/a&gt;e der interessanten Seiten und weitere Infos &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Willkommen&quot; [1-681] --&gt;
&lt;h1&gt;&lt;a name=&quot;mitmachen&quot; id=&quot;mitmachen&quot;&gt;Mitmachen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Du bist eingeladen dich hier zu beteiligen. Wenn du etwas beitragen möchtest, dann kannst du das tun indem du dich anmeldest und mithilfst die Artikel zu verbessern. 
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.pengupedia.de/start?do=login&quot; class=&quot;urlextern&quot; title=&quot;http://www.pengupedia.de/start?do=login&quot;  rel=&quot;nofollow&quot;&gt;Anmeldung und Login&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bitte lese zu Beginn unser &lt;a href=&quot;http://pengupedia.de/wiki/wikikurztutorial&quot; class=&quot;wikilink1&quot; title=&quot;wiki:wikikurztutorial&quot;&gt;Kurz-Tutorial&lt;/a&gt; und mache dich ein wenig mit der Wiki-&lt;a href=&quot;http://pengupedia.de/wiki/syntax&quot; class=&quot;wikilink1&quot; title=&quot;wiki:syntax&quot;&gt;Syntax&lt;/a&gt; vertraut. Am besten du übst eine Weile im &lt;a href=&quot;http://pengupedia.de/playground/playground&quot; class=&quot;wikilink1&quot; title=&quot;playground:playground&quot;&gt;Sandkasten&lt;/a&gt;  &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Such dir ein Thema in dem du dich auskennst und versuche etwas zum Wiki beizutragen indem du eine neue Seite anlegst oder eine existierende Seite überarbeitest. &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Mitmachen&quot; [682-1315] --&gt;
&lt;h1&gt;&lt;a name=&quot;admins&quot; id=&quot;admins&quot;&gt;Admins&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/users/laemmy&quot; class=&quot;wikilink1&quot; title=&quot;wiki:users:laemmy&quot;&gt;laemmy&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pengupedia.de/wiki/users/deifl&quot; class=&quot;wikilink1&quot; title=&quot;wiki:users:deifl&quot;&gt;deifl&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Admins&quot; [1316-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/posix">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T12:56:23+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:posix - angelegt</title>
        <link>http://pengupedia.de/wiki/posix</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;posix&quot; id=&quot;posix&quot;&gt;POSIX&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Im Zusammenhang mit Linux ist öfter der Begriff POSIX (ausgesprochen pahz-icks) zu hören. Doch was ist dieses ominöse POSIX? Zuerst einmal ist es die Abkürzung für „Portable Operating System Interface“ (das X soll die Zugehörigkeit zu UniX verdeutlichen) und stellt einen Standard dar, an den sich die meisten Unix-Derivate mehr oder weniger halten. Zum anderen ist es eine registrierte Marke (registered trademark) des IEEE (Institute of Electrical and Electronics Engineers). Vorgeschlagen wurde der Name POSIX von Richard Stallman (Gründer des GNU-Projektes), veröffentlicht wurde POSIX.1 1988. 
&lt;/p&gt;

&lt;p&gt;
Der POSIX-Standard (oder vielmehr die Standard-Familie) definiert, grob gesagt, wie ein Betriebssystem intern auszusehen hat, wie seine Komponenten zusammenzuarbeiten haben und welche Programme unbedingt enthalten sein müssen. Programme wie die Korn-Shell (ksh) oder der Editor vi (und über hundert weitere) gehören z.B. zum POSIX-Standard. Linux-Distributionen, die ohne vi (oder einen Ableger wie vim) zur Verfügung gestellt werden, entsprechen nicht dem POSIX-Standard. 
&lt;/p&gt;

&lt;p&gt;
Und warum das ganze? Die POSIX-Standards soll(t)en dem unkontrollierten Unix-Wildwuchs entgegenwirken, denn jeder Distributor kocht/e sein eigenes Süppchen.. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;POSIX&quot; [1-1265] --&gt;
&lt;h1&gt;&lt;a name=&quot;praxis-beispiel&quot; id=&quot;praxis-beispiel&quot;&gt;Praxis-Beispiel&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

„Kontakt“ zum POSIX-Standard bekommt man z.B. bei der Sortierung von Dateien. In den aktuellen Distributionen werden die Dateien allerdings leider nicht mehr nach dem POSIX Standard sortiert, sondern uneinheitlich und z.T. sehr unübersichtlich nach landes- bzw. sprachspezifischen Besonderheiten. Während der POSIX Standard klar eine Trennung zwischen Groß- und Kleinbuchstaben vorsieht (zuerst die Kleinbuchstaben), Sonderzeichen vor die Buchstaben einordnet und die Dateiendung extra sortiert, sortiert z.B. die deutsche Sprachanpassung völlig verwirrend bis zum Ende des Dateinamens inkl. Endung durch. 
&lt;/p&gt;

&lt;p&gt;
Wer nun die gute alte POSIX Sortierung wieder haben möchte, sollte unter auf &lt;a href=&quot;http://pengupedia.de/wiki/debian&quot; class=&quot;wikilink2&quot; title=&quot;wiki:debian&quot; rel=&quot;nofollow&quot;&gt;Debian&lt;/a&gt; basierenden Systemen „localeconf“ nachinstallieren bzw. es neu konfigurieren mit „dpkg-reconfigure localeconf“. 
&lt;/p&gt;

&lt;p&gt;
Einstellungen: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; alles debconf überlassen &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; setze Standard-locale auf de de euro irgendwas &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wähle für LC_COLLATE überschreiben &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wähle für LC_COLLATE C (entspricht der Posix-Sortierung) &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

SuSE-Benutzer sollten die Datei /etc/sysconfig/language editieren (RC_LC_COLLATE=„POSIX“). &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Praxis-Beispiel&quot; [1266-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/konsole">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T12:50:32+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:konsole - angelegt</title>
        <link>http://pengupedia.de/wiki/konsole</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;konsole&quot; id=&quot;konsole&quot;&gt;Konsole&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die Konsole ist ein anderer Name für die &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; oder auch &lt;a href=&quot;http://pengupedia.de/wiki/kommandozeile&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kommandozeile&quot; rel=&quot;nofollow&quot;&gt;Kommandozeile&lt;/a&gt;. Diese Namen sind gleichbedeutend mit anderen. Unter &lt;a href=&quot;http://pengupedia.de/wiki/kde&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kde&quot; rel=&quot;nofollow&quot;&gt;KDE&lt;/a&gt; gibt es auch noch ein Programm der den gleichen Namen trägt die &lt;a href=&quot;http://pengupedia.de/wiki/kde-konsole&quot; class=&quot;wikilink2&quot; title=&quot;wiki:kde-konsole&quot; rel=&quot;nofollow&quot;&gt;KDE-Konsole&lt;/a&gt;, es handelt sich hierbei um einen &lt;a href=&quot;http://pengupedia.de/wiki/terminalemulator&quot; class=&quot;wikilink2&quot; title=&quot;wiki:terminalemulator&quot; rel=&quot;nofollow&quot;&gt;Terminalemulator&lt;/a&gt;. &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konsole&quot; [1-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/deutschesscreentutorial">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T12:49:28+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:deutschesscreentutorial</title>
        <link>http://pengupedia.de/wiki/deutschesscreentutorial</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;platz-sparen-mit-screen&quot; id=&quot;platz-sparen-mit-screen&quot;&gt;Platz sparen mit screen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;em&gt;Übersetzung aus dem Englischen (Original: &lt;a href=&quot;http://geektimelinux.com/2003/08/24/OLD86/&quot; class=&quot;urlextern&quot; title=&quot;http://geektimelinux.com/2003/08/24/OLD86/&quot;  rel=&quot;nofollow&quot;&gt;Saving space with Screen)&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Wenn es ihnen genauso wie mir geht, dann haben sie auch jederzeit mehr als eine Shell geöffnet. Das ist alles kein Problem, wenn sie zwei 21“ Monitore besitzen, jedoch kann es etwas beengend sein wenn sie mit &lt;a href=&quot;http://pengupedia.de/wiki/ssh&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ssh&quot; rel=&quot;nofollow&quot;&gt;SSH&lt;/a&gt;, oder - sogar noch ärgerlicher - mittels einer seriellen &lt;a href=&quot;http://pengupedia.de/wiki/konsole&quot; class=&quot;wikilink1&quot; title=&quot;wiki:konsole&quot;&gt;Konsole&lt;/a&gt; eingeloggt sind. &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; ist ein Programm, welches mehrere Terminals in einem zusammenfasst, und um genau dieses geht es in diesem Artikel. 
&lt;/p&gt;

&lt;p&gt;
Doch gehen wir erst einmal etwas zurück. Wenn sie etwas in der &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; eintippen (oder einem Programm welches in der Shell gestarted wurde z.B. pine) kommunizieren sie mit einer virtuellen &lt;a href=&quot;http://pengupedia.de/wiki/konsole&quot; class=&quot;wikilink1&quot; title=&quot;wiki:konsole&quot;&gt;Konsole&lt;/a&gt; (im folgenden als VK abgekürzt. Anm.d.Ü.). Wenn sie eingeloggt sind wird ihnen eine VK zugeordnet, welche ihnen und ihrer &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; eine Möglichkeit gibt Zeichen mit dem Rest des Systems auszutauschen. Das Problem besteht jetzt darin, daß sie normalerweise nur eine Sache pro &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; erledigen können. Wird mehr benötigt loggen sie sich ein weiteres Mal ein oder - wenn sie clever sind - schicken sie &lt;a href=&quot;http://pengupedia.de/wiki/prozesse&quot; class=&quot;wikilink2&quot; title=&quot;wiki:prozesse&quot; rel=&quot;nofollow&quot;&gt;Prozesse&lt;/a&gt; in den Hintergrund. Die Aufgabe von &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; ist neue VKs für sie zu generieren, zwischen denen sie mit dem Komfort der original VK hin und her schalten können. Stellen sie es sich einfach wie das &lt;a href=&quot;http://pengupedia.de/wiki/tabbed-browsing&quot; class=&quot;wikilink2&quot; title=&quot;wiki:tabbed-browsing&quot; rel=&quot;nofollow&quot;&gt;Tabbed-Browsing&lt;/a&gt; von &lt;a href=&quot;http://pengupedia.de/wiki/mozilla&quot; class=&quot;wikilink2&quot; title=&quot;wiki:mozilla&quot; rel=&quot;nofollow&quot;&gt;Mozilla&lt;/a&gt; vor - Sie haben ein physikalisches Fenster, jedoch mehrere Webseiten zwischen denen sie wechseln können. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; zu starten ist wirklich einfach, tippen sie nur &amp;#039;screen&amp;#039; in der Konsole. Außer daß alle vorherigen Ausgaben nicht mehr zu sehen sind und sie wieder zurück am Prompt sind scheint sich nichts geändert zu haben. 
&lt;/p&gt;

&lt;p&gt;
Befehle in &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; werden (als Standardeinstellung) mit STRG-A eingeleitet, wobei die in der &lt;a href=&quot;http://pengupedia.de/wiki/man&quot; class=&quot;wikilink2&quot; title=&quot;wiki:man&quot; rel=&quot;nofollow&quot;&gt;man&lt;/a&gt;-page benutzte Kurzform C-a ist. Zum Beispiel bedeutet „C-a ?“, daß die Tasten STRG und A (gleichzeitig) von einem Fragezeichen gefolgt eingegeben werden müssen. Also los, versuchen sie es und sie werden zur (englischen) Hilfe-Seite gelangen. Ich werde sie nun mit den gebräuchlichsten Befehlen vertraut machen, jedoch erinnern sie sich immer wie sie zur Hilfe-Seite gelangen. 
&lt;/p&gt;

&lt;p&gt;
Jetzt da wir in einem Fenster sind (so wird es in der &lt;a href=&quot;http://pengupedia.de/wiki/man&quot; class=&quot;wikilink2&quot; title=&quot;wiki:man&quot; rel=&quot;nofollow&quot;&gt;man&lt;/a&gt;-page genannt) wird es Zeit weitere Fenster zu erstellen. Eine neue &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; kann mit dem Befehl „C-a c“ gestartet werden. Diese wird zum Fenster 1. Um jetzt zum ersten Fenster zurück zu gelangen versuchen sie es mit „C-a 0“. C-a gefolgt von einer Nummer wechselt zu einem festgelegten Fenster. Um die Fenster in ihrer Reihenfolge weiter zu wechseln benutzen sie „C-a Leertaste“, oder „C-a n“ (denken sie einfach an nächstes Fenster). „C-a p“ wechselt in der entgegengesetzten Richtung. 
&lt;/p&gt;

&lt;p&gt;
Ein weiterer Weg ein Fenster zu starten ist “&lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;screen&lt;/a&gt;“ gefolgt von einem Befehl einzugeben. Zum Beispiel öffnet “&lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;screen&lt;/a&gt; &lt;a href=&quot;http://pengupedia.de/wiki/pine&quot; class=&quot;wikilink2&quot; title=&quot;wiki:pine&quot; rel=&quot;nofollow&quot;&gt;pine&lt;/a&gt;“ ein neues Fenster und startet &lt;a href=&quot;http://pengupedia.de/wiki/pine&quot; class=&quot;wikilink2&quot; title=&quot;wiki:pine&quot; rel=&quot;nofollow&quot;&gt;pine&lt;/a&gt;. &lt;br /&gt;Dem zufolge ist „C-a c“ das gleich wie “&lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;screen&lt;/a&gt; /bin/bash“ oder was auch immer ihre &lt;a href=&quot;http://pengupedia.de/wiki/login&quot; class=&quot;wikilink2&quot; title=&quot;wiki:login&quot; rel=&quot;nofollow&quot;&gt;Login&lt;/a&gt;-&lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; ist. 
&lt;/p&gt;

&lt;p&gt;
Wann immer sie eine &lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt; verlassen oder ein Programm welches in einem Fenster gestartet wurde beenden wird das Fenster geschlossen. Wenn sie ein Fenster nicht schliessen können hilft ihnen „C-a k“ (Kill) das Fenster abrupt zu schliessen. Wenn sie das letzte Fenster verlassen beendet sich auch Screen mit einer kurzen Nachricht. 
&lt;/p&gt;

&lt;p&gt;
Da &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; mehrere VKs in ihrem Auftrag verwaltet, können sie den &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt;-&lt;a href=&quot;http://pengupedia.de/wiki/prozess&quot; class=&quot;wikilink2&quot; title=&quot;wiki:prozess&quot; rel=&quot;nofollow&quot;&gt;Prozess&lt;/a&gt; in den Hintergrund schicken und später wieder in den Vordergrund holen - sogar von einer anderen Stelle aus (z.B. Remote via &lt;a href=&quot;http://pengupedia.de/wiki/ssh&quot; class=&quot;wikilink2&quot; title=&quot;wiki:ssh&quot; rel=&quot;nofollow&quot;&gt;SSH&lt;/a&gt; Anm.d.Ü.). Während &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; läuft können sie es mit „C-a d“ lösen und sind so nach einer kurzen Nachricht wieder in ihrer original &lt;a href=&quot;http://pengupedia.de/wiki/login&quot; class=&quot;wikilink2&quot; title=&quot;wiki:login&quot; rel=&quot;nofollow&quot;&gt;Login&lt;/a&gt;-&lt;a href=&quot;http://pengupedia.de/wiki/shell&quot; class=&quot;wikilink1&quot; title=&quot;wiki:shell&quot;&gt;Shell&lt;/a&gt;. Um die Sitzung wieder aufzunehmen starten sie &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; mit der -R Option und schon sin sie wieder zurück. „screen -R“ ist ein guter Weg um &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; zu starten, da so eine gelöste &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt;-Sitzung wieder aufgenommen wird, soweit diese vorhanden war. Anderenfalls wird eine neue &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt;-Sitzung gestartet. Eine gute Entscheidung ist &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; in ihre Start-Skripte aufzunehmen (oder mittels eines Aliases Anm.d.Ü.). 
&lt;/p&gt;

&lt;p&gt;
Dies waren nur die Grundlagen von &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt;. Es gibt weitere ausgefallene Funktionen, wie z.B. zurück scrollen „C-a ESC“, Fenster aufsplitten „C-a S, zwischen diesen umschalten „C-a C-I“, sogar ausschneiden und einfügensind möglich. Die &lt;a href=&quot;http://pengupedia.de/wiki/man&quot; class=&quot;wikilink2&quot; title=&quot;wiki:man&quot; rel=&quot;nofollow&quot;&gt;man&lt;/a&gt;-page listet ihnen wie immer alle Möglichkeiten auf. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; ist ein vielseitiges Programm welches Platz auf ihrem Display spart, ohne zu erwähnen, daß es ihnen Fähigkeiten von grafischen &lt;a href=&quot;http://pengupedia.de/wiki/terminals&quot; class=&quot;wikilink2&quot; title=&quot;wiki:terminals&quot; rel=&quot;nofollow&quot;&gt;Terminals&lt;/a&gt; auf der &lt;a href=&quot;http://pengupedia.de/wiki/konsole&quot; class=&quot;wikilink1&quot; title=&quot;wiki:konsole&quot;&gt;Konsole&lt;/a&gt; gibt. Werfen sie &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; in ihr &lt;a href=&quot;http://pengupedia.de/wiki/login&quot; class=&quot;wikilink2&quot; title=&quot;wiki:login&quot; rel=&quot;nofollow&quot;&gt;Login&lt;/a&gt;-Skript und seien sie so sicher, daß immer wenn sie &lt;a href=&quot;http://pengupedia.de/wiki/screen&quot; class=&quot;wikilink1&quot; title=&quot;wiki:screen&quot;&gt;Screen&lt;/a&gt; benötigen es ihnen zur Verfügung steht. &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Platz sparen mit screen&quot; [1-] --&gt;</description>
    </item>
    <item rdf:about="http://pengupedia.de/wiki/screen">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-16T12:43:43+02:00</dc:date>
        <dc:creator>Silvio Kunze</dc:creator>
        <title>wiki:screen</title>
        <link>http://pengupedia.de/wiki/screen</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;screen&quot; id=&quot;screen&quot;&gt;Screen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mit screen entfällt das öffnen von mehreren Teminals auf dem Desktop bzw. ermöglicht das Öffnen von mehreren &lt;strong&gt;Fenstern&lt;/strong&gt; auf der &lt;a href=&quot;http://pengupedia.de/wiki/konsole&quot; class=&quot;wikilink1&quot; title=&quot;wiki:konsole&quot;&gt;Konsole&lt;/a&gt;. Es ist möglich mit screen (ohne Maus) Text in einem Fenster zu kopieren und in ein anderes Fenster einzufügen. Darüber hinaus können mit screen Multiusersessions gestartet werden, was ein gemeinsames Arbeiten auf einer &lt;a href=&quot;http://pengupedia.de/wiki/konsole&quot; class=&quot;wikilink1&quot; title=&quot;wiki:konsole&quot;&gt;Konsole&lt;/a&gt; ermöglicht (dabei sind vielfältige Berechtigungen möglich). Für den Einstieg in Screen eignet sich dieses &lt;a href=&quot;http://pengupedia.de/wiki/deutschesscreentutorial&quot; class=&quot;wikilink1&quot; title=&quot;wiki:deutschesscreentutorial&quot;&gt;Tutorial&lt;/a&gt; in dem die wichtigsten Funktionen erklärt werden. &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Screen&quot; [1-601] --&gt;
&lt;h1&gt;&lt;a name=&quot;funktionen&quot; id=&quot;funktionen&quot;&gt;Funktionen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Anmerkung: die &amp;lt;STrg&amp;gt;-(oder &amp;lt;CTRL&amp;gt;-)Taste wird mit &lt;strong&gt;C&lt;/strong&gt; dargestellt, d.h. &lt;strong&gt;C-a&lt;/strong&gt; bedeutet die Tasten &amp;lt;STRG&amp;gt; &lt;strong&gt;und&lt;/strong&gt; &amp;lt;a&amp;gt; &lt;strong&gt;gleichzeitig&lt;/strong&gt; zu drücken. &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Funktionen&quot; [602-778] --&gt;
&lt;h1&gt;&lt;a name=&quot;grundfunktionen&quot; id=&quot;grundfunktionen&quot;&gt;Grundfunktionen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; Tasten &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Funktion &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a ?&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Anzeigen aller Tastenfunktionen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-c&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; neues Fenster erstellen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-k&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; aktuelles Fenster schliessen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-n&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum nächsten Fenster wechseln &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-p&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum vorigen Fenster wechseln &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-a&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum zuletzt benutzten Fenster wechseln &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a &amp;lt;0-9&amp;gt;&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; zum Fenster mit der angegebenen Nummer wechseln &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a „&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Auflistung aller Fenster &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a A&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; damit kann man dem aktuellen Fenster einen Namen geben &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a x&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; sperrt screen und fordert zur Passworteingabe auf &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a d&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;3&quot;&gt; damit wird die screen-Sitzung in den Hintergrund geschoben (detached) und kann mit dem Befehl &lt;strong&gt;screen -R&lt;/strong&gt; wieder aufgenommen werden (auch von entfernten Rechnern ;) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a ,&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;3&quot;&gt; Informationen über screen &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Grundfunktionen&quot; [779-1646] --&gt;
&lt;h1&gt;&lt;a name=&quot;kopieren-einfuegen&quot; id=&quot;kopieren-einfuegen&quot;&gt;Kopieren &amp;amp; Einfügen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Copy&amp;amp;Paste im Terminal - funktioniert auch prima ohne Maus ;) 
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; Tasten&lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Funktion &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-[&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Fensterübergreifenden Kopiermodus einschalten &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;&amp;lt;Space&amp;gt;&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Beginn/Ende der zu kopierenden Stelle markieren &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;&amp;lt;h,j,k,l&amp;gt;&lt;/strong&gt; oder &lt;strong&gt;Pfeiltasten&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Navigation &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a C-]&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;3&quot;&gt; Kopiermodus verlassen und kopierten Text einfügen &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kopieren &amp; Einfügen&quot; [1647-2037] --&gt;
&lt;h1&gt;&lt;a name=&quot;loggen&quot; id=&quot;loggen&quot;&gt;Loggen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Gut zum protokollieren von Ein- und Ausgaben eignet sich das Loggen, wobei alles in die Datei &lt;strong&gt;screenlog.x&lt;/strong&gt; geschrieben wird. 
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; Tasten &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;2&quot;&gt; Funktionen &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;C-a H&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot; colspan=&quot;3&quot;&gt; Loggen des aktuellen Fensters starten/beenden.&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Loggen&quot; [2038-2280] --&gt;
&lt;h1&gt;&lt;a name=&quot;tipps-und-tricks&quot; id=&quot;tipps-und-tricks&quot;&gt;Tipps und Tricks&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
In der ++~/.screenrc++ folgende Zeilen einfügen (&lt;a href=&quot;http://www.asty.org/cmatrix/&quot; class=&quot;urlextern&quot; title=&quot;http://www.asty.org/cmatrix/&quot;  rel=&quot;nofollow&quot;&gt;cmatrix&lt;/a&gt; muss installiert sein) &lt;br /&gt;blankerprg cmatrix -abfsC green -u 3 # Das Programm welches als Screensaver dient 
idle 180 # 180 Sekunden bis zum Start des Screensavers
—- &lt;br /&gt;Um einen screen-Befehl in session 2 auszufuehren die in session 1 laeuft, einfach &lt;br /&gt;&amp;lt;ctrl&amp;gt;-&amp;lt;a&amp;gt; &amp;lt;a&amp;gt; &amp;lt;Befehl&amp;gt;
eingeben. &lt;br /&gt;Bsp.: Um &amp;lt;ctrl&amp;gt;-&amp;lt;a&amp;gt; &amp;lt;k&amp;gt; (Window killen) in session 2 auszufuehren &lt;br /&gt;einfach &amp;lt;ctrl&amp;gt;-&amp;lt;a&amp;gt; &amp;lt;a&amp;gt; &amp;lt;k&amp;gt; eingeben. &lt;br /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Tipps und Tricks&quot; [2281-2792] --&gt;
&lt;h1&gt;&lt;a name=&quot;screenrc&quot; id=&quot;screenrc&quot;&gt;screenrc&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;screenrc&quot; [2793-2813] --&gt;
&lt;h1&gt;&lt;a name=&quot;weblinks&quot; id=&quot;weblinks&quot;&gt;Weblinks&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.gnu.org/software/screen/&quot; class=&quot;urlextern&quot; title=&quot;http://www.gnu.org/software/screen/&quot;  rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/screen/&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.michael-prokop.at/screen/&quot; class=&quot;urlextern&quot; title=&quot;http://www.michael-prokop.at/screen/&quot;  rel=&quot;nofollow&quot;&gt;http://www.michael-prokop.at/screen/&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Weblinks&quot; [2814-] --&gt;</description>
    </item>
</rdf:RDF>
