<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/dev/random &#187; Linux</title>
	<atom:link href="http://devrandom.at/blog/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://devrandom.at/blog</link>
	<description>Random Thoughts &#38; Pointless Posts</description>
	<lastBuildDate>Wed, 23 Jun 2010 17:22:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Argument List Too Long</title>
		<link>http://devrandom.at/blog/2009/05/argument-list-too-long/</link>
		<comments>http://devrandom.at/blog/2009/05/argument-list-too-long/#comments</comments>
		<pubDate>Mon, 18 May 2009 14:59:11 +0000</pubDate>
		<dc:creator>xarumanx</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rm]]></category>

		<guid isPermaLink="false">http://devrandom.at/blog/?p=20</guid>
		<description><![CDATA[Aufgrund eines zu kleinen Buffers in einem der Header &#8211; Files (zuständig für die Übergabe der Kommandozeilen &#8211; Argumente an das Programm sprich Pipes) kann es schon mal passieren, dass Beispielsweise beim löschen von Dateien ein einfaches rm *.jpg mit der Fehlermeldung argument list too long quittiert wird. Um das zu umgehen kann man mit]]></description>
			<content:encoded><![CDATA[<div>
<p>Aufgrund eines zu kleinen Buffers in einem der Header &#8211; Files (zuständig für die Übergabe der Kommandozeilen &#8211; Argumente an das Programm sprich Pipes) kann es schon mal passieren, dass Beispielsweise beim löschen von Dateien ein einfaches <code>rm *.jpg</code> mit der Fehlermeldung <code>argument list too long</code> quittiert wird. Um das zu umgehen kann man mit dem (oft unterschätzten) efehl <code>find</code> arbeiten:</div>
<h3><a id="loeschen_mit_find" name="loeschen_mit_find">Löschen mit find</a></h3>
<pre>find . -name '*.jpg' | xargs rm</pre>
<p>Dieser Befehl funktioniert aber nur für Dateien im selben Verzeichnis und ohne Leerzeichen im Namen, sollte man Leerzeichen (oder andere Sonderzeichen) im Dateinamen haben, wäre folgender Befehl angebracht:</p>
<pre>find . -maxdepth 1 -name '*.jpg' -exec rm {} \;</pre>
<p>Hierbei kann gleich mit dem <code>-maxdepth 1</code> Parameter angegeben werden, wie „tief“ er Verzeichnissbaum durchgegangen werden soll.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrandom.at/blog/2009/05/argument-list-too-long/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rekursives verschieben in der Shell</title>
		<link>http://devrandom.at/blog/2009/05/rekursives-verschieben-in-der-shell/</link>
		<comments>http://devrandom.at/blog/2009/05/rekursives-verschieben-in-der-shell/#comments</comments>
		<pubDate>Mon, 18 May 2009 14:56:19 +0000</pubDate>
		<dc:creator>xarumanx</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://devrandom.at/blog/?p=18</guid>
		<description><![CDATA[Üblicherweise funktioniert einfaches verschieben eines Verzeichnisses unter Linux mit dem mv SOURCE DESTINATION Befehl. Leider werden dadurch nicht wirklich die Dateien verschoben, sondern nur die Inodes geändert um auf die aktuelleren Daten zu zeigen. Gerade bei ganzen Verzeichnissen ist das manchmal problematisch, da so ein echtes rekursives verschieben kaum möglich ist Anhilfe verschafft dabei das]]></description>
			<content:encoded><![CDATA[<div>
<p>Üblicherweise funktioniert einfaches verschieben eines Verzeichnisses unter Linux mit dem</p>
<pre>mv SOURCE DESTINATION</pre>
<p>Befehl. Leider werden dadurch nicht wirklich die Dateien verschoben, sondern nur die Inodes geändert um auf die aktuelleren Daten zu zeigen. Gerade bei ganzen Verzeichnissen ist das manchmal problematisch, da so ein echtes rekursives verschieben kaum möglich ist</p></div>
<p>Anhilfe verschafft dabei das verpacken der Daten in ein Tar &#8211; Archiv und das entpacken der Daten an der Stelle an der sie gebraucht werden. Dazu gibt es einen recht praktischen Befehl, der die Dateien verpackt, das Archiv an den STDOUT gibt und per Pipe wieder an tar geschickt wird das die Daten an gewünschter Stelle wieder entpackt:</p>
<p>Im Quellverzeichniss einfach</p>
<pre><span>tar</span> cf - . |<span>(</span><span>cd</span> <span>/</span>targetdir; <span>tar</span> xvf -<span>)</span></pre>
<p>ausführen und das „targetdir“ entsprechend anpassen.</p>
<p>Dabei werden alle bereits bestehenden Dateien im Targetverzeichnis beibehalten, Dateien mit gleichem Namen werden überschrieben.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrandom.at/blog/2009/05/rekursives-verschieben-in-der-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netzwerkdurchsatz mit Linux messen</title>
		<link>http://devrandom.at/blog/2009/01/netzwerkdurchsatz-mit-linux-messen/</link>
		<comments>http://devrandom.at/blog/2009/01/netzwerkdurchsatz-mit-linux-messen/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 14:23:59 +0000</pubDate>
		<dc:creator>xarumanx</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>

		<guid isPermaLink="false">http://devrandom.at/blog/?p=4</guid>
		<description><![CDATA[Linux bietet eine sehr einfache Methode, mit der man den Netzwerkdurchsatz zwischen zwei Rechnern testen kann. Das ist vor allem dann praktisch, wenn man wissen möchte, ob das WLAN zum streamen von HD Videos ausreichend dimensioniert ist, oder ob die NAS auch den Durchsatz auf dem Netzwerkport schafft, der laut Hersteller angepriesen wird… Am ersten]]></description>
			<content:encoded><![CDATA[<div>
<p>Linux bietet eine sehr einfache Methode, mit der man den Netzwerkdurchsatz zwischen zwei Rechnern testen kann. Das ist vor allem dann praktisch, wenn man wissen möchte, ob das WLAN zum streamen von HD Videos ausreichend dimensioniert ist, oder ob die NAS auch den Durchsatz auf dem Netzwerkport schafft, der laut Hersteller angepriesen wird…</p></div>
<p>Am ersten Rechner startet man mit</p>
<pre>nc -ulp 5000 &gt; /dev/null</pre>
<p>einen UDP Listener &#8211; Prozess der den ankommenden Verkehr gleich wegschmeisst. Am zweiten Rechner startet man analog mit</p>
<pre>pv &lt; /dev/zero | nc -u&lt;listenerhost&gt; 5000</pre>
<p>einen Prozess der endlose 0 &#8211; Streams an den &lt;listenerhost&gt; schickt, der natürlich mit der IP Addresse des ersten Rechners ersetzt werden muss. Als Ergebniss erhält man von pv die Ausgabe der aktuellen Geschwindigkeit des Netzwerks. Bei einer Gigabit &#8211; Ethernet Verbindung ist die maximale Geschwindigkeit bei etwa 119 <acronym title="Megabyte">MB</acronym>/sec. Lässt man bei beiden Prozessen die “-u“ Parameter weg, wird statt der UDP die TCP Geschwindigkeit getestet, die bei aktuellen Gigabit &#8211; Ethernet Netzen immer noch an die 100 <acronym title="Megabyte">MB</acronym>/sec erreichen sollte (die Differenz ergibt sich aus dem grösseren Overhead der TCP Verbindung). Für die korrekte Funktion des ganzen müssen die Pakete „pv“ und „netcat“ auf den Systemen installiert sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://devrandom.at/blog/2009/01/netzwerkdurchsatz-mit-linux-messen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
