Inhaltsverzeichnis

Shell Basics

http://www.gnu.org/software/bash/manual/bashref.html

https://www.shellscript.sh/

http://www.linux-services.org/shell/

GB keyboard

Screen

Siehe auch 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

Random string erzeugen

tr -dc A-Za-z0-9 </dev/urandom | head -c 25 ; echo ''

''ln -s /Zieldatei /Referenz

Find

Alle Dateien älter als 365 Tage finden

find /mnt/pve/sb_u203461/dump/ -mtime +365 -type f

Mit löschen:

find /mnt/pve/sb_u203461/dump/ -mtime +365 -type f -delete

Luxus Variante mit Backup

#!/bin/bash
path="/data/backuplog/"
timestamp=$(date +%Y%m%d_%H%M%S)    
filename=log_$timestamp.txt    
log=$path$filename
days=7

START_TIME=$(date +%s)

find $path -maxdepth 1 -name "*.txt"  -type f -mtime +$days  -print -delete >> $log

echo "Backup:: Script Start -- $(date +%Y%m%d_%H%M)" >> $log


... code for backup ...or any other operation .... >> $log


END_TIME=$(date +%s)

ELAPSED_TIME=$(( $END_TIME - $START_TIME ))

echo "Backup :: Script End -- $(date +%Y%m%d_%H%M)" >> $log
echo "Elapsed Time ::  $(date -d 00:00:$ELAPSED_TIME +%Hh:%Mm:%Ss) "  >> $log

sed

replace "-d" with "-d "

 <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>sed s/-d/'-d '/g domains3.txt> domains4.txt</font> 

trim string and remove newlines

 <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>tr --delete '\n' <domains2.csv> domains3.txt</font> 

Alte Kernels raus schmeissssen

<code> uname -mrs = current kernel dpkg –list | egrep -i –color 'linux-image|linux-headers' aptitude purge linux-image-5.10.0-{18,19,20}-amd64 update-grub reboot <code>