<?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>ubuntuverse.at &#187; ruby</title>
	<atom:link href="http://www.ubuntuverse.at/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ubuntuverse.at</link>
	<description>Berichte aus dem Ubuntu Universum</description>
	<lastBuildDate>Thu, 21 Aug 2014 09:42:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Diese Woche in der Konsole #9</title>
		<link>https://www.ubuntuverse.at/2009/09/13/diese-woche-in-der-konsole-9/</link>
		<comments>https://www.ubuntuverse.at/2009/09/13/diese-woche-in-der-konsole-9/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 09:30:16 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[dwik]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nmap]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[timestamp]]></category>
		<category><![CDATA[tinyurl]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1620</guid>
		<description><![CDATA[Mit diff Unterschiede zwischen zwei Verzeichnissen anzeigen. $ diff folder1 folder2 Das ganze geht auch über zwei per ssh erreichbare Server. $ diff]]></description>
			<content:encoded><![CDATA[<ol>
<li>
Mit <em>diff</em> Unterschiede zwischen zwei Verzeichnissen anzeigen.</p>
<pre>$ diff folder1 folder2</pre>
<p>Das ganze geht auch über zwei per ssh erreichbare Server. </p>
<pre>$ diff <(ssh server01 "ls /tmp/") <(ssh server02 "ls /tmp/")
1,8d0
< lost+found
< mysql.sock
< orbit-root
</pre>
</li>
<li>tinyurl von der Konsole aus verwenden.
<pre>$ curl -s http://tinyurl.com/create.php?url=http://www.ubuntuverse.at/ | \
grep -o "http:\/\/tinyurl.com\/[a-z0-9][a-z0-9]*" | uniq
</pre>
</li>
<li>
Mit <em>time</em> ist es möglich die Zeitdauer eines Befehls oder Skripts anzuzeigen (benchmark).</p>
<pre>
$ time ruby script.rb

real    0m0.017s
user    0m0.008s
sys     0m0.004s
</pre>
</li>
<li>Datum in timestamp umwandeln.
<pre>$ date --utc --date "2009-09-09 09:09:09" +%s
1252487349
</pre>
</li>
<li>Das gesamte interne Netzwerk nach erreichbaren IPs durchsuchen. <em>nmap</em> versucht dabei auch den Hersteller der Netzwerkkarte zu ermitteln.
<pre>$ sudo nmap -sP 192.168.0.0/24

Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-03 18:28 CEST
Host 192.168.1.122 appears to be up.
MAC Address: 00:12:52:73:85:4C (Apple)
Host 192.168.1.181 appears to be up.
MAC Address: 00:0E:A8:D0:87:DE (Cisco Linksys)
</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2009/09/13/diese-woche-in-der-konsole-9/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Diese Woche in der Konsole #8</title>
		<link>https://www.ubuntuverse.at/2009/08/30/diese-woche-in-der-konsole-8/</link>
		<comments>https://www.ubuntuverse.at/2009/08/30/diese-woche-in-der-konsole-8/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 05:23:18 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dwik]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[spell]]></category>
		<category><![CDATA[tac]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=1537</guid>
		<description><![CDATA[Wissenswerte Tastenkürzeln CTRL l Leert den gesamten Bildschirm, das selbe wie der Befehl clear. CTRL w Löscht nach links einzelne Wörter ab der Cursorposition. CTRL r Inkrementelle Suche durch die Liste der letzt ausgeführten Befehle (bash history). ! ! Den letzten Befehl wiederholen. CTRL d Um die Sitzung zu beenden, das selbe wie der Befehl [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Wissenswerte Tastenkürzeln
<p><span class="key">CTRL</span> <span class="key">l</span> Leert den gesamten Bildschirm, das selbe wie der Befehl <em>clear</em>.</p>
<p><span class="key">CTRL</span> <span class="key">w</span> Löscht nach links einzelne Wörter ab der Cursorposition.</p>
<p><span class="key">CTRL</span> <span class="key">r</span> Inkrementelle Suche durch die Liste der letzt ausgeführten Befehle (bash history). </p>
<p><span class="key">!</span> <span class="key">!</span> Den letzten Befehl wiederholen.</p>
<p><span class="key">CTRL</span> <span class="key">d</span> Um die Sitzung zu beenden, das selbe wie der Befehl <em>exit</em>.
</li>
<li>Wenn der letzte Befehl einen einfachen Schreibfehler hat wie hier eine &#8220;3&#8243; wo ein &#8220;e&#8221; sein sollte, so ist es möglich eine Korrektur vorzunehmen:
<pre>
$ echo "F3hler"
F3hler

$ ^3^e
echo "Fehler"
Fehler
</pre>
</li>
<li>
<p>Herausfinden welcher Prozess (Id) auf Port 31337 lauscht.</p>
<pre>
$ sudo fuser 31337/tcp
31337/tcp:           29883
</pre>
</li>
<li>Dateien umbennen mit rename. Als Beispiel werden alle .htm zu .html Dateien umbenannt.
<pre>$ rename htm html *htm</pre>
</li>
<li>In vim Deutsche Rechtschreibprüfung verwenden mit dem Paket <em>vim-spell-de</em>.
<pre>:setlocal spell spelllang=de</pre>
<p>Danach sind alle falsch geschriebenen Wörter farblich markiert.
</li>
<li>
Dateiinhalte von unten nach oben anzeigen lassen, ein verkehrtes <em>cat</em> eben <img src='https://www.ubuntuverse.at/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre>$ tac datei.txt</pre>
</li>
<li>Kopf oder Zahl ohne Münze.
<pre>$ ruby -e 'puts ["Kopf", "Zahl"][rand(2)]'
Kopf
</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2009/08/30/diese-woche-in-der-konsole-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Diese Woche in der Konsole #4</title>
		<link>https://www.ubuntuverse.at/2009/07/26/diese-woche-in-der-konsole-4/</link>
		<comments>https://www.ubuntuverse.at/2009/07/26/diese-woche-in-der-konsole-4/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 05:23:32 +0000</pubDate>
		<dc:creator>z.</dc:creator>
				<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dwik]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[wav]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=609</guid>
		<description><![CDATA[Immer wieder tauchen Base64 enkodierte Dateien auf, mit OpenSSL können sie einfach en/dekodiert werden:decode: openssl enc -base64 -in in_file -d encode: openssl enc -base64 -in in_file -e Website-Mirror ziehen: wget -m -k -K -E http://url/of/web/site Alle verwendeten IP Adressen anzeigen. ifconfig &#124; ruby -n -e 'puts $1 if /addr:(\S+)/' 192.168.1.4 127.0.0.1 Mp3-Datei in eine Wav-Datei [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ubuntuverse.at/wp-content/utilities-terminal.png" alt="Diese Woche in der Konsole" width="64" height="64" /></p>
<ol>
<li>Immer wieder tauchen Base64 enkodierte Dateien auf, mit OpenSSL können sie einfach en/dekodiert werden:decode:
<pre>openssl enc -base64 -in in_file -d</pre>
<p>encode:</p>
<pre>openssl enc -base64 -in in_file -e</pre>
</li>
<li>Website-Mirror ziehen:
<pre>wget -m -k -K -E http://url/of/web/site</pre>
</li>
<li>Alle verwendeten IP Adressen anzeigen.
<pre>ifconfig | ruby -n -e 'puts $1 if /addr:(\S+)/'
192.168.1.4
127.0.0.1
</pre>
</li>
<li>Mp3-Datei in eine Wav-Datei mit ffmpeg umwandeln.
<pre>ffmpeg -i datei.mp3 datei.wav</pre>
</li>
<li>Mit wget mp3s von example.org runterladen mit den Namen (0 bis 9).
<pre>ruby -e '10.times{|i| %x"wget http://example.org/#{i}.mp3"}'</pre>
</li>
<li>~/.bashrc editieren, abspeichern und sofort ausprobieren:
<pre>source ~/.bashrc</pre>
<p>Das funktioniert mit .cshrc etc. natürlich auch&#8230;
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2009/07/26/diese-woche-in-der-konsole-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Diese Woche in der Konsole #1</title>
		<link>https://www.ubuntuverse.at/2009/07/05/diese-woche-in-der-konsole-1/</link>
		<comments>https://www.ubuntuverse.at/2009/07/05/diese-woche-in-der-konsole-1/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 05:23:21 +0000</pubDate>
		<dc:creator>Bernhard Essl</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[dwik]]></category>
		<category><![CDATA[Konsole]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.ubuntuverse.at/?p=868</guid>
		<description><![CDATA[Mit curl von der Komandozeile aus twittern: curl -u Benutzername:Passwort \ -d status="Nachricht" http://twitter.com/statuses/update.xml Suchen und Ersetzen mit einem Ruby Einzeiler: ruby -i.bkp -pe "gsub(/suche/, 'ersetze')" *.php Hier werden alle PHP Dateien in dem aktuellen Ordner ersetzt und zusätzlich wird eine Backup Datei (.bkp) erstellt. Einen Ordner via ssh mittels rsync clonen: rsync -avz -e [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ubuntuverse.at/wp-content/utilities-terminal.png" alt="Diese Woche in der Konsole" title="Diese Woche in der Konsole" width="64" height="64" /></p>
<ol>
<li>Mit curl von der Komandozeile aus twittern:
<pre lang="bash">curl -u Benutzername:Passwort \
-d status="Nachricht" http://twitter.com/statuses/update.xml</pre>
</li>
<li>Suchen und Ersetzen mit einem Ruby Einzeiler:
<pre lang="ruby">ruby -i.bkp -pe "gsub(/suche/, 'ersetze')" *.php</pre>
<p>Hier werden alle PHP Dateien in dem aktuellen Ordner ersetzt und zusätzlich wird eine Backup Datei (.bkp) erstellt.</li>
<li>Einen Ordner via ssh mittels rsync clonen:
<pre lang="bash">rsync -avz -e 'ssh -p portnummer' user@host /Quellordner /Zielordner</pre>
<p>Wird der Quellordner ohne abschliessenden / angegeben, so wird der Quellordner selbst kopiert. Ansonsten nur der Inhalt</li>
<li>Datenbank von einem anderen Server via ssh übernehmen:
<pre lang="bash">ssh user@host mysqldump -u dbuser_server -p dbpwd_server databasename \
--lock-tables | mysql --verbose -u dbuser_local -p dbpwd_local</pre>
</li>
<li>Verschlüsselte Text-Datei mit Vim anlegen:</li>
<pre lang="bash">vim -x datei</pre>
</ol>
]]></content:encoded>
			<wfw:commentRss>https://www.ubuntuverse.at/2009/07/05/diese-woche-in-der-konsole-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
