Stammtisch 2024-06-14: Unterschied zwischen den Versionen
(→Praxis-Übung zum Vortrag Plockis vom 07.06.2024: Viele Änderungen, Links hinzugefügt, Missverständnisse ausgeräumt, Unterpunkt eingefügt) |
|||
Zeile 107: | Zeile 107: | ||
Was Holger (jetzt beim Schreiben des Protokolls) aber noch nicht weiß, ist folgendes: | Was Holger (jetzt beim Schreiben des Protokolls) aber noch nicht weiß, ist folgendes: | ||
− | Er hat zwar die | + | Er hat zwar die '''Datei''' <code><$> '''.alias'''</code> erstellt (sie konnte anfangs ja nicht aufgerufen werden). |
− | + | ||
− | + | Aber es gibt auch den '''Befehl''' (keine Datei) '''alias''', mit dem man die vom Betriebssystem schon vorkonfigurierten Alias aufrufen kann, wie er am nächsten Tag auf seinem Laptop, dem Zweitgerät feststellt. | |
− | |||
Dieser Befehl gibt folgenden Inhalt aus: | Dieser Befehl gibt folgenden Inhalt aus: | ||
<$> holger@aelbler:~> '''alias''' | <$> holger@aelbler:~> '''alias''' | ||
Zeile 138: | Zeile 137: | ||
Holgers Betriebssystem openSUSE Tumbleweed hat jedenfalls im Befehl ''alias'' schon eine Menge ''Pseudonyme'' hinterlegt. | Holgers Betriebssystem openSUSE Tumbleweed hat jedenfalls im Befehl ''alias'' schon eine Menge ''Pseudonyme'' hinterlegt. | ||
− | Das Wort "Alias" wird laut Duden übrigens im Plural | + | Das Wort "Alias" wird laut Duden übrigens auch im Plural als "die Alias" geschrieben, darf aber auch als "Alia'''se'''" notiert werden [https://www.duden.de/rechtschreibung/Alias Quelle: Duden zu "Alias"] ... |
---- | ---- |
Version vom 15. Juni 2024, 10:51 Uhr
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.
<$> 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:
Er hat zwar die Datei <$> .alias
erstellt (sie konnte anfangs ja nicht aufgerufen werden).
Aber es gibt auch den Befehl (keine Datei) alias, mit dem man die vom Betriebssystem schon vorkonfigurierten Alias aufrufen kann, wie er am nächsten Tag auf seinem Laptop, dem Zweitgerät feststellt.
Dieser Befehl gibt folgenden Inhalt aus:
<$> 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 im Befehl alias schon eine Menge Pseudonyme hinterlegt. Das Wort "Alias" wird laut Duden übrigens auch im Plural als "die Alias" geschrieben, darf aber auch als "Aliase" notiert werden Quelle: Duden zu "Alias" ...
Alias hinzufügen
Nun möchte Holger 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