Artikel

Die augenschonende Schriftart für das Arbeiten mit Code und Shell

Typeface Name: Hack

Meine Empfehlung für das kommende Jahr doch einmal die Schriftart zu ändern und eine neue für die Konsole und das Programmieren zu nutzen. Die Schriftart Hack lässt sich in jeder Größe sehr leicht lesen.
Ein Blick auf die Proben sollte überzeugen.

Sie ist bei jeder größeren Linuxdistribution in den Repositories zu finden, lässt sich aber auch Systemen wie MacOs und Windows nachinstallieren. Ich nutze sie schon länger auf Grund der schnell zu erfassenden Gestaltung und damit einhergehender Augenfreundlichkeit.

Artikel

macOS: SSH Hosts mit Autovervollständigung aufrufen

Es gibt unter macOS Mojave keine Autovervollständigung der definierten Hosts aus der Datei ~/.ssh/config. Hierzu habe ich in die Datei ~/.bash_profile folgende Funktion eingetragen :

function __completeSSHHosts {
	COMPREPLY=()
	local currentWord=${COMP_WORDS[COMP_CWORD]}
	local completeHosts=$(
		cat "$HOME/.ssh/config" | \
			grep --extended-regexp "^Host +([^* ]+ +)*[^* ]+ *$" | \
			tr -s " " | \
			sed -E "s/^Host +//"
	)

	COMPREPLY=($(compgen -W "$completeHosts" -- "$currentWord"))
	return 0
}

complete -F __completeSSHHosts ssh

Nun reicht wieder ein ssh TAB in der Konsole um die einzelnen Hosts und der damit verbundenen Konfiguration aufzurufen.

Artikel

What is my IP für die Shell

Unter der Adresse https://ifconfig.co/ gibt es einen Dienst, welcher die öffentliche Adresse des genutzten Clients ausgibt. ifconfig.co lässt sich sehr gut in eigene Scripte durch die Unterstützung von curl, httpie, GNU Wget und fetch einbinden.

Ausgegeben werden hier nicht nur die IP-Adresse (Oktett, Dezimal), sondern auf Wunsch auch noch der Standort (ISO,Stadt, Land, GPS-Koordinaten) und die Erreichbarkeit von Ports ausgegeben.

Es ist möglich die Webanwendung auf einem eigene Host zu installieren, die Quellen liegen in einem öffentlichen Repository auf Github.

Artikel

Kopieren und verschieben mit Fortschrittsanzeige in einem Terminal

Folgenden Aliaseintrag in die Datei ~/.bashrc bzw die eingebundene Aliasdatei einfügen:

alias rsyncp="rsync --partial --progress --append --rsh=ssh -r -h -z"
alias rsyncmv="rsync --partial --progress --append --rsh=ssh -r -h -z--remove-sent-files"

Legende

Wir missbrauchen hier das Programm rsync:

  • –partial Teilweise übertragene Daten behalten
  • –progress Detailierte Informationen über den Ablauf ausgeben
  • –append nicht vollständig übertragene Daten wieder aufnehmen.
  • Remoteshellprogramm ist ssh und kein TCP-Daemon
  • -r rekursives Übertragen der Daten
  • -h human readable
  • -z Daten bei der Übertragung komprimieren. Wäre nur sinnvoll bei einer SSH-Verbindung. Da ich den Befehl für lokale und entfernte Übertragungen nutze habe ich den Parameter doch mit eingepflegt.
  • –remove-sent-files übertragene Daten löschen. Dies kommt nur bei dem Befehl für das verschieben zum tragen