====== Shell Basics ====== [[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]] ===== Random string erzeugen ===== tr -dc A-Za-z0-9 ===== Links ===== ''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 " sed s/-d/'-d '/g domains3.txt> domains4.txt trim string and remove newlines tr --delete '\n' domains3.txt ===== Alte Kernels raus schmeissssen ===== 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