www.wikidata.de-de.nina.az
Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos lateinisch commendare befehlen aus mit denen sich uber eine Shell das Betriebssystem bedienen lasst Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab Es existieren die beiden Hauptstromungen BSD und System V Viele Kommandos gibt es in mehreren Varianten auch die GNU Tools als freie Software sind weit verbreitet Die meisten Kommandos verfugen uber ein oder mehrbuchstabige Optionsschalter die die Funktionalitat verandern oder erweitern Viele grundlegende Kommandos sind durch Standards wie POSIX vereinheitlicht und daher auf fast allen Unix Varianten zu finden Inhaltsverzeichnis 1 Die Baukasten Philosophie 1 1 Unix Shells 1 1 1 Die wichtigsten Shells 1 2 Filter 1 3 Standard Ein Ausgabe 1 4 Ein Ausgabeumlenkung englisch I O redirection 1 5 Pipes 2 Kommandos Auswahl 2 1 Hilfe 2 1 1 Die Kommandos des Online Handbuchs 2 2 Dateioperationen 2 3 Verzeichnisse 2 4 Dateisystem 2 5 Benutzer und Rechteverwaltung 2 6 Textmanipulation 2 7 Texteditor 2 8 Netz 2 9 Kommunikation 2 10 Prozessmanagement 2 11 C Entwicklungssystem 2 12 Textsatzsystem 3 Literatur 4 Weblinks 5 QuellenDie Baukasten Philosophie BearbeitenDie grundlegende Philosophie der Unix Kommandos ist das Baukasten Prinzip Statt grosser alles konnender Programme fur ganze Aufgabengebiete werden kleine spezialisierte Kommandos fur elementare Aufgaben bereitgestellt die miteinander verknupft werden konnen um komplexere Aktionen durchzufuhren Im Folgenden wird in Klammern angegeben bei welcher Unix Variante das Kommando erstmals auftaucht beziehungsweise von der seine Verbreitung ausgeht und ob es in POSIX standardisiert ist V7 Das Kommando war erstmals im sogenannten Research Unix Version 7 von 1979 enthalten SysV Das Kommando war erstmals in AT amp T UNIX System V von 1983 enthalten BSD Das Kommando war erstmals in der Berkeley Software Distribution enthalten die ab 1977 entstand GNU Das Kommando gehort zu den GNU Core Utilities und war erstmals im GNU Betriebssystem enthalten SH Dies ist ursprunglich ein internes Kommando der Bourne Shell CSH Dies ist ursprunglich ein internes Kommando der C Shell POSIX Das Kommando ist in POSIX standardisiert u Das Kommando entstand unabhangig von der Entwicklung einer Shell oder eines Betriebssystems Unix Shells Bearbeiten Hauptartikel Unix Shell und Kommandozeile Unix Systeme werden traditionellerweise uber die Kommandozeile in einem Terminal oder dessen Emulation bedient Zwar gibt es auch Desktop Umgebungen fur Unix und unixartige Systeme jedoch wird von vielen Nutzern weiterhin die Kommandozeile bevorzugt Dies liegt mitunter daran dass die Shells Kommandozeileninterpreter unter Unix wesentlich leistungsfahiger sind als zum Beispiel der DOS Kommandozeileninterpreter Ausserdem ist eine Shell bei manchen Aufgaben einem grafischen Benutzerinterface uberlegen da durch die Shell Syntax zum Beispiel Ablaufsteuerung und Programmruckmeldungen einbezogen werden konnen was bei grafischen Anwendungen meist nicht moglich ist Neben der interaktiven Nutzung haben die Shells auch die Aufgabe so genannte Shellskripte auszufuhren Diese sind grob vergleichbar mit DOS Stapelverarbeitungsdateien sind jedoch aufgrund der wesentlich besseren Ausstattung der Unix Shells mit Kontrollstrukturen deutlich leistungsfahiger Insbesondere erlauben es die Shells mit einfacher Syntax die Kommando Bausteine zu verknupfen was bei DOS erst ab MS DOS 2 moglich ist neuere DOSe z B FreeDOS DCP in der Regel von Anfang an Im Gegensatz zu DOS Befehlen die oft einfach englische Worte sind z B TYPE FORMAT haben UNIX Befehle oft stark abgekurzte Namen ed w oder sogar Fantasienamen die nichts mit ihrer Wirkung zu tun haben z B awk less und erfordern oft eine schwierige Einarbeitung Die Shells enthalten einige eingebaute Kommandos hier einige Beispiele set SH POSIX Einstellen von Shelloptionen und Setzen von Shellargumenten read SH POSIX Lesen einer Zeile von der Eingabe und Speicherung in einer VariablenPOSIX standardisiert hierfur keine Pfade POSIX standardisiert hier lediglich dass ein POSIX kompatibles Programm namens sh existieren muss und dass es zwingend nach Eingabe von PATH getconf PATH aufgefunden werden muss Die wichtigsten Shells Bearbeiten sh Bourne Shell V7 war nicht die erste gilt aber als die Unix Shell csh C Shell BSD mit einer der Programmiersprache C ahnlichen Syntax ksh KornShell SysV Version ksh93 bildete den Ausgangspunkt fur die in POSIX standardisierte Shell bash Bash Bourne again shell GNU Weiterentwicklung der Bourne Shell und derzeit meistbenutzte Unix Shell Shell Voreinstellung bei den meisten GNU Linux Distributionen macOS 10 3 Solaris 11 Windows Subsystem for Linux und Cygwin tcsh TENEX C Shell u Weiterentwicklung der C Shell zsh Z Shell u beliebte ksh ahnliche Shell mit sehr vielen Merkmalen Weitere Shells siehe unter Unix Shells Filter Bearbeiten Hauptartikel Filter Software UNIX ist reichhaltig mit verschiedensten Filterprogrammen zur Bearbeitung von Datenstromen ausgestattet Dies insbesondere weil das in UNIX eingefuhrte Konzept der Pipeline sich geradezu dafur anbietet ganze Verarbeitungsketten aus solchen Filtern aufzubauen sed awk sort pg und viele andere mehr zahlen zu dieser Gruppe von Programmen Standard Ein Ausgabe Bearbeiten Unix Programme kennen drei Standardkommunikationswege Standardeingabe stdin Voreinstellung Tastatur Terminal Standardausgabe stdout Voreinstellung Bildschirm Terminal Standardfehlerausgabe stderr Voreinstellung Bildschirm Terminal Auf der Standardfehlerausgabe werden per Konvention Diagnose und Fehlermeldungen oder Warnungen ausgegeben Ein Ausgabeumlenkung englisch I O redirection Bearbeiten Man kann die Standardkommunikationswege umbiegen In der Regel tut man das um aus einer Datei zu lesen oder in eine Datei zu schreiben Eingabeumlenkung mit lt wc l lt test dat lt liest aus der Datei test dat und schreibt das Ergebnis in die Konsole Mit wc l Word Counter mit dem Argument Lines werden die Zeilen in der Konsole gezahlt und ausgegeben Ausgabeumlenkung mit gt ls gt dir dat Die Ausgabe von ls erfolgt in die Datei dir dat Ist diese bereits vorhanden dann wird sie uberschrieben Ausgabeumlenkung mit gt gt ls gt gt dir dat Die Ausgabe von ls wird an das Ende der Datei dir dat angehangt Umlenkung von Standarderror mit 2 gt wc l lt test dat 2 gt err log Fehlermeldungen werden in die Datei err log geschrieben nicht in der C Shell csh Das Prinzip der Ein Ausgabeumlenkung findet man auch im Betriebssystem MS DOS Pipes Bearbeiten Ein machtiges Hilfsmittel ist die Verwendung einer Pipe zur Ein und Ausgabeumlenkung lt Kommando1 gt lt Kommando2 gt Man kann mehrere Filter miteinander verknupfen hintereinander hangen In der Regel erwartet ein Filter die Eingabe von der Standardeingabe Tastatur Die Ausgabe erfolgt auf der Standardausgabe Bildschirm Beim Piping wird die Ausgabe eines Kommandos uber eine im Betriebssystem Kern implementierte Pipe in die Standardeingabe des folgenden Kommandos umgeleitet Beispiel grep Fidibus testdatei tr lower upper sort In der Datei testdatei werden mittels grep alle Zeilen gesucht und ausgegeben die das Wort Fidibus enthalten danach wandelt tr alle Kleinbuchstaben in Grossbuchstaben um und zum Schluss wird alles sortiert und auf dem Bildschirm ausgegeben Diese Art der Pipes nennt man anonyme Pipes Diese Form der Ein und Ausgabeumlenkung ist so alltaglich dass es eine Vielzahl an Kommandos gibt die erst durch diese Technik uberhaupt sinnvoll sind beispielsweise das oben genannte wc word count das ohne die Eingabeumleitung weg von der Tastatur hin auf eine Datei kaum ein Einsatzgebiet hatte Zur dahinterliegenden Technik ist zu bemerken dass die einzelnen Filter als jeweils eigene Prozesse gestartet werden und so quasi gleichzeitig ihre Arbeit verrichten wahrend die Pipes dafur sorgen dass die Filter bei Bedarf so aufeinander warten dass keine grosseren Mengen an Zwischenergebnissen anfallen die entsprechende Mengen an Speicherplatz in Anspruch nehmen wurden Fur komplexere Anwendungen lassen sich auch benannte Pipes FIFOs definieren auf die dann wie auf eine Datei zugegriffen werden kann mkfifo benannte Pipe anlegenBeispiel In einer Shell mkfifo Rohr ls gt Rohr Hier wird erst eine benannte Pipe namens Rohr angelegt und dann die aktuelle Verzeichnisliste in diese umgeleitet Achtung Das Offnen der benannten Pipe zum Schreiben bewirkt unter Umstanden dass das Programm blockiert weil es darauf wartet dass ein anderes Program die Pipe zum Lesen offnet und die darin wartenden Daten in Empfang nimmt Analoges passiert wenn eine Pipe zum Lesen geoffnet wird ehe ein anderes Programm dorthinein schreibt Danach in einer anderen Shell z B in einem anderen Fenster dd cat Rohr Hier wird der Inhalt von Rohr ausgelesen und auf der Standardausgabe ausgegeben Es erscheint also die Ausgabe von ls aus der ersten Shell in der Standardausgabe der zweiten Shell Danach kann die Pipe wie eine normale Datei geloscht werden dd rm Rohr Ein Einsatzgebiet ist etwa wenn ein Filter Daten von verschiedenen Quellen mischen will beispielsweise paste das zwei Dateien nimmt und zeilenweise nebeneinander ausgibt Kommandos Auswahl Bearbeitensiehe auch GNU Core Utilities Sammlung von grundlegenden Befehlszeilen Programmen unter freier Lizenz Hilfe Bearbeiten Das Unix Hilfesystem basiert wesentlich auf den so genannten Manpages fur manual page Handbuchseite Idealerweise liegt fur jedes Kommando jeden Aufruf der Programmierschnittstelle Systemfunktionen C Bibliothek und jede wichtige Konfigurationsdatei eine eigene man page vor Die Handbuchseiten sind zudem in durchnummerierte Bereiche unterteilt die unterschiedliche Schnittstellen abdecken Benutzerkommandos Administrations Kommandos C Funktionen etc Hilfeseiten sind im Format des Textsatzprogramms troff geschrieben daher kann neben der ASCII Textversion fur die Online Anzeige auch eine druckbare Version generiert werden Die Kommandos des Online Handbuchs Bearbeiten man V7 POSIX Handbuchseiten MANual page ruft die Hilfeseite fur ein bestimmtes Programm eine bestimmte Funktion etc auf whatis gibt eine einzeilige Kurzbeschreibung der Kommandos in der Regel die Zusammenfassungszeile der zugehorigen Hilfeseite apropos oder man k sucht in den Kurzbeschreibungen nach einer Zeichenfolge und gibt die passenden Eintrage samt Kurzbeschreibung zuruck Beispielsweise gibt apropos compiler alle Eintrage aus in denen das Wort compiler vorkommt Von GNU kommt ein alternatives Hilfssystem namens texinfo das auf Hypertext beruht Dieses ist in den Editor Emacs integriert es gibt aber auch einen reinen info Browser info GNU Handbuch zu einem KommandoDie Tendenz geht anscheinend dahin dass die GNU Programmierer die manual pages etwas stiefmutterlich behandeln und das vollstandigere und auch meistens korrektere Handbuch in Texinfo Form liefern Zunehmend werden fur GUI Programme auch HTML Seiten als Hilfedateien verwendet Folgendes ist eine unvollstandige Zusammenstellung wichtiger Unix Kommandos Dateioperationen Bearbeiten Der Umgang mit Dateien ist ein wesentlicher Teil der Arbeit am Computer Dementsprechend gibt es auch Unix Kommandos zum Umgang mit Dateien cp V7 POSIX Datei kopieren CoPy ls V7 POSIX Dateien in einem Verzeichnis anzeigen LiSt mv V7 POSIX eine Datei verschieben oder umbenennen MoVe ln V7 POSIX Erzeugen von Dateiverknupfungen LiNk rm V7 POSIX Loschen einer Datei ReMove tar V7 Archivierungsprogramm Tape ARchive Verzeichnisse Bearbeiten Dateien sind unter Unix wie eigentlich auf allen modernen Betriebssystemen in Verzeichnissen geordnet Unter Unix gibt es jedoch anders als etwa unter MS DOS oder Windows nur einen einzigen Verzeichnisbaum in den der Inhalt anderer Datentrager bei Bedarf an einer bestimmten Stelle im Baum eingehangt wird Zur Verzeichnisverwaltung stehen unter anderem folgende Befehle zur Verfugung mkdir V7 POSIX erzeugt ein neues Verzeichnis MaKe DIRectory rmdir V7 POSIX loscht ein leeres Verzeichnis ReMove DIRectory cd SH POSIX wechselt in ein anderes Verzeichnis Change Directory pwd V7 POSIX Anzeige des aktuellen Verzeichnispfades Arbeitsverzeichnis Print Working Directory Dateisystem Bearbeiten mkfs V7 Dateisystem erstellen MaKe FileSystem newfs BSD System V Dateisystem komfortabler erstellen fsck V7 Dateisystem uberprufen FileSystem ChecK mount V7 und umount V7 Dateisystem einhangen in den oder aushangen aus dem Verzeichnisbaum dd Kopieren Beschneiden und Umleiten von Datenstromen Disk Dump englisch fur Scheibe oder Platte und abladen oder wegwerfen df V7 POSIX Anzeige des freien Speicherplatzes in Filesystemen Disk Free du V7 POSIX Anzeige des benotigten Speicherplatzes von Dateien und Verzeichnissen Disk Usage Benutzer und Rechteverwaltung Bearbeiten Unix war von Anfang an ein Mehrbenutzerbetriebssystem beispielsweise kann MS Windows dies erst seit der NT Generation Das bedeutet dass verschiedene Benutzer am Rechner arbeiten konnen und voreinander abgeschottet werden Man kann anderen Benutzern erlauben oder verbieten auf bestimmte Dateien zuzugreifen Zusatzlich kann man Benutzer auch Gruppen zuordnen denen kollektiv bestimmte Zugriffsrechte gewahrt werden konnen Eine besondere Rolle spielt der Benutzer root Systemadministrator der als einziger Benutzer vollen Zugriff auf das System hat Jeder Benutzer hat typischerweise sein eigenes Heimatverzeichnis in welchem nur er und root Dateien anlegen und loschen kann Kommandos Auswahl su V7 sudo Benutzer wechseln standardmassig wird zu root gewechselt Substitute User useradd oder adduser SysV Einen neuen Benutzer anlegen w BSD Wer ist alles angemeldet Und was tun sie chsh BSD Anderung von Nutzerinformationen in etc passwd etc group etc who V7 POSIX Wer ist alles angemeldet chmod V7 POSIX Zugriffsrechte auf Dateien andern CHange MODe chown V7 POSIX Eigentumer und oder Gruppe andern CHange OWNer chgrp V7 POSIX Gruppenzugehorigkeit einer Datei andern CHange GRouP passwd V7 Benutzerpasswort andern siehe auch chsh id BSD POSIX Gibt Informationen zur eigenen Identitat aus Benutzername Benutzerkennung UID Name der primaren Benutzergruppe Nummer der primaren Benutzergruppe GID finger BSD Gibt Informationen uber den angemeldeten Benutzer heraus Auf vielen Systemen wegen Sicherheitsbedenken deaktiviert Textmanipulation Bearbeiten Eine der Starken von Unix sind seine vielen Zubehorprogramme insbesondere aber nicht nur zur Bearbeitung von Textdateien Die Starke beruht unter anderem darauf dass die Zubehorprogramme leicht uber pipes zusammengeschaltet werden konnen um komplexere Aufgaben zu erfullen cat V7 POSIX Ausgabe und oder Verkettung von Textdateien in der Kommandozeile conCATenate Englisch fur verknupfen 1 cut System V POSIX Auswahlen bestimmter Spalten bei der Ausgabe echo V7 POSIX Ausgabe grep V7 POSIX Anzeige aller Zeilen einer Textdatei die auf einen regularen Ausdruck passen head POSIX Ausgabe der ersten n Zeichen Zeilen des Inputs dies ist ublicherweise eine Datei tail BSD POSIX Ausgabe der letzten Zeilen des Inputs dies ist ublicherweise eine Datei less GNU und more POSIX seitenweise Ausgabe einer Textdatei paste System V POSIX Liest den Inhalt mehrerer Dateien zeilenweise und verbindet diese durch Verwendung des Trennzeichens Delimiter miteinander sort V7 POSIX nach bestimmten Kriterien sortieren strings BSD POSIX filtert druckbare Zeichenketten aus einer Binardatei sed V7 POSIX machtiges Werkzeug zur Textmanipulation Stream EDitor awk V7 POSIX programmierbares Werkzeug zur Datenverarbeitung Aho Weinberger Kernighan die Anfangsbuchstaben der Namen der Erfinder Texteditor Bearbeiten ed V7 POSIX der originale Unix Texteditor ex BSD POSIX der Vorlaufer des vi vi BSD POSIX VIsual editor vim u freie Weiterentwicklung von viNetz Bearbeiten ftp BSD Kommandozeilen Client fur File Transfer Protocol FTP mail V7 E Mail verschicken POSIX standardisiert mailx ping BSD schickt ein ping an einen anderen Rechner telnet BSD Client fur das Telnet Protokoll ssh u Shell fur verschlusselte Verbindungen und als scp Ubertragungen sicherer als Telnet bzw FTP Secure SHell rsh BSD Remote SHell netstat BSD Anzeige der Netzverbindungen ifconfig BSD NetzwerkschnittstellenkonfigurationKommunikation Bearbeiten talk POSIX mit einem anderen Benutzer unterhalten write V7 POSIX Nachricht an einen Benutzer schicken wall Nachricht an alle Benutzer eines Systems schicken Write ALL Prozessmanagement Bearbeiten at V7 POSIX Prozess spater starten zu at einem bestimmten Zeitpunkt cron V7 Prozess regelmassig starten POSIX standardisiert das Konfigurationswerkzeug crontab kill V7 POSIX Einen Prozess beenden oder andere Signale an ihn senden nice V7 POSIX und renice BSD POSIX Prioritat eines Prozesses andern nohup V7 POSIX bei Logout nicht beenden ps V7 POSIX Anzeige der laufenden Prozesse top u interaktive Anzeige der laufenden Prozesse Table Of Processes uname POSIX Ausgabe von Informationen uber Betriebssystem und RechnerC Entwicklungssystem Bearbeiten cc V7 C Compiler POSIX spezifiziert c99 als C 99 kompatiblen Compiler gcc GNU Die GNU Variante des C Compilers make V7 POSIX Programmgruppenverwaltung lint V7 C Code Uberprufung as V7 Assembler ld V7 Link Loader adb V7 Debugger gdb GNU Der GNU Debugger nm V7 Symbol Table objdump u Disassembler spezialisiert auf ELF Dateien size V7 Programmsegmentgrossen prof V7 Profiler lex V7 POSIX Lexical Analyser Generator yacc V7 POSIX Parser GeneratorTextsatzsystem Bearbeiten Unix wurde zusammen mit dem leistungsfahigen Textsatzsystem troff entwickelt das unter anderem Tabellen und Formelsatz ermoglicht Auch die Manualseiten konnen mit diesem System gesetzt werden nroff erlaubt die Ausgabe auf Textterminals und Zeilendrucker Das betriebssystemunabhangige TeX hat jedoch roff weitgehend abgelost Auch das GNU Hilfesystem texinfo arbeitet mit TeX fur die Druckausgabe troff V7 Makroorientiertes Textsatzsystem fur Fotosatzbelichter der Firma Wang deren Steuercodes grosse Ahnlichkeit mit den Belichtern der H Berthold AG haben nroff V7 Makroorientiertes System fur Terminal und Zeilendrucker groff GNU GNU Version von troff und nroff mit Erweiterungen fur die Ansteuerung von grafikfahigen Druckern eqn V7 Mathematischer Formelsatz fur troff Praprozessor neqn V7 Mathematischer Formelsatz fur nroff Praprozessor tbl V7 Tabellen fur troff und nroff Praprozessor pic u Einbinden von Bildern in troff Satzdaten Das Programm stammt ursprunglich aus der UNIX Documenters Workbench und war separat zu erwerben spell V7 RechtschreibprufprogrammLiteratur BearbeitenBrian W Kernighan Rob Pike Der UNIX Werkzeugkasten Programmieren mit UNIX Hanser Munchen 1986 ISBN 3 446 14273 8 deutsche Ubersetzung Michael Kofler Linux Kommandoreferenz Shell Befehle von A bis Z Rheinwerk Verlag Bonn 2016 ISBN 978 3 8362 3778 9 3 aktualisierte und erweiterte Auflage 2016 2 Auflage im Rheinwerk Verlag Weblinks BearbeitenUbersichtsseite Utilities der Open Group Sammlung freier Unix Werkzeuge fur Windows UNIX Referenzkarte fasst viele wichtige Befehle kurz zusammen Unix Akronymliste erklart die Herkunft der Namen vieler Unix Kommandos Unixbefehle fur Anfanger inkl Bildbearbeitung auf KommandozeilenebeneQuellen Bearbeiten concatenate Translation in LEO s English German Dictionary Abgerufen am 27 April 2023 Unix Befehle der GNU Core UtilitiesDateien chgrp chown chmod cp dd df dir dircolors install ln ls mkdir mkfifo mknod mv rm rmdir shred sync touch vdirText awk cat cksum comm csplit cut expand fmt fold head join md5sum nl od paste ptx pr sha1sum sed sort split sum tac tail tr tsort unexpand uniq wcShell basename chroot date dirname du echo env expr factor false groups hostid id link logname nice nohup pathchk pinky printenv printf pwd readlink seq sleep stat stty tee test true tty uname unlink users who whoami yes Abgerufen von https de wikipedia org w index php title Unix Kommando amp oldid 235828448