Stammtisch 2024-06-14: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
Zeile 109: Zeile 109:
 
Er hat zwar die '''Datei''' <code><$> '''.alias'''</code> erstellt (sie konnte anfangs ja nicht aufgerufen werden).
 
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.
+
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 feststellt.
  
 
Dieser Befehl gibt folgenden Inhalt aus:
 
Dieser Befehl gibt folgenden Inhalt aus:

Version vom 15. Juni 2024, 11:53 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:

  1. Skript: Skript Shelleinführung
  2. 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 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