Home

UNIX-Befehle

Dies ist eine Zusammenstellung von nützlichen UNIX-Befehlen, die ich einerseits von früher von der Sun Sparcstation IPC her kenne und in neuerer Zeit seit MacOS X dazu gelernt habe. Getestet wurden sie insbesondere unter MacOS X 10.2.x. Die Auswahl ist subjektiv und kann beliebig erweitert werden. Die Verwendung einiger dieser Befehle setzt Sachverstand voraus und liegt im Verantwortungsbereich des Einzelnen.

Ausführlichere Informationen sind jeweils in den man-pages abrufbar (siehe man).

Die Befehle

Allgemeines

man Befehlsname
Zeigt die in UNIX vorhandenen Handbuchseiten (manual pages) zum gewünschten Befehl.
Siehe auch man man.
apropos Befehlsname/Stichwort
Sucht und zeigt den gewünschten und ähnliche Befehle an.
whatis Befehlsname
Zeigt eine Kurzübersicht zum gewünschten Befehl.

Dateien und Verzeichnisse

cat Dateiname
Zeigt den Inhalt einer Datei.
cd
change directory
Wechselt in ein neues Verzeichnis. Bsp.:
cd Verzeichnisname
cd .. wechselt eine Ebene höher (auch mehrere Ebenen gleichzeitig möglich: cd ../../..).
chmod
change file modes: Ändern der Benutzerrechte einer Datei.
chown
change file owner and group: Ändern des Eigentümers (und Gruppe) einer Datei.
cp
copy: Dateien kopieren.
grep
Suche nach Textmustern: Beispiel für die Verwendung von grep: ps -ax | grep cron listet die laufenden Cronjobs auf.
ls / ll / l
directory listing
Listet den Inhalt des aktuellen Verzeichnisses auf.
ls -a listet alle, auch unsichtbare Dateien auf.
ll stellt Zusatzinformationen dar (wie z.B. die Benutzerrechte, Eigentümer und Gruppe usw.). Es ist eine Verknüpfung auf ls -al.
l funktioniert wie ll, jedoch ohne die unsichtbaren Verzeichnisse anzuzeigen.
mkdir
make directoy: Neues Verzeichnis erstellen.
mv
move files: Dateien in ein anderes Verzeichnis verschieben.
pwd
path of working directory: Zeigt den Pfad des aktuellen Verzeichnisses.
rm
remove: Dateien löschen
rm -f löscht ohne Nachfrage. Die Option -r bewirkt rekursives Löschen, d.h. es wird der gesamte Inhalts eines Verzeichnisses gelöscht. Mit Vorsicht zu geniessen, weitere Infos siehe man pages.
Die Option -P löscht "sicher", indem die zu löschende Datei mit 0xff und 0x00 überschrieben wird.
tar Dateiname.tar
Entpackt eine tar-komprimierte Datei ("untar").

Systembefehle und Netzwerk

cal
Zeigt den Kalender des aktuellen Monats.
cal 2004 zeigt den Kalender für das Jahr 2004 und cal 09 1967 den September 1967 an.
clear
Löscht die Bildschirmanzeige des Terminals
date
Zeigt das Systemdatum und die Uhrzeit.
defaults read "Apple Global Domain"
Gibt gewisse Systemparameter aus.
df
disk free: Zeigt den freien Platz auf der Harddisk an.
diskutil info /
Zeigt Informationen zur Harddisk an (gesamter und freier Speicherplatz, mit welchem Dateisystem die HD formatiert ist usw.).
dmesg
Zeigt den Inhalt des System Message Buffers.
fsck
file system check: Test und Reparatur des Dateisystems.
Die Option -y beantwortet alle Fragen, ob repariert werden soll, mit ja ("yes"). Die Option -f erzwingt ("force") den File System Check auch bei aktiviertem JFS ("Journaling File System").
host -lvt any Domain
Liefert alle Hostinformationen der eingegebenen Domain.
ioreg -b
Gibt die in/out-Registry aus.
JFS - Journaling File System
Seit MacOS X 10.2.2 kann neben dem bisherigen HFS+ Diskformat ein sogenanntes Journaling File System freigeschaltet werden ("HFS+ Journaled"). Da die Aktivierung unter MacOS 10.2.x nur in der Serverversion im graphischen Frontend vorgesehen ist, muss das Terminal verwendet werden und folgendes eingegeben werden:
sudo diskutil enableJournal / : Einschalten des Journaling File Systems.
sudo diskutil disableJournal / : Ausschalten des Journaling File Systems.
Ab MacOS 10.3 kann JFS in den Systemeinstellungen aktiviert werden.
kill -n PID
Beendet den laufenden Prozess mit der Prozessnummer PID (diese kann mit top und ps ermittelt werden).
kill -3 PID entspricht einem normalen "Quit".
kill -9 PID erzwingt einen "Force Quit".
machine
Zeigt den Prozessortyp, z.B. ppc7450.
netstat
network status
netstat -w n aktualisiert die Informationen alle n Sekunden
netstat -f inet zeigt alle laufenden Internetverbindungen
ping DNS/Domain
ping -c 10 DNS sendet 10 Pings an die gewünschte Domain.
ps -auxc
Listet alle laufenden Prozesse auf.
shutdown -h now
Fährt den Computer sofort, ohne zeitliche Verzögerung herunter.
Benötigt Admin-Rechte (siehe sudo).
su, sudo
su = super user mit uneingeschränkten Rechten. Sollte nur von jemandem benutzt werden, der weiss, was er tut.
sudo -s = super user do. Aktiviert den Super-User nur temporär. Gewisse Befehle können nur mit sudo ausgeführt werden. Sudo kann nur von Benutzern aktiviert werden, die im sudoers-File eingetragen sind, m.a.W. die Admin-Rechte haben.
top -u
Ist ein Prozessmonitor, der alle laufenden Prozesse nach CPU-Last sortiert anzeigt und laufend aktualisiert.
top -us3 aktualisiert alle 3 Sekunden. Beendet wird top mit ctrl-c oder q.
traceroute DNS/Domain
Macht einen "Traceroute" zur gewünschten Domain.
uname -a
Liefert Informationen zum installierten System. Die Option -a liefert alle Informationen, so wie wenn -mnrsv eingegeben würde.
uptime
Zeigt die "Laufzeit" des Computers seit dem letzten Bootprozess
Bsp.: 12:40AM up 21 days, 13:56, 5 users, load averages: 0.10, 0.12, 0.15
who
Zeigt alle angemeldeten User.
whoami / who am i
Welcher der angemeldeten User bin ich?

Applikationen

bc -l
Ein "Taschenrechner" im Terminal. Die Option -l erlaubt Fliesskommaberechnungen. Beenden durch Eingabe von quit.
cal
Kalender. Siehe oben bei den Systembefehlen.
ftp
ftp startet ftp ("file transfer protocol")
open ftp-Serveradresse: Startet die ftp-Session
ls, cd usw. zum Navigieren
get "Dateiname": Dateien herunterladen
put "Dateiname": Dateien zum Server hochladen
close: Beendet die ftp-Session
bye: Beendet ftp
leave hhmm
Zeigt eine Erinnerung, dass es um die Uhrzeit "hhmm" Zeit ist abzuschalten.
leave +hhmm erinnert in h Stunden und m Minuten von jetzt an ans Abschalten: Time to leave!
Beendet wird leave am besten mit dem Befehl kill -3 PID.
ELIZA
Der Psychiater, der in jedem "UNIX-Computer" steckt -- genau genommen in EMACS:
Zuerst den Texteditor EMACS durch die Eingabe von emacs starten.
Um zur Befehlszeile unten zu gelangen ESC drücken, dann x eingeben.
Danach doctor eingeben und sich überraschen lassen bzw. via Tastatur mit Eliza reden. :-)
Alternative Variante, wenn EMACS noch nicht gestartet ist: emacs -f doctor eingeben.
EMACS
Ein Texteditor. In emacs sind einige interessante "Nebenprodukte" eingbaut:
emacs -f doctor: Startet eliza (siehe oben).
emacs -f tetris: Startet das altbekannte Spiel "Tetris".
emacs -f life: Startet das "Game of life".
emacs -f hanoi: Startet "Tower of Hanoi".
emacs -f dunnet: Startet "Dunnet", ein textbasiertes Adventure-Game.
emacs -f viper-mode: Startet einen vi-Emulator in emacs (siehe auch vi).
top
Ein Prozessmonitor. Siehe oben bei den Systembefehlen.
vi
Ein weiterer Texteditor. Zur Bedienung siehe man vi.
visudo
Eine Variante des Texteditors vi, die dazu dient, das sudoers-File zu editieren, indem nur ein Benutzer gleichzeitig die Datei öffnen und ändern kann. Beim Schliessen der Datei wird zudem eine Syntaxüberprüfung vorgenommen.

MacOS X Goodies

Bewegtes Hintergrundbild
In MacOS X kann der Bildschirmschoner als Hintergrundbild eingestellt werden. Dazu muss folgende Zeile im Terminal eingegeben werden (ohne Zeilenumbruch):
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &
Beenden mit kill -3 PID.
created: 20.9.2003
modified: 12.3.2004

Valid HTML 4.0!