From 00fcd3127be8a010ec42b73eb8e3e39af11d07e9 Mon Sep 17 00:00:00 2001 From: Mathias Schneider Date: Tue, 8 Sep 2026 08:43:48 +0200 Subject: [PATCH] update --- ktouch/.local/share/ktouch/profiles.db | Bin 118784 -> 118784 bytes ktouch/custom_courses/bash.xml | 220 +++++++++++++++++++++++++ 2 files changed, 220 insertions(+) create mode 100644 ktouch/custom_courses/bash.xml diff --git a/ktouch/.local/share/ktouch/profiles.db b/ktouch/.local/share/ktouch/profiles.db index b208a980400880ccd8b5bd59e5e37a9562b2ff7a..6062cb532f60fcdf4d151d2dd51f8a83201716ff 100644 GIT binary patch delta 1535 zcma))PiP!f9LMMFWcIx`*~~ObMQEjCZNXw^li8iwWUDo{v9=~n*P6C*T6H@+e|A^) zA3L+sZCa-_F`k4MmZFCUODI$k0&%H1SkTgohvp=-9s~~};-wyX6p3%QPq27d7#^SB z_kDlw_xtgiD{XkC4apAhV0q^xc(8tceqxU|W~5T~xUM>$omO>iOjoV6n^PUzNNa{Y zo)}LiJ6jVg@>7dXM)((iU2W8TH(RS$^L5wvh1PmT1-Z^InZ1f6NG2zLCC|wbX-zUa z!`qHZr)PyIhfQG4_fzO{WZp>9Ml2_-jyk%b>V}?E$L(B7bv0+yFkCOCJNo6;+6O;9 zXWMBlVWg6(;pB8xw-dB;J?*J(GNsXrL^@%#z6=wsrEsq}#Bm&uH#vEec6CQSr~$#; z&JFk1)Zs(3#~fGeJ#mkd@6jjj%KARu#Qo*>ic71Uv`RBSlfnuBq{VPcC}ol`D$6&eX3CO75Z5U6U%g5EAQ^^8EXx{AU3Uw#Ye~Eo7&gg zR6qY!XDbAwtL<%Hw|QlQR{$V8V}o;?{JDHUx-SLN@X*@ObnN%oLTuOIw}W$Zn`47{ z>*@fef4C_`0N>xH`rA5ahqpiZnfv=`uyoD3%71!$8fdML!#y#2ar36Y---)={J62} z7Wj?lH=_?X;P+q#oIp3w3R*@Vp^K=3a_9`2LK8?w&!cD16DSJ*f`7ta;eB`)eg`}7 z3%CN8;S!vOHR!^#Fasyy7~Bt^h1;PR-HJY3Up^^>nB)X5A_H#mQUnpJ%a~hiB66PL z1x&KcQKyb~nOs8T9fn0r-ewLjg2_3?E_I(}76%cNp^eB}3@t>$ImTH;&M=%pUfRG1w@W8%wzH@bGQSTOfq(8&BKgy rUHuRXEIQLGU8aL%FqvTT5jw`pOnwoOgA5N~@)C3G=Qlb(fEoA?@yU*M delta 165 zcmV;W09yZmpa+1U2ap>94%ZHJ4iOEm4NDB?41)|Gvk?#j47VS=0p$Y&rU + + + BASH-Tippen + + Kurs zum Erlernen und Üben typischer Bash-Befehle, + Dateipfade, Optionen, Umleitungen, Pipes und Shell-Skripte. + Ausgelegt für eine deutsche QWERTZ-Tastatur. + + + + + Grundzeile und einfache Wörter + asdf jklö + +asdf jklö asdf jklö +fall lass das alles +date fasse lade +ls ls ls +pwd pwd pwd + + + + + Erste Bash-Befehle + g h r u i e n t + +ls +pwd +cd +clear +date +whoami +hostname +echo + + + + + Dateien und Verzeichnisse + m b c v x z + +ls -l +ls -a +pwd +cd .. +cd / +cd ~ +mkdir test +touch datei +rm datei +rmdir test + + + + + Pfade und Verzeichnisnavigation + / . - _ + +cd /tmp +cd /var/log +cd ~/Dokumente +ls ./datei +ls ../ +pwd +mkdir -p projekt/src +cd projekt +cd src +cd .. + + + + + Dateien kopieren und verschieben + p ö ä ü + +cp datei kopie +mv kopie archiv +mkdir archiv +cp datei archiv/ +mv archiv/kopie archiv/alt +rm archiv/alt + + + + + Optionen und lange Befehle + q w y ö ä ü + +ls -lah +ls --all +ls --human-readable +mkdir --parents projekt/src +cp --interactive datei ziel +rm --interactive datei + + + + + Ausgabe und Umleitungen + > < | & + +echo hallo +echo hallo > datei +cat datei +echo welt >> datei +cat < datei +cat datei | sort +cat datei | less +sleep 10 & + + + + + Pipes und Textverarbeitung + s o k f + +ls -l | less +ps aux | less +cat /etc/passwd | sort +grep root /etc/passwd +ls -l | grep txt +cat datei | wc -l +history | tail + + + + + Suchen mit find und grep + n d v + +find . -name "*.txt" +find /tmp -type f +grep hallo datei +grep -r hallo . +grep -i fehler log.txt +find . -type f | sort + + + + + Variablen und Umgebungsvariablen + $ = " ' { } + +name="Bash" +echo "$name" +echo "${name}" +home="$HOME" +echo "$home" +export EDITOR=vim +echo "$PATH" + + + + + Bedingungen und Rückgabewerte + [ ] ! - + +test -f datei +[ -f datei ] +[ -d projekt ] +[ ! -e alt ] +echo $? +command -v bash +which bash + + + + + Schleifen und kleine Skripte + for do done in if then fi + +for file in *.txt; do + echo "$file" +done + +if [ -f datei ]; then + echo "Datei vorhanden" +fi + + + + + Bash-Kommandos im Fließtext + + +mkdir -p ~/projekt/{src,bin,doc} +cd ~/projekt +touch src/main.sh +chmod +x src/main.sh +echo '#!/usr/bin/env bash' > src/main.sh +echo 'echo hallo' >> src/main.sh +./src/main.sh + + + + + Abschlussübung + + +#!/usr/bin/env bash + +projekt="$HOME/bash-training" +mkdir -p "$projekt" +cd "$projekt" || exit 1 + +for name in eins zwei drei; do + echo "$name" > "$name.txt" +done + +find . -type f -name "*.txt" | + sort | + while read -r file; do + echo "Datei: $file" + wc -l "$file" + done + + + +