====== Shell allgemein ======
[[http://www.gnu.org/software/bash/manual/bashref.html|http://www.gnu.org/software/bash/manual/bashref.html]]
[[https://www.shellscript.sh/|https://www.shellscript.sh/]]
[[http://www.linux-services.org/shell/|http://www.linux-services.org/shell/]]
===== GB keyboard =====
{{ :kb_united_kingdom.svg }}
===== Screen =====
Siehe auch [[https://www.mattcutts.com/blog/a-quick-tutorial-on-screen/|https://www.mattcutts.com/blog/a-quick-tutorial-on-screen/]]
**Screen Arbeitsablauf**
Normalerweise im User, nicht mit sudo
''screen -S [name]''
alternativ screen -R (erzeugt neue Session wenn noch keine da oder re-attached an vorhandene)
Weitere Screen Session wird mit Ctrl + a eröffnet.
Wechseln zwischen den Sessions mit Control-a [Nummer], wobei 0 die erste ist
Hilfe: Ctrl A ?
Liste aller Fenster in einer Session Ctrl A w
Von Session abmelden
''Ctrl-A d''
Danach aus ssh abmelden, die screen session läuft weiter. Von einem anderen Ort wieder per ssh auf die Arbeitsmaschine und dann wieder an die Session binden
''screen -d -R sessionname '' will resume a session that you started in a different location.
**Alle Screen Sesions auflisten**
screen -ls
**Session killen**
$ screen -X -S [session # you want to kill] quit
===== Shadow =====
Einfügen eines Passwort hashes
thommie@odysseus3:~> python -c "import crypt, getpass, pwd; \> print crypt.crypt('[klartext]', '\$6\$SALTsalt\$')"
$6$SALTsalt$0[hashwert]
===== update-alternatives =====
[[https://manpages.ubuntu.com/manpages/trusty/de/man8/update-alternatives.8.html|https://manpages.ubuntu.com/manpages/trusty/de/man8/update-alternatives.8.html]]
===== Diverses =====
Random string erzeugen
tr -dc A-Za-z0-9
===== Links =====
''ln -s /Zieldatei /Referenz
===== Code snippets =====
==== sed ====
replace "-d" with "-d "
sed s/-d/'-d '/g domains3.txt> domains4.txt
trim string and remove newlines
tr --delete '\n' domains3.txt