Compare commits

..
24 Commits
Author SHA1 Message Date
Mathias Schneider 8ac612193a update 2026-11-04 13:14:47 +01:00
Mathias Schneider 0c8e2ac487 update 2026-11-02 17:34:09 +01:00
Mathias Schneider 44c074ac43 update 2026-11-02 11:53:44 +01:00
mathias2784 5e23e6b68d update 2026-10-22 08:23:31 +02:00
mathias2784 0040f3c7a9 update 2026-10-21 08:37:54 +02:00
Mathias Schneider 3d752f68d3 update 2026-10-17 08:06:30 +02:00
Mathias Schneider b9124bed93 update 2026-09-28 13:43:05 +02:00
Mathias Schneider 2a41d33d46 update 2026-09-28 13:23:54 +02:00
Mathias Schneider 11a5b4a8b3 update 2026-09-28 08:27:12 +02:00
Mathias Schneider 43e8ab16a2 update 2026-09-24 08:28:53 +02:00
Mathias Schneider 19f46ff5ef update 2026-09-23 08:22:39 +02:00
Mathias Schneider a51f396a93 update 2026-09-22 09:05:17 +02:00
Mathias Schneider f559c6393b update 2026-09-22 08:22:36 +02:00
Mathias Schneider fe7b1e71f9 update 2026-09-17 08:35:52 +02:00
Mathias Schneider 616d74fe26 update 2026-09-17 08:33:40 +02:00
Mathias Schneider b0f1641920 update 2026-09-15 08:41:19 +02:00
Mathias Schneider 1ec672ecd1 update 2026-09-14 09:01:25 +02:00
Mathias Schneider 8919f282f9 update 2026-09-09 08:46:44 +02:00
mathias2784 2e355f1520 update 2026-09-08 22:26:38 +02:00
Mathias Schneider cc88025b00 update 2026-09-08 16:48:52 +02:00
Mathias Schneider 00fcd3127b update 2026-09-08 08:43:48 +02:00
Mathias Schneider e84df26fbc update 2026-09-07 08:53:23 +02:00
Mathias Schneider 5279907a10 update 2026-09-03 08:36:12 +02:00
Mathias Schneider d33405d95a update 2026-09-02 08:53:46 +02:00
7 changed files with 226 additions and 46 deletions
Executable
+4
View File
@@ -0,0 +1,4 @@
git pull
git add .
git commit -m "update"
git push
+2 -2
View File
@@ -2,5 +2,5 @@
LastUsedProfileId=1
[Training]
RequiredAccuracy=90
RequiredStrokesPerMinute=100
RequiredAccuracy=92
RequiredStrokesPerMinute=150
View File
Binary file not shown.
+220
View File
@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE KTouchCourse>
<KTouchCourse>
<Title>BASH-Tippen</Title>
<Description>
Kurs zum Erlernen und Üben typischer Bash-Befehle,
Dateipfade, Optionen, Umleitungen, Pipes und Shell-Skripte.
Ausgelegt für eine deutsche QWERTZ-Tastatur.
</Description>
<Lessons>
<Lesson>
<Title>Grundzeile und einfache Wörter</Title>
<NewKeys>asdf jklö</NewKeys>
<Text>
asdf jklö asdf jklö
fall lass das alles
date fasse lade
ls ls ls
pwd pwd pwd
</Text>
</Lesson>
<Lesson>
<Title>Erste Bash-Befehle</Title>
<NewKeys>g h r u i e n t</NewKeys>
<Text>
ls
pwd
cd
clear
date
whoami
hostname
echo
</Text>
</Lesson>
<Lesson>
<Title>Dateien und Verzeichnisse</Title>
<NewKeys>m b c v x z</NewKeys>
<Text>
ls -l
ls -a
pwd
cd ..
cd /
cd ~
mkdir test
touch datei
rm datei
rmdir test
</Text>
</Lesson>
<Lesson>
<Title>Pfade und Verzeichnisnavigation</Title>
<NewKeys>/ . - _</NewKeys>
<Text>
cd /tmp
cd /var/log
cd ~/Dokumente
ls ./datei
ls ../
pwd
mkdir -p projekt/src
cd projekt
cd src
cd ..
</Text>
</Lesson>
<Lesson>
<Title>Dateien kopieren und verschieben</Title>
<NewKeys>p ö ä ü</NewKeys>
<Text>
cp datei kopie
mv kopie archiv
mkdir archiv
cp datei archiv/
mv archiv/kopie archiv/alt
rm archiv/alt
</Text>
</Lesson>
<Lesson>
<Title>Optionen und lange Befehle</Title>
<NewKeys>q w y ö ä ü</NewKeys>
<Text>
ls -lah
ls --all
ls --human-readable
mkdir --parents projekt/src
cp --interactive datei ziel
rm --interactive datei
</Text>
</Lesson>
<Lesson>
<Title>Ausgabe und Umleitungen</Title>
<NewKeys>&gt; &lt; | &amp;</NewKeys>
<Text>
echo hallo
echo hallo &gt; datei
cat datei
echo welt &gt;&gt; datei
cat &lt; datei
cat datei | sort
cat datei | less
sleep 10 &amp;
</Text>
</Lesson>
<Lesson>
<Title>Pipes und Textverarbeitung</Title>
<NewKeys>s o k f</NewKeys>
<Text>
ls -l | less
ps aux | less
cat /etc/passwd | sort
grep root /etc/passwd
ls -l | grep txt
cat datei | wc -l
history | tail
</Text>
</Lesson>
<Lesson>
<Title>Suchen mit find und grep</Title>
<NewKeys>n d v</NewKeys>
<Text>
find . -name "*.txt"
find /tmp -type f
grep hallo datei
grep -r hallo .
grep -i fehler log.txt
find . -type f | sort
</Text>
</Lesson>
<Lesson>
<Title>Variablen und Umgebungsvariablen</Title>
<NewKeys>$ = " ' { }</NewKeys>
<Text>
name="Bash"
echo "$name"
echo "${name}"
home="$HOME"
echo "$home"
export EDITOR=vim
echo "$PATH"
</Text>
</Lesson>
<Lesson>
<Title>Bedingungen und Rückgabewerte</Title>
<NewKeys>[ ] ! -</NewKeys>
<Text>
test -f datei
[ -f datei ]
[ -d projekt ]
[ ! -e alt ]
echo $?
command -v bash
which bash
</Text>
</Lesson>
<Lesson>
<Title>Schleifen und kleine Skripte</Title>
<NewKeys>for do done in if then fi</NewKeys>
<Text>
for file in *.txt; do
echo "$file"
done
if [ -f datei ]; then
echo "Datei vorhanden"
fi
</Text>
</Lesson>
<Lesson>
<Title>Bash-Kommandos im Fließtext</Title>
<NewKeys></NewKeys>
<Text>
mkdir -p ~/projekt/{src,bin,doc}
cd ~/projekt
touch src/main.sh
chmod +x src/main.sh
echo '#!/usr/bin/env bash' &gt; src/main.sh
echo 'echo hallo' &gt;&gt; src/main.sh
./src/main.sh
</Text>
</Lesson>
<Lesson>
<Title>Abschlussübung</Title>
<NewKeys></NewKeys>
<Text>
#!/usr/bin/env bash
projekt="$HOME/bash-training"
mkdir -p "$projekt"
cd "$projekt" || exit 1
for name in eins zwei drei; do
echo "$name" &gt; "$name.txt"
done
find . -type f -name "*.txt" |
sort |
while read -r file; do
echo "Datei: $file"
wc -l "$file"
done
</Text>
</Lesson>
</Lessons>
</KTouchCourse>
-9
View File
@@ -1,9 +0,0 @@
yes J | sudo pacman -Syu
yes J | sudo pacman -Syu
yes J | sudo pacman -Syu && echo "done"
yes J | sudo pacman -Syu && echo "done"
Der, die, das
Der, die, das
Eine Dose voller Soße
Eine Dose voller Soße
Eine Dose voller Soße
-35
View File
@@ -1,35 +0,0 @@
[duration]
radio_lesson=false
radio_time=true
radio_token=false
spin_time=3
spin_token=500
[error]
check_beep=true
check_correct=true
check_stop=true
[lesson]
combo_theme=
list_open=19
list_own=1
list_training=4
tab_current=0
[main]
check_illustration=true
language_layout=de_qwertz_win
language_lesson=de_de_qwertz
[mainwindow]
pos=@Point(0 0)
size=@Size(1920 1046)
[support]
check_border=true
check_helpers=true
check_path=true
check_selection=true
check_selection_start=true
check_status=true