Stammtisch 2024-06-14
14.06.2024 - 20:00 Uhr, Online-Stammtisch auf https://bbb.ch-open.ch/rooms/ulf-nm2-y26/join
wöchentlicher onlineStammtisch
Auf dem Stammtisch Mai 2020 beschlossener wöchentlicher Stammtisch jeden Freitag ab 20:00 Uhr anstelle des monatlichen Stammtisches im realen Leben.
Anwesende
- Holger
- Plocki
- Jos
- d'Michl
- Ulf
Themen
Daten dem Internet anvertrauen
Michael fragt, ob jemand die Seite WeTransfer kennt. Ulf empfiehlt, generell sensible Daten nicht ins Internet hochzuladen. Holger hat das als Tool der Mailanwendung Thunderbird schon verwendet ...
Ausfall von Julians Vortrag zum Thema Effiziente Tastaturnutzung
Da Julian privat nach wie vor verhindert ist, schlägt Ulf vor, den Termin in weitere Ferne zu verschieben und er versucht, Julian privat zu erreichen. Die Termine dieser geplanten Stammtischthemen#Geplante_Themen_Stammtisch werden von Ulf geändert.
Praxis-Stammtisch?
Michael fragt, ob Interesse besteht, sich einmal wieder real zu treffen. Wir wollen dem nachgehen; und wäre gut, wenn Michael die anderen ein wenig erinnert.
Kassenprüfung-Termin am 21.06.2024
Noch mal zur Erinnerung: Nächste Woche wird endlich die Kassenprüfung abgeschlossen. Daher wäre es gut, dass möglichst viele Mitglieder anwesend sind! :-)
Praxis-Übung zum Vortrag Plockis vom 07.06.2024
Hier noch einmal das Skript zu Plockis Vortrag und das Video:
- Skript: Skript Shelleinführung
- Video: Kleine Shelleinführung
Holger fragt, wie er sich einen Alias erstellen kann. Das hat Plocki letzte Woche wohlweislich noch nicht erwähnt, da es je nach genutzter Shell und auch in Abhängigkeit von der genutzten Distribution voneinander abweichen kann.
Holger teilt den Bildschirm und lässt sich das an der Konsole etwas erklären.
Zunächst möchte Ulf, dass er mit dem Befehl cat
die (versteckte) Datei .bashrc
öffnet. Was macht der Befehl cat? Siehe hier: Wiki Ubuntuusers cat.
Die Ausgabe sieht auf Holgers openSUSE Tumbleweed so aus:
<$> holger@aelbler:~> cat .bashrc # Sample .bashrc ['rc' steht (vermutlich) für 'resource' = Systemdateien werden beim Start eines Terminals verändert] # Copyright (c) SUSE Software Solutions Germany GmbH # There are 3 different types of shells in bash: the login shell, normal shell # and interactive shell. Login shells read ~/.profile and interactive shells # read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all # settings made here will also take effect in a login shell. # # NOTE: It is recommended to make language settings in ~/.profile rather than # here, since multilingual X sessions would not work properly if LANG is over- # ridden in every subshell. # Include local und sik Linux/Skripte/ path test -d ${HOME}/Linux/Skripte/ && test $(echo ${PATH} | grep ${HOME}/Linux/Skripte/) || export PATH=${PATH}:${HOME}/Linux/Skripte/ # change dir alias dir="ls -ahl" test -s ~/.alias && . ~/.alias || true export EDITOR=/usr/bin/joe holger@aelbler:~> cat .alias
Da heißt es (unter anderem) ins Deutsche übersetzt (mit https://deepl.com):
"Es gibt 3 verschiedene Arten von Shells in der Bash: die Login-Shell, die normale Shell und die interaktive Shell. Login-Shells lesen ~/.profile und interaktive Shells lesen ~/.bashrc. In unserem Fall ist /etc/profile der Quellcode von ~/.bashrc - daher werden alle Einstellungen, die hier vorgenommen werden, auch in einer Login-Shell wirksam werden. HINWEIS: Es wird empfohlen, die Spracheinstellungen in ~/.profile und nicht # hier vorzunehmen, da mehrsprachige X-Sitzungen nicht richtig funktionieren würden, wenn LANG in jeder # Subshell überschrieben würde."
Da Holger bislang keine (versteckte) Datei mit Namen .alias
angelegt und definiert hat, wird sie auch nicht gefunden. Aber es gibt schon eine (nicht versteckte) mit Namen alias, wie er später auf seinem Laptop, dem Zweitgerät feststellt; das muss Holger noch klären ...
<$> cat .alias cat: .alias: Datei oder Verzeichnis nicht gefunden
Bei Ulf schon ...
Nun war die Ursprungsfrage ja, wie Holger eine (versteckte) Alias-Datei (.alias) anlegen kann; in dieser können Befehle / Shortcuts hinterlegt, aber eben auch verändert, beziehungsweise neue Shortcuts erstellt werden.
Dazu öffnet Holger den Editor Joe (jeder andere wäre auch möglich, weicht dann aber in der Bedienung ab).
<$> joe .alias
Die Datei wird aber erst "angelegt", wenn sie auch gespeichert wurde!
Holger verlässt den Editor mittels Shortcut Strg + K, gefolgt von einem Q (Quit / Verlassen) wieder, wonach er gefragt wird, ob er die Änderung (in diesem Fall einfach nur die Erstellung der Datei .alias) übernehmen möchte, was er mit Y (Yes / Ja) übernimmt.
Was Holger (jetzt beim Schreiben des Protokolls) aber noch nicht weiß, ist folgendes: Es gibt eine versteckte Datei, nämlich die
<$> .alias
Die konnte anfangs ja nicht aufgerufen werden und musste auf Holgers Betriebssystem erst einmal mit dem Editor Joe erstellt werden. Aber es gibt (und gab schon davor) eine nicht versteckte Datei mit Namen alias, die folgenden Inhalt hat, in der also schon Alias eingetragen sind:
<$> holger@aelbler:~> alias alias +='pushd .' alias -- -='popd' alias ..='cd ..' alias ...='cd ../..' alias beep='echo -en "\007"' alias cd..='cd ..' alias dir='ls -ahl' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias ip='ip --color=auto' alias l='ls -alF' alias la='ls -la' alias ll='ls -l' alias ls='_ls' alias ls-l='ls -l' alias md='mkdir -p' alias o='less' alias rd='rmdir' alias rehash='hash -r' alias unmount='echo "Error: Try the command: umount" 1>&2; false' alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'
Holgers Betriebssystem openSUSE Tumbleweed hat jedenfalls schon eine Menge Alias hinterlegt ... Nun möchte er einen schon bestehenden Befehl modifizieren und zu der versteckten Datei .alias hinzufügen, nämlich den Befehl ping (Wiki Ubuntuusers.de).
Ulf und Plocki erklären, wie das geht:
<$> alias ping1='ping -c 1'
Obiger Befehl erstellt einen Alias mit Namen ping1 und setzt folgende Option dahinter:
c = count = der Abruf der aufgerufenen Adresse (wird nachher noch gezeigt) erfolgt nun nur noch einmal; normalerweise wäre das endlos, bis man mit Strg + C das händisch beenden würde. Würde statt der 1 eine 3 gesetzt, würde beim Host (zum Beispiel netcup.de) nicht nur ein-, sondern dreimal "angeklopft" werden. Holger erstellt gleich noch zwei weitere Alias, den ping2 und ping3.
Das bedeutet, dass ping1 bis ping3 nun mit Variablen definiert wurden, welche in der Datei .alias nun fest hinterlegt wurden. Sie sind jetzt jederzeit nutzbar. Hätte Holger diese Alias nicht neu angelegt, müsste er sie jedes mal (sogar schon in einem Unterfenster oder einer neuen Konsole) neu definieren, um sie nutzen zu können.
"Klopft man" nun bei einem Host (Internetanbieter) mit dem (nicht modifizierten) Standard-Befehl ping "an", sieht das so aus:
<$> holger@aelbler:~> ping www.xn--audiobibelne-olb.de PING www.xn--audiobibelne-olb.de (2a03:4000:61:63dc::19:3189) 56 Datenbytes 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=1 ttl=58 Zeit=14.8 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=2 ttl=58 Zeit=14.4 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=3 ttl=58 Zeit=14.6 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=4 ttl=58 Zeit=14.7 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=5 ttl=58 Zeit=14.5 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=6 ttl=58 Zeit=14.4 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=7 ttl=58 Zeit=14.4 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=8 ttl=58 Zeit=14.4 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=9 ttl=58 Zeit=14.4 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=10 ttl=58 Zeit=14.2 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=11 ttl=58 Zeit=14.9 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=12 ttl=58 Zeit=14.7 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=13 ttl=58 Zeit=14.5 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=14 ttl=58 Zeit=14.7 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=15 ttl=58 Zeit=14.6 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=16 ttl=58 Zeit=14.4 ms ... (endlos, bis händischer Abbruch!) ^C --- www.xn--audiobibelne-olb.de ping-Statistik --- 52 Pakete übertragen, 52 empfangen, 0% packet loss, time 51078ms rtt min/avg/max/mdev = 14.188/14.673/20.342/0.815 ms
Nutzt Holger aber den Alias ping3 sieht es so aus: $ holger@aelbler:~> ping3 www.xn--audiobibelne-olb.de PING www.xn--audiobibelne-olb.de (2a03:4000:61:63dc::19:3189) 56 Datenbytes 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=1 ttl=58 Zeit=15.1 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=2 ttl=58 Zeit=14.6 ms 64 Bytes von 2a03:4000:61:63dc::19:3189: icmp_seq=3 ttl=58 Zeit=14.4 ms --- www.xn--audiobibelne-olb.de ping-Statistik --- 3 Pakete übertragen, 3 empfangen, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 14.353/14.705/15.148/0.330 ms holger@aelbler:~>
Die Millisekunden-Zeiten (ms) weichen bei dem ping3 ab, da die Statistik schlechter gemittelt ist; je häufiger der Ping abgefragt wird, desto genauer ist der ermittelte Wert.
Um zu kontrollieren, ob die neu angelegten Alias ping1 bis ping3 hinterlegt wurden, ruft Holger den Befehl alias auf und findet sie:
$ holger@aelbler:~> alias alias +='pushd .' alias -- -='popd' alias ..='cd ..' alias ...='cd ../..' alias beep='echo -en "\007"' alias cd..='cd ..' alias dir='ls -ahl' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias ip='ip --color=auto' alias l='ls -alF' alias la='ls -la' alias ll='ls -l' alias ls='_ls' alias ls-l='ls -l' alias md='mkdir -p' alias o='less' alias ping1='ping -c 1' alias ping2='ping -c 2' alias ping3='ping -c 3' alias rd='rmdir' alias rehash='hash -r' alias unmount='echo "Error: Try the command: umount" 1>&2; false' alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi' holger@aelbler:~>
Und nachdem Holger mit dem Joe-Editor die Variablen ebenso auch in die zuvor erstellte Datei .alias eingetragen hat, sind sie auch dort hinterlegt.
$ holger@aelbler:~> joe .alias IW .alias (Modified) Row 4 Col 1 alias ping1='ping -c 1' alias ping2='ping -c 2' alias ping3='ping -c 3'
Zurück zur Übersicht