commandlinefu - Code-Snippets für die shell

Wednesday, August 19th, 2009

Auf der Suche nach einem speziellen bash-Problem, bin ich auf eine sehr interessante Seite gestoßen:

http://www.commandlinefu.com/

Dort findet man zu jedem erdenklichen Thema UNIX-shell-Einzeiler. Das nette ist, das man sich recht einfach registrieren und dann selbst kleine Programme hinterlassen kann.

Das Projekt existiert zwar erst seit Anfang 2009, doch hält durch stetige Veröffentlichungen des Seiteneigners bereits knappe 3000 Einzeiler.

Leider fehlt noch eine Suchfunktion, was mich jetzt etwas davon abgehalten hat, direkt etwas einzutragen, denn ich will ja keine doppelten Einträge hervorrufen, aber ich werde dem Author mal bescheidsagen, dann hat sich das bestimmt schnell gelöst.

Keks hat mich darauf aufmerksam gemacht, dass es doch schon eine Suche gibt. Diese befindet sich direkt unter dem Titel… :roll:

Für jeden bash-”Programmierer” auf jedenfall merkenswert.

Gruß aus Sachsen

Bier

sed Einzeiler Beispiele

Wednesday, December 3rd, 2008

Na mal wieder an einem sed Problem den Kopf zerbrochen? Das muss nicht sein :-), denn zum Glück haben schlaue Köpfe ja schon vor uns Hirnschmalz investiert. Folgende Liste (zusammengestellt von Eric Pemen) beitet einige nützliche Tipps, Tricks und fertige Lösungen. z.B.: zentriert folgendes Beispiel alle Zeichen in einer 79 Zeichen breiten Spalte.

sed -e :a -e ’s/^.\{1,77\}$/ &/;ta’ -e ’s/\( *\)\1/\1/’

Ich wäre nicht drauf gekommen :-). In diesem Sinne viel Spass mit sed!

Keks

Spaß maximieren, alles durch SSH tunneln mit Tsocks

Wednesday, July 16th, 2008

Hier habe ich erklärt wie man durch einen SSH tunnel (mithilfe eines SOCKS Proxy) sicher (und bequem), über einen unsicheren Kanal, surfen kann.
Das ist ja schon mal ganz schick, solange sich unsere Applikationen Native mit einem SOCKS Proxy unterhalten können.
Ist das aber nicht der Fall ist das etwas doof.

Da kommt Tsocks ins Spiel.
Das, schon etwas ältere Programm (das letzte release ist vom 2002-10-23 21:02 ), basiert auf dem “shared library interceptor” konzept, das bedeutet vereinfacht das tsock die “connect()” C funktion abfängt und mit seiner Eigenen überschreibt.

Tsocks bestimmt dann anhand der Einstellungen in der “/etc/tsocks.conf” (bzw. wohin auch immer $TSOCKS_CONF_FILE zeigt) ob die Verbindung über den SOCKS Proxy geleitet werden soll, also über die Tsocks eigene “connect()” Funktion, oder über die “normale”, welche in <sys/socket.h> bereitgestellt wird.

Dadurch agiert Tsocks quasi als ein “Wrapper”.

Zum Verständnis mal ein Beispiel (ich gehe davon aus das ihr einen SSH SOCKS Tunnel anhand dem HOWTO auf Port 8080 aufgebaut habt, ansonsten natürlich anpassen!!):

Inhalt von /etc/tsocks.conf:

server = 127.0.0.1
server_port = 8080

Falls ihr kein root Zugriff habt, könnt ihr die ganze Schose natürlich auch in eurem HOME speichern.

export TSOCKS_CONF_FILE=$HOME/.tsocks.conf # Exportiere config file pfad, damit er dem Programm bekannt ist

Inhalt von $HOME/.tsocks.conf:

server = 127.0.0.1
server_port = 8080

Beispiel ohne Tsocks:

$ telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
155.56.xx.xx
 
155.56.xx.xx

Hier komme ich also direkt!

Beispiel mit Tsocks:

$ tsocks telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
87.230.15.76
 
hansis-braindump.de

Hier komme ich über hansis-braindump.de

Weitere Beispiele:

tsocks dog http://www.google.com
tsocks netcat example.com 80
tsocks irssi -c irc.freenode.net -p 6667

Viel Spass :daumenhoch:

Keks

Postfix “Aliases” und “catch-all”

Wednesday, February 13th, 2008

Ich habe hier mal Auszüge aus zwei kurzen postfix-howtos zusammengefügt.
Im ersten [1] geht es unter anderem um die Zuordnung von ankommenden Emails zu Usern in /etc/aliases.
Im zweiten [2] geht es um das Anlegen von catch-all-Accounts per /etc/postfix/virtual.

[1] http://www.unixwitch.de/de/sysadmin/tools/postfix (Mittwoch, 13. Februar 2008 02:00 UTC+1)

[2] http://www.cyberciti.biz/faq/howto-setup-postfix-catch-all-email-accounts/ (Mittwoch, 13. Februar 2008 02:00 UTC+1)

Bier
(more…)

Windows: System Uhr auf UTC

Thursday, December 27th, 2007

Bei unix-Systemen ist die Systemuhr standardmäßig auf UTC (Koordinierte Weltzeit) eingestellt. Windows geht bei der Systemuhr aber von Ortszeit aus und interpretiert sie als diese, was bei Multiboot-systemen zu Problemen führen kann. Bisher habe ich immer unix umkonfiguriert, sodass dieses die Systemuhr als lokal ausließt, doch im OpenBSD-FAQ bin ich auf eine andere Möglichkeit getroffen.

Standardmäßig nimmt OpenBSD an, dass deine Hardwareuhr auf UTC (Universal Coordinated Time) steht, statt auf Ortszeit, wie es bei einigen anderen Betriebssystemen angenommen wird. Das kann zu Problemen beim Multibooting führen.Die meisten anderen Betriebssysteme (einschließlich Windows) können so eingestellt werden, dass sie das gleiche machen. Damit kann das Problem einfach umgangen werden. Unter Windows NT/2000/XP z. B. kann man folgenden DWORD-Wert in der Registry erstellen und auf 1 setzen, sodass angenommen wird, dass die Hardwareuhr auf UTC eingestellt ist.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZone
Information\RealTimeIsUniversal

http://openbsd.org/faq/de/faq8.html#TimeZone

Bier

PHP - SQL Abragen “sichern”

Sunday, September 9th, 2007

mysql_real_escape_string — Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung

http://www.php.net/manual/de/function.mysql-real-escape-string.php

edit:

Ich habe dazu gerade eine php classe gefunden, ich werde sie mir bei gelegenheit mal anschauen.

http://scriptindex.mirrors.phpclasses.org/browse/package/1.html

Keks


Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: