# Weiteres

alias | Definiert eine Abkürzung, `unalias` entfernt eine Abkürzung.
cal | Kalenderprogramm, mit dem sich alle Tage seit Beginn der Zeitrechnung bestimmen lassen:
`user@sonne> cal 9 1752 September 1752 So Mo Di Mi Do Fr Sa 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30`
cksum | CRC-Prüfsumme (cyclic redundancy check) einer Datei berechnen.
`user@sonne> cksum archiv.tar.gz 2645260944 586426 archiv.tar.gz`
diff | Vergleicht zwei Dateien und gibt die Unterschiede aus.
`user@sonne> cat source1.txt Das ist das Original. Es wird erweitert werden. Das ist das Original. Es wurde erweitert. Hier die Erweiterung user@sonne> diff source1.txt source2.txt 2c2,3 < Es wird erweitert werden. --- > Es wurde erweitert. > Hier die Erweiterung`
`diff` hat vor allem in Kombination mit `patch` Bedeutung erlangt, wir werden darauf zurückkommen.
df,du | Informationen zur Auslastung der Festplatte.
`user@sonne> df Filesystem 1024-blocks Used Available Capacity Mounted /dev/hda3 1709661 1059753 561553 65% / /dev/hda7 200568 36008 164560 18% /msdos`
expr | Integer-Berechnung.
`user@sonne> expr 3 + 45 user@sonne> expr 3 \* 500 1500 user@sonne> expr 3 \< 5 1`
file | Versucht den Typ einer Datei zu erkennen.
`user@sonne> file linux.ps linux.ps: PostScript document text conforming at level 2.0`
free | Informationen über RAM und Swap.
`user@sonne> free total used free shared buffers cached Mem: 62768 60996 1772 37344 976 15524 Swap: 128516 15248 113268`
hash | Zeigt die Hashtabelle an. Ein einmal aufgerufenes Kommando wird mit seinem Pfad in einer Tabelle gehalten, um bei einem erneuten Aufruf den Zugriff zu beschleunigen, jetzt muss nicht erst PATH durchsucht werden.
`user@sonne> hash hits command 1 /bin/more 1 /usr/bin/patch 10 /bin/tar`
lpr | Zum Ausdruck von Dateien.
man | Zeigt die Manual Page zu seinem Argument an (Weiteres).
patch | Fügt Änderungen in eine Datei ein. Vor allem in der Programmierung werden sich die Quelldateien von Version zu Version unterscheiden. Um up to date zu sein, kann man sich jedes Mal den gesamten Sourcebaum neu besorgen. Das ist sicher nur für kleinere Quelltexte praktikabel. Viel günstiger wäre es ja, wenn man nur die tatsächlichen Änderungen holen und diese in die alten Dateien einpassen würde. Genau zu diesem Zweck wurde `patch` entwickelt. Das folgende Beispiel baut auf die Einführung zu `diff` auf:
`user@sonne> diff source1.txt source2.txt > s1-2.diff user@sonne> patch < s1-2.diff Hmm... Looks like a normal diff to me... File to patch: source1.txt Patching file source1.txt using Plan A... Hunk #1 succeeded at 2. done`
`source1.txt` und `source2.txt` besitzen nun denselben Inhalt. Das oben demonstrierte Vorgehen wird zum Beispiel bei der Verteilung neuer Kernelversionen genutzt. Anstatt ca. 30 MByte Daten zu übertragen, besorgt man sich das wenige kByte große `diff`-File.
printenv | Zeigt Umgebungsvariablen an (Environment).
`user@sonne> printenv PWD=/home/user WINDOWID=37748750 PAGER=less`
rdev | Dient zur Veränderung des Kernels, z.B. kann der default-Textmodus eingestellt oder (im Beispiel) der VGA-Modus verändert werden (wird hier auf 80x50 gesetzt):
`root@sonne> rdev -v /boot/vmlinuz -2`
set | Zeigt alle Shellvariablen an.
sum | Prüfsummenberechnung einer Datei.
`user@sonne> sum archiv.tar.gz 55618 573`
touch | Setzt die Modifikationszeit der als Argument übergebenen Dateien auf die aktuelle Systemzeit. Existiert die angegebene Datei nicht, wird eine leere Datei erzeugt.
tty | Zeigt den Device-Namen des aktiven Terminals an.
type | Gibt an, wie ein Kommando von der Shell interpretiert werden würde:
`user@sonne> type passwd passwd is /usr/bin/passwd user@sonne> type test test is a shell builtin`
uname | Liefert Informationen zum Betriebssystem.
`user@sonne> uname Linux user@sonne> uname -n sonne user@sonne> uname -r 2.2.13`
xhost | Steuert die Berechtigung zum Zugriff auf den X-Server (Beispiel).