Einträge zu Tag: Bash

Markdown-Files unter Linux im Terminal darstellen

Erstellt: 13.03.2018 09:16

Des Oefteren liegen bei Sourcecode Markdown-Files bei, zum Beispiel für das traditionelle README (readme.md). Da diese Dateien unformatiert nicht unbedingt lesefreundlich sind hilft ein Converter weiter. pandoc ist ein solcher Converter welcher ohne weitere Optionen HTML ausgibt. Dies kann nun an einen Text-Browser übergeben werden welcher aus stdin Daten entgegen nehmen kann.
Es eignen sich dafür unter anderem w3m und lynx.

$ pandoc readme.md | lynx -stdin

Das ganze kann jetzt noch als Funktion in der ~/.bashrc hinterlegt werden:

function readmd { pandoc "$1" | lynx -stdin; }
export -f readmd

Dies ermöglicht einen schnellen Zugriff:

$ readmd readme.md



Tagged: Bash HTML/CSS Linux Tools

Kommentar verfassen | Nach oben

"apropos" findet nichts passendes

Erstellt: 31.10.2015 18:36

Wenn "apropos" nur noch "nothing appropriate"/"nichts passendes" zurück gibt:

# apropos wireless
wireless: nothing appropriate

...sollte man den man-Cache aktualisieren:

# mandb

Nun erhält man wieder Vorschläge:

# apropos wireless
crda (8)             - send to the kernel a wireless regulatory domain for a ...
iw (8)               - show / manipulate wireless devices and their configura...
iwconfig (8)         - configure a wireless network interface



Tagged: Bash Debian Linux

Kommentar verfassen | Nach oben

SMTP mit STARTTLS einfach und schnell testen

Erstellt: 26.02.2012 10:53

Sysadmins gehören wohl zu einer eher (Tipp-)faulen Berufsgattung. So ist es zwar möglich SMTP mit telnet zu überprüfen, aber spätestens nach dem 20. Test hat man davon die Nase voll.

Linux wäre nicht Linux, wenn es nicht für jede Tätigkeit kleine Helfer gäbe, die sich auf eine Aufgabe spezialisiert haben.

Das kleine Tool was ich in diesem Fall meine ist "swaks", die Entwickler selbst dazu: "swaks - Swiss Army Knife SMTP, the all-purpose smtp transaction tester". Es befindet sich im Debian-Repository unter "swaks".

Es lassen sich beliebige Optionen einstellen, als Ausgabe bekommt man das "Gespräch" mit dem Server und bei Erfolg wird eine Testmail verschickt.

Aber nun zum kleinen Beispiel, wie man eine SMTP-Verbindung mit STARTTLS testet:

$ swaks -s mailserver.domain.tld -p 25 –ehlo ich.domain.tld -au empfaenger@domain.tld -t sender@domain2.tld -f empfaenger@domain.tld -tls
Password: ToLlEsPaSsWoRt
=== Trying mailserver.domain.tld:25...
=== Connected to mailserver.domain.tld.
<-  220 mailserver.domain.tld ESMTP Postfix (Debian/GNU)
 -> EHLO ich.domain.tld
<-  250-mailserver.domain.tld
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-AUTH PLAIN
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250 DSN
 -> STARTTLS
<-  220 2.0.0 Ready to start TLS
=== TLS started w/ cipher DHE-RSA-AES256-SHA
 ~> EHLO ich.domain.tld
<~  250-mailserver.domain.tld
<~  250-PIPELINING
<~  250-SIZE 10240000
<~  250-VRFY
<~  250-ETRN
<~  250-AUTH PLAIN
<~  250-ENHANCEDSTATUSCODES
<~  250-8BITMIME
<~  250 DSN
 ~> AUTH PLAIN BGXF[...]meWlwMg==
<~  235 2.7.0 Authentication successful
 ~> MAIL FROM:<empfaenger@domain.tld>
<~  250 2.1.0 Ok
 ~> RCPT TO:<sender@domain2.tld>
<~  250 2.1.5 Ok
 ~> DATA
<~  354 End data with <CR><LF>.<CR><LF>
 ~> Date: Sun, 26 Feb 2012 10:29:22 +0100
 ~> To: sender@domain2.tld
 ~> From: empfaenger@domain.tld
 ~> Subject: test Sun, 26 Feb 2012 10:29:22 +0100
 ~> X-Mailer: swaks v20061116.0 jetmore.org/john/code/#swaks
 ~>
 ~> This is a test mailing
 ~>
 ~> .
<~  250 2.0.0 Ok: queued as 107C6DF27E
 ~> QUIT
<~  221 2.0.0 Bye
=== Connection closed with remote host.

Ich denke das Beispiel ist weitesgehend selbsterklärend. Es wird eine Verbindung von "ich.domain.tld" nach "mailserver.domain.tld" auf Port 25 aufgebaut. Der Empfänger der Email ist "empfaenger@domain.tld" der Absender "sender@domain2.tld", "-tls" verlangt das STARTTLS. Mit dem Parameter "-ap" könnte man das Passwort noch vorrangig angeben.

