<?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>Linux &#8211; Pascua Theus</title>
	<atom:link href="https://theus.name/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://theus.name</link>
	<description>Informatik, IT-Sicherheit, Web</description>
	<lastBuildDate>Wed, 29 May 2019 12:10:24 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://theus.name/wordpress/wp-content/uploads/2017/02/cropped-t-icon-32x32.png</url>
	<title>Linux &#8211; Pascua Theus</title>
	<link>https://theus.name</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tastenmagie!</title>
		<link>https://theus.name/2019/05/29/tastenmagie/</link>
					<comments>https://theus.name/2019/05/29/tastenmagie/#respond</comments>
		
		<dc:creator><![CDATA[pascua]]></dc:creator>
		<pubDate>Wed, 29 May 2019 11:39:15 +0000</pubDate>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[S-Abf]]></category>
		<category><![CDATA[SysReq]]></category>
		<category><![CDATA[Tastatur]]></category>
		<guid isPermaLink="false">https://theus.name/?p=306</guid>

					<description><![CDATA[Wer hin und wieder noch einen klassischen PC nutzt und an diesem eine klassische Tastatur angeschlossen hat, der kennt sie vielleicht schon: die [S-Abf]-Taste oder im US-Tastatorlayout die [SysReq]-Taste. Sie teilt sich den Platz gemeinsam mit der [Druck]- oder [Print]-Taste. Aber warum gibt es sie eigentlich? Zur Systemabfrage! Interessant wird es jetzt vor allem für &#8230; <a href="https://theus.name/2019/05/29/tastenmagie/" class="more-link"><span class="screen-reader-text">„Tastenmagie!“ </span>weiterlesen</a>]]></description>
										<content:encoded><![CDATA[
<p>Wer hin und wieder noch einen klassischen PC nutzt und an diesem eine klassische Tastatur angeschlossen hat, der kennt sie vielleicht schon: die [S-Abf]-Taste oder im US-Tastatorlayout die [SysReq]-Taste. Sie teilt sich den Platz gemeinsam mit der [Druck]- oder [Print]-Taste. Aber warum gibt es sie eigentlich? Zur Systemabfrage!</p>



<span id="more-306"></span>



<div class="wp-block-image"><figure class="alignright is-resized"><img fetchpriority="high" decoding="async" src="https://theus.name/wordpress/wp-content/uploads/2019/05/Tastatur-S-Abf.png" alt="" class="wp-image-314" width="250" height="219"/><figcaption>© A.Illigen / CC-BY-SA 4.0</figcaption></figure></div>



<p style="text-align:left">Interessant wird es jetzt vor allem für Linux-Nutzer. Windows bietet entsprechende Funktionalität leider nicht. Nützlich wird unsere Taste nämlich immer genau dann, wenn deine grafische Oberfläche einfriert und nicht einmal mehr ein Wechsel in die Konsole möglich ist. Vielen Dank an Jonas, der mir eine kluge Tastenfolge gezeigt hat, mir der man seinen PC noch recht geregelt neu starten kann.</p>



<p>Dafür hältst du die ganze Zeit die [Alt]-Taste gedrückt. Um die Magie zu beginnen, drückst du dann die [S-Abf]- bzw. [SysReq]-Taste.  Jetzt werden die folgenden Tastatureingaben direkt an den Kernel weitergeleitet (schön weiter die [Alt]-Taste gedrückt halten). Um deinen Rechner nun neu zu starten drückst du nun hintereinander [R]+[E]+[I]+[S]+[U]+[B].</p>



<table><tbody><tr><td style="width: 2em">R</td><td style="width: 6em">unraw</td><td>Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur </td></tr><tr><td>E</td><td>term</td><td>Sendet ein SIGTERM (abschließen &amp; beenden) an alle Prozesse außer Init</td></tr><tr><td>I</td><td>kill</td><td>Sendet ein SIGKILL (abbrechen &amp; debuggen) an alle Prozesse außer Init </td></tr><tr><td>S</td><td>sync</td><td>Schreibt alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache</td></tr><tr><td>U</td><td>umount</td><td>Alle eingehängten Partitionen werden erst ausgehängt und dann nur-lesbar eingehängt </td></tr><tr><td>B</td><td>reboot</td><td>Fährt den Rechner sofort herunter und startet den Rechner neu. </td></tr></tbody></table>



<p>Und wer zum Teufel soll sich das merken? Naja, dafür gibts eine ganze handvoll Merksprüche. Ich merke mir das mit „busier“ rückwärts (der Rechner ist schließlich in solchen Momenten beschäftigter  als normal).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://theus.name/2019/05/29/tastenmagie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wettervorhersage mit cURL</title>
		<link>https://theus.name/2018/12/20/wettervorhersage-mit-curl/</link>
					<comments>https://theus.name/2018/12/20/wettervorhersage-mit-curl/#comments</comments>
		
		<dc:creator><![CDATA[pascua]]></dc:creator>
		<pubDate>Thu, 20 Dec 2018 13:20:48 +0000</pubDate>
				<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[httpie]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Wetter]]></category>
		<category><![CDATA[wget]]></category>
		<guid isPermaLink="false">https://theus.name/?p=220</guid>

					<description><![CDATA[In meinem letzten Artikel habe ich ja schon gezeigt, wie man mit dem Kommandozeilen-Tool cURL recht einfach seine öffentliche IP-Adresse bestimmen kann. Mit cURL geht aber noch viel mehr: Wettervorhersagen zum Beispiel! Und ich muss ehrlich sagen, dass ich davon ziemlich begeistert bin. Ich nutze das schon seit ein paar Jahren und es ist an &#8230; <a href="https://theus.name/2018/12/20/wettervorhersage-mit-curl/" class="more-link"><span class="screen-reader-text">„Wettervorhersage mit cURL“ </span>weiterlesen</a>]]></description>
										<content:encoded><![CDATA[
<p>In meinem letzten Artikel habe ich ja schon gezeigt, wie man mit dem Kommandozeilen-Tool <em>cURL</em> recht einfach seine öffentliche IP-Adresse bestimmen kann. Mit cURL geht aber noch viel mehr: Wettervorhersagen zum Beispiel!<br></p>



<span id="more-220"></span>



<p>Und ich muss ehrlich sagen, dass ich davon ziemlich begeistert bin. Ich nutze das schon seit ein paar Jahren und es ist an der Zeit das hier einmal festzuhalten. Alles, was man dafür tun muss, ist per cURL die Seite <em>wttr.in</em> aufzurufen. Also schnell ins Terminal getippt:</p>



<pre class="wp-block-preformatted">$ curl wttr.in</pre>



<p>Und so sieht das dann aus:</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="628" src="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr-1024x628.png" alt="curl wttr.in – Eine zeichenbasierte Wettervorhersage für heute, morgen und übermorgen" class="wp-image-221" srcset="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr-1024x628.png 1024w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr-300x184.png 300w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr-768x471.png 768w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr-1200x736.png 1200w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr.png 1252w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption>Eine wunderhübsche Wettervorhersage in ANSI</figcaption></figure>



<p>Das Tool versucht den Standort des Nutzers über die IP zu bestimmen. Das funktioniert aus dem Uni-Netz zum Beispiel immer super. Zu Hause hat mich das Tool aber von Bonn circa 20 km weiter nördlich nach Köln verschoben. Das kann man mit der Angabe des Ortes in der URL aber einfach korrigieren:</p>



<pre class="wp-block-preformatted">$ curl wttr.in/Bonn</pre>



<figure class="wp-block-image"><img decoding="async" width="1024" height="627" src="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn-1024x627.png" alt="curl wttr.in/Bonn" class="wp-image-222" srcset="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn-1024x627.png 1024w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn-300x184.png 300w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn-768x470.png 768w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn-1200x734.png 1200w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_bonn.png 1255w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption>Schon zeigt sich mir die Vorhersage für das wunderhübsche Bonn<br><br></figcaption></figure>



<p>Statt Städtenamen kann man auch die dreistelligen internationalen Kürzel für Flughäfen angeben. Da komme ich natürlich nicht drumherum, mir einmal das Wetter für den BER anzeigen zu lassen.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="627" src="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber-1024x627.png" alt="curl wttr.in/ber" class="wp-image-223" srcset="https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber-1024x627.png 1024w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber-300x184.png 300w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber-768x471.png 768w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber-1200x735.png 1200w, https://theus.name/wordpress/wp-content/uploads/2018/12/wttr_ber.png 1255w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><figcaption>Das Wetter für den BER – das bisschen Regen kann schon mal nicht der Grund für die massiven Verzögerungen beim Bau sein </figcaption></figure>



<p><em>wttr.in</em> kannst du natürlich neben cURL auch mit <em>httpie</em> oder ähnlichen Tools nutzen. Außerdem unterstützt <em>wttr.in</em> auch die Ausgabe im Browser oder sogar als Bild:</p>



<pre class="wp-block-preformatted">$ wget wttr.in/Bonn.png</pre>



<p>Das heruntergeladene Bild könnt ihr dann mit einem Bildbetrachter eurer Wahl anschauen, auf eure Webseite einbinden oder sogar ausdrucken (<a href="https://twitter.com/search?q=%23internetausdrucker" target="_blank" rel="noreferrer noopener" aria-label="Das heruntergeladene Bild könnt ihr dann mit einem Bildbetrachter eurer Wahl anschauen, auf eure Webseite einbinden oder sogar ausdrucken (#internetausdrucker).
 (opens in a new tab)">#internetausdrucker</a>).<br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://theus.name/2018/12/20/wettervorhersage-mit-curl/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>IP-Adresse noch einfacher per Kommandozeile bestimmen</title>
		<link>https://theus.name/2018/12/12/ip-adresse-noch-einfacher-per-kommandozeile-bestimmen/</link>
					<comments>https://theus.name/2018/12/12/ip-adresse-noch-einfacher-per-kommandozeile-bestimmen/#respond</comments>
		
		<dc:creator><![CDATA[pascua]]></dc:creator>
		<pubDate>Wed, 12 Dec 2018 08:12:08 +0000</pubDate>
				<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Webtechniken]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://theus.name/?p=194</guid>

					<description><![CDATA[Im meinem Artikel IP per Kommandozeile bestimmen habe ich schon gezeigt, wie man sich einen Alias in seiner .bashrc anlegt, um einfach seine öffentliche IP-Adresse bestimmen zu können. Vor wenigen Tagen bin ich auf eine noch einfachere Möglichkeit gestoßen. Die Website ifconfig.co ermöglicht auf einfache Weise per curl die eigene IP-Adresse zu bestimmen. Mit dem &#8230; <a href="https://theus.name/2018/12/12/ip-adresse-noch-einfacher-per-kommandozeile-bestimmen/" class="more-link"><span class="screen-reader-text">„IP-Adresse noch einfacher per Kommandozeile bestimmen“ </span>weiterlesen</a>]]></description>
										<content:encoded><![CDATA[
<p>Im meinem Artikel <a href="https://theus.name/2017/11/01/ip-per-kommandozeile-bestimmen/">IP per Kommandozeile bestimmen</a> habe ich schon gezeigt, wie man sich einen Alias in seiner .bashrc anlegt, um einfach seine öffentliche IP-Adresse bestimmen zu können. Vor wenigen Tagen bin ich auf eine noch einfachere Möglichkeit gestoßen.</p>



<span id="more-194"></span>



<p>Die Website <a href="https://ifconfig.co">ifconfig.co</a> ermöglicht auf einfache Weise per <em>curl</em> die eigene IP-Adresse zu bestimmen. Mit dem Befehl</p>



<pre class="wp-block-preformatted">$ curl ifconfig.co<br>2a01:7e0:0:405::127e</pre>



<p>ist schon alles getan und man bekommt seine IP-Adresse angezeigt. Falls man per IPv6 surft, wird ebendiese angezeigt. Möchte man explizit die IPv4-Adresse angezeigt werden, fügt man die Option <em>-4</em> hinzu.</p>



<pre class="wp-block-preformatted">$ curl -4 ifconfig.co<br>185.160.0.96</pre>



<p>Für die explizite Rückgabe von IPv6 wäre <em>-6</em> anzuhängen, jedoch wird in den allermeisten Fällen dies der Standard sein (oder überhaupt nicht klappen, sollte der Anschluss noch nur über IPv4 erreichbar sein).</p>



<p>Möchte man seinen alten Befehl <em>myip</em> weiterbenutzen, dann ändert man in der .bashrc den Alias zu:</p>



<pre class="wp-block-preformatted">alias myip="curl ifconfig.co</pre>



<p>Auch die Optionen <em>-4</em> und <em>-6</em> können dann an den Befehl <em>myip</em> angehängt werden.<br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://theus.name/2018/12/12/ip-adresse-noch-einfacher-per-kommandozeile-bestimmen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>IP per Kommandozeile bestimmen</title>
		<link>https://theus.name/2017/11/01/ip-per-kommandozeile-bestimmen/</link>
					<comments>https://theus.name/2017/11/01/ip-per-kommandozeile-bestimmen/#comments</comments>
		
		<dc:creator><![CDATA[pascua]]></dc:creator>
		<pubDate>Wed, 01 Nov 2017 12:21:17 +0000</pubDate>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Regex]]></category>
		<guid isPermaLink="false">https://theus.name/?p=116</guid>

					<description><![CDATA[Hin und wieder möchte man im ganz normalen Informatiker-Alltag seine IP-Adresse herausfinden. Tools wie ip sind unter Linux das Mittel der Wahl: $ ip addr 1: lo: &#60;LOOPBACK,UP,LOWER_UP&#62; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host &#8230; <a href="https://theus.name/2017/11/01/ip-per-kommandozeile-bestimmen/" class="more-link"><span class="screen-reader-text">„IP per Kommandozeile bestimmen“ </span>weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Hin und wieder möchte man im ganz normalen Informatiker-Alltag seine IP-Adresse herausfinden. Tools wie <em>ip</em> sind unter Linux das Mittel der Wahl:</p>
<pre>$ ip addr
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp3s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a0:88:b4:38:49:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.131/24 brd 192.168.178.255 scope global dynamic wlp3s0
       valid_lft 851135sec preferred_lft 851135sec
    inet6 2001:4dd6:c6e9:0:1860:5ddc:f9c1:92e/64 scope global dynamic noprefixroute 
       valid_lft 6824sec preferred_lft 3224sec
    inet6 fe80::97e0:6e18:ff00:4a8d/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s25: &lt;NO-CARRIER,BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:21:cc:5d:73:ad brd ff:ff:ff:ff:ff:ff</pre>
<p><span id="more-116"></span></p>
<p>In diesem Beispiel erkennt man drei Interfaces, also Schnittstellen für die Kommunikation: <em>lo</em>, <em>wlp3s0</em>, <em>enp0s25</em>. Das erste ist das sogenannte <em>Loopback-Interface</em>, welches dafür genutzt wird, um Nachrichten an den Computer selbst zu senden; beispielsweise über die IP <em>127.0.0.1</em>. Der zweite Name <em>wlp3s0 </em>steht für das WLAN-Interface und der nicht minder kryptische Name <em>enp0s25</em> bezeichnet das Ethernet-Interface, also LAN (ohne wireless, also mit Kabel). Da das Notebook in diesem Moment nur per WLAN verbunden war, sieht man hier nur eine IP beim WLAN-Interface, nicht aber beim Ethernet-Interface.</p>
<p>Auffällig ist, dass man nur private IP-Adressen angezeigt bekommt. IPv4-Adressen des Blocks <em>192.168.0.0/16</em> (die also mit <em>192.168</em>.… beginnen) sind für private Netzwerke reserviert. Darüber erreichst du solche Geräte, die sich in deinem eigenen Heimnetz befinden, wie zum Beispiel deinen Fernseher oder deinen Drucker.</p>
<p>Diese IP-Adressen sehen die Server von z.B. Webseiten, auf denen wir surfen, aber nicht. Sie sehen die <em>öffentliche</em> IP-Adresse, welcher unser Router vom Provider zugewiesen bekommt. Das liegt daran, dass der Router alle Pakete umschreibt, die <em>private</em> IP-Adresse durch die <em>öffentliche</em> ersetzt und das Paket dann erst weiter an die Server schickt. Kommen die Antwortpakete, so macht er es umgekehrt. Die Technik dahinter heißt <em>Netzwerkadressübersetzung</em>, bekannter unter ihrer Abkürzung <em>NAT</em> (<em>Network Address Translation</em>). Der Grund des Einsatz dieser Technik liegt vor allem im Mangel an IPv4-Adressen. Da es davon nicht so viele gibt, können nicht jedem Rechner auf der Welt eine eigene Adresse zugewiesen werden, stattdessen bekommt meist jeder Anschluss nur <em>eine</em> IPv4-Adresse, die sich dann die verschiedenen Netzwerkteilnehmer (Notebooks, Desktop-PCs, Smartphones…) teilen müssen.</p>
<h3>Wie komme ich an meine öffentliche IP?</h3>
<p>Um an deine öffentliche IPv4-Adresse zu kommen, gibt es zahlreiche Dienste wie MeineIP.de oder WieIstMeineIP.de. Ich nutze ganz gerne <a href="https://www.monip.org/" target="_blank" rel="noopener">MonIP.org</a>, ein Service der ganz ohne Werbung und allzu viel Text und sonst irgendetwas auskommt.</p>
<p>Um seine öffentliche IPv4-Adresse herauszufinden, muss man allerdings nicht unbedingt den Browser bemühen. Dafür bietet sich das Kommadozeilentool <em>curl</em> an.</p>
<pre>$ curl -s http://www.monip.org/
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;html&gt;

&lt;head&gt;
&lt;title&gt;MonIP.org v1.0&lt;/title&gt;
&lt;META http-equiv="Content-type" content="text/html; charset=UTF-8"&gt;
&lt;/head&gt;
&lt;P ALIGN="center"&gt;&lt;FONT size=8&gt;&lt;BR&gt;IP : 89.0.201.10&lt;br&gt;&lt;/font&gt;&lt;font size=3&gt;&lt;i&gt;xdsl-89-0-201-10.netcologne.de&lt;/i&gt;&lt;br&gt;&lt;/font&gt;&lt;font size=1&gt;&lt;br&gt;&lt;br&gt;Pas de proxy détecté - No Proxy detected&lt;/font&gt;&lt;/html&gt;%</pre>
<p>Die Option <em>s</em> versteckt die Progress Bar, ansonsten lädt curl einfach die Webseite herunter und gibt sie im Terminal aus. Das könnte einem natürlich schon reichen, aber die ganzen HTML-Tags stören noch. Daher gibt es noch eine kurze Erweiterung, um nur die IP-Adresse anzuzeigen. Dafür nutze ich das Programm <em>grep</em>.</p>
<pre>$ curl -s http://www.monip.org/ | grep -Po '(?&lt;=IP : )[^&lt;]*(?=&lt;)'                                                                                       
89.0.215.9</pre>
<p>Wir übergeben also dem Programm <em>grep</em> mithilfe des senkrechten Strichs (<em>pipe</em>) die Ausgabe von <em>curl</em>. Der Parameter <em>P</em> gibt an, dass der Ausdruck dahinter ein Perl-Regex ist. Ein <a href="https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck" target="_blank" rel="noopener">Regex</a> ist ein Ausdruck, mit dem man Zeichenketten auf Muster durchsuchen kann (so ganz grob erklärt). Die Option <em>o</em> weist <em>grep</em> schließlich an, nur das gefundene Muster auszugeben. In unserem Regex suchen wir nach allen Zeichen, die kein <em>&lt;</em> sind (<em>[^&lt;]</em>) und zwischen den Ausdrücken <em>IP : </em> und <em>&lt;</em> stehen.</p>
<p>Das sieht ziemlich komplex aus und ist schwer zu merken, daher schreiben wir diesen Befehl noch in unsere <em>.bashrc</em>. Das ist die Konfigurationsdatei der Standard-Linux-Shell. Wenn du eine andere nutzt, musst du natürlich die entsprechende Konfigurationsdatei dieser Shell verwenden. Dann solltests du aber auch wissen, wie das geht. 😉</p>
<p>Dazu öffnen wir die Datei <em>.bashrc</em>, die sich als versteckte Datei in unserem Heimverzeichnis befindet. Du kannst sie zum Beispiel mittels <em>Vim</em> öffnen.</p>
<pre>$ vim ~/.bashrc</pre>
<p>Dort fügen wir dann am Ende der Datei folgende Zeile hinzu:</p>
<pre>alias myip="curl -s http://www.monip.org/ | grep -Po '(?&lt;=IP : )[^&lt;]*(?=&lt;)'"</pre>
<p>Von nun an können wir unsere IPv4-Adresse im Terminal ganz einfach mit dem Befehl</p>
<pre>$ myip</pre>
<p>anzeigen lassen. Dafür musst du vorab nur noch ein neues Terminal öffnen, damit die Änderungen an der Konfiguration wirksam werden.</p>
<h3>Was ist mit IPv6?</h3>
<p>Bei IPv6 haben wir im normalen Setup eines Heimnetzes dieses Problem nicht. Da es weitaus mehr IPv6-Adressen als IPv4-Adressen gibt, bekommt jedes Netzwerkgerät im Heimnetz eine eigene globale IP-Adresse, mit welcher es aus dem Netzwerk heraus erreichbar ist (eingehende Verbindungen werden aber normalerweise vom Router blockiert). In unserem Beispiel surft der Rechner also unter der IPv6-Adresse <em>2001:4dd6:c6e9:0:1860:5ddc:f9c1:92e</em>. Überprüfen lässt sich das zum Beispiel <a href="https://www.wieistmeineip.de/ipv6/" target="_blank" rel="noopener">hier</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://theus.name/2017/11/01/ip-per-kommandozeile-bestimmen/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Arbeiten mit PDFs</title>
		<link>https://theus.name/2017/10/06/arbeiten-mit-pdfs/</link>
					<comments>https://theus.name/2017/10/06/arbeiten-mit-pdfs/#respond</comments>
		
		<dc:creator><![CDATA[pascua]]></dc:creator>
		<pubDate>Fri, 06 Oct 2017 11:37:28 +0000</pubDate>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Ghostscript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PDF]]></category>
		<guid isPermaLink="false">https://theus.name/?p=106</guid>

					<description><![CDATA[Immer mal wieder muss man zu große PDF-Dateien komprimieren, mehrere PDFs kombinieren (praktisch wenn man eine ganze Reihe verschiedener PDFs drucken möchte bzw. jemandem zum Druck weitergeben will) oder eine einzelne Seite aus einem PDF herausschneiden. Die folgenden Linux-Befehle sind mehr oder weniger übernommen von milan.kupcevic.net und benötigen Ghostscript. Sie dürften auch mit PostScript-Dateien wunderbar &#8230; <a href="https://theus.name/2017/10/06/arbeiten-mit-pdfs/" class="more-link"><span class="screen-reader-text">„Arbeiten mit PDFs“ </span>weiterlesen</a>]]></description>
										<content:encoded><![CDATA[<p>Immer mal wieder muss man zu große PDF-Dateien komprimieren, mehrere PDFs kombinieren (praktisch wenn man eine ganze Reihe verschiedener PDFs drucken möchte bzw. jemandem zum Druck weitergeben will) oder eine einzelne Seite aus einem PDF herausschneiden. Die folgenden Linux-Befehle sind mehr oder weniger übernommen von <a href="http://milan.kupcevic.net/ghostscript-ps-pdf/" target="_blank" rel="noopener">milan.kupcevic.net</a> und benötigen <a href="https://wiki.ubuntuusers.de/Ghostscript/" target="_blank" rel="noopener">Ghostscript</a>. Sie dürften auch mit PostScript-Dateien wunderbar funktionieren (ungetestet). Bitte beachte, dass bestehende Dateien ohne Warnung überschrieben werden!</p>
<p><span id="more-106"></span></p>
<p>Wem das zu viel Kommandozeile ist, der schaut sich vielleicht einmal <a href="https://wiki.ubuntuusers.de/PDF_Split_and_Merge/" target="_blank" rel="noopener">PDFSam</a> an. Eine Kompression von Dateien ist mit diesem Java-Tool aber nicht möglich.</p>
<h3>PDFs komprimieren</h3>
<pre>$ gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf</pre>
<p>Die Kompression der Bilder lässt sich durch folgende Parameter verändern: <code>/screen</code>, <code>/ebook</code>, <code>/printer</code>, <code>/prepress</code> und <code>/default</code></p>
<h3>PDFs kombinieren</h3>
<pre>$ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf input1.pdf input2.pdf</pre>
<h3>PDFs schneiden</h3>
<p>Eine einzelne oder mehrere Seiten aus einem PDF auszuschneiden geht so. Dazu einfach die Werte bei <code>-dFirstPage</code> und <code>-dLastPage</code> ändern.</p>
<pre>$ gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFirstPage=3 -dLastPage=3 -sOutputFile=output.pdf input.pdf</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://theus.name/2017/10/06/arbeiten-mit-pdfs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