Kurz darauf ist das Email schon im zu testenden Postfach,.. sofern es natürlich geklappt hat. ;)

Viele weitere nützliche Informationen zu diesem Werkzeug wie immer in der man-Page!



Tagged: Bash Netzwerk Postfix SMTP Tools

1 Kommentar | Nach oben

Zwei csv-Files zusammenführen

Erstellt: 30.01.2012 21:58

Will man zwei Tabellen miteinander verbinden ist dies zum Beispiel unter MySQL mit "join" kein Problem.

Hat man zwei CSV-Files ist dies fast genauso einfach, wenn nicht sogar ein wenig leichter!
Dazu gibt es den Befehl "join" aus den GNU-Utils.

Hier ein einfaches und kleines Beispiel. Vorhanden sind zwei Dateien, die eine enthält Orchideen-Genus, die andere Orchideen-Species:

Die 1. Spalte enthält die ID, die 2. Spalte den Genus.

$ cat genus.csv
1;"Orchis"
2;"Epipactis"
3;"Gomphichis"

Die 1. Spalte enthält die ID, 2. Spalte die ID des Genus, 3. Spalte die Species

$ cat species.csv
1;1;"militaris"
2;1;"galilaea"
3;3;"traceyae"
4;3;"macbridei"
5;2;"helleborine"
6;3;"goodyeroides"
7;3;"foliosa"
8;3;"caucana"
9;2;"latifolia"
10;1;"stevenii"

Wichtig für "join" ist, dass die Spalten auf welche die Dateien zusammengesetzt werden sollen sortiert sind, ansonsten gibt es eine Fehlermeldung wie "join: Datei 2 ist nicht sortiert". Deshalb muss die Datei "species.csv" nun zuerst noch nach der 2. Spalte sortiert werden. Um das Beispiel zu vervollständigen wird die erste Datei auch gleich sortiert:

$ join -t";" -1 1 -2 2 <(sort genus.csv -t";" -n -k1 )   <(sort species.csv -t";" -n -k2)
1;"Orchis";10;"stevenii"
1;"Orchis";1;"militaris"
1;"Orchis";2;"galilaea"
2;"Epipactis";5;"helleborine"
2;"Epipactis";9;"latifolia"
3;"Gomphichis";3;"traceyae"
3;"Gomphichis";4;"macbridei"
3;"Gomphichis";6;"goodyeroides"
3;"Gomphichis";7;"foliosa"
3;"Gomphichis";8;"caucana"

Join:
-t";" gibt das Semilikon als Delemiterzeichen an.
-1 1 bedeutet, dass von der ersten Datei die erste Spalte benutzt wird.
-2 2 bedeutet, dass von der zweiten Datei die zweite Spalte benutzt wird.

Sort:
-t"; gibt das Semilikon als wiederum das Delemiterzeichen an.
-n steht für nummerische Sortierung.
-kN sortiert nach der Spalte N.

Es ist auch möglich einzelne Spalten auszuwählen:

$ join -t";" -1 1 -2 2 <(sort genus.csv -t";" -n -k1 )   <(sort species.csv -t";" -n -k2) -o 1.2,2.3
"Orchis";"stevenii"
"Orchis";"militaris"
"Orchis";"galilaea"
"Epipactis";"helleborine"
"Epipactis";"latifolia"
"Gomphichis";"traceyae"
"Gomphichis";"macbridei"
"Gomphichis";"goodyeroides"
"Gomphichis";"foliosa"
"Gomphichis";"caucana"

-o ermöglicht die Ausgabe zu definieren im Format F.N (F steht hier für die Dateinummer, N für die Spaltennummer), getrennt durch Kommas.

Andere nützliche Optionen zum Verhalten bei fehlenden Feldern oder nicht passenden Zeilen kann man natürlich der man-Page entnehmen.



Tagged: Bash Linux Tools

Kommentar verfassen | Nach oben

Standardeditor in Debian ändern

Erstellt: 09.07.2011 11:20

Den Standardeditor in Debian zu ändern ist keine Hexerei:

Wie für viele andere Grundeinstellungen ist "update-alternatives" dein Freund. Mit der Option "--config editor" werden alle installierten Editoren zur Auswahl gestellt:

# update-alternatives --config editor
Es gibt 3 Auswahlmöglichkeiten für die Alternative editor (welche /usr/bin/editor bereitstellen).

  Auswahl      Pfad                Priorität Status
------------------------------------------------------------
* 0            /bin/nano            40        Auto-Modus
  1            /bin/nano            40        manueller Modus
  2            /usr/bin/vim.basic   30        manueller Modus
  3            /usr/bin/vim.tiny    10        manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
oder geben Sie die Auswahlnummer ein: 2 <Enter>

update-alternatives: /usr/bin/vim.basic wird verwendet, um /usr/bin/editor (editor) im manueller Modus bereitzustellen.

...das wäre es schon gewesen.



Tagged: Bash Debian Linux

1 Kommentar | Nach oben

« ältere Einträge