Was ist das MAN-Dateiformat?
Dateien mit der Erweiterung .man enthalten Unix-Benutzerhandbücher, die im roff-Quellmarkup verfasst sind. Auf Man-Pages kann zugegriffen werden, indem der Befehl man gefolgt vom Namen eines Programms, einer Funktion oder eines Themas eingegeben wird. Der Quellcode verwendet das *man*-Makropaket - einen Satz von Direktiven mit Punkt-Präfix (.TH, .SH, .B, .TP), die man bei Bedarf über groff oder mandoc rendert. Das Öffnen einer .man-Datei in einem Texteditor zeigt dieses rohe Markup anstelle einer formatierten Seite; .man-Dateien unterstützen Formatierungsmakros zur Steuerung von Fettdruck, Kursivschrift, Einrückung und Tabellenlayout.
.man ist eine Klartextdatei und kann mit jedem Texteditor geöffnet werden, aber Benutzerhandbücher werden am häufigsten über das Systemwerkzeug man von der Kommandozeile aus aufgerufen. Viele grafische Systemumgebungen bieten verschiedene Werkzeuge zum Anzeigen von Man-Dokumenten an. Man-Pages können in folgende Abschnitte unterteilt werden:
- NAME - Name des Programms, Werkzeugs, der Bibliothek oder Funktion, gefolgt von einer Kurzbeschreibung
- SYNOPSIS - Parameter und Optionen für den Befehl und optional eine C-Funktionssignatur
- DESCRIPTION - detaillierte Beschreibung des Befehls und seiner Funktionen
- EXAMPLES - Beispiele für die Verwendung des Befehls
- SEE ALSO - eine Liste verwandter Funktionen oder Befehle
Unix/Linux-Benutzerhandbücher werden auf der Festplatte normalerweise nicht als .man-Dateien gespeichert. In der Regel werden Handbücher mit einem Suffix gespeichert, das angibt, zu welchem Abschnitt des Handbuchs die Datei gehört - zum Beispiel ls.1 oder printf.3 - und installierte Seiten sind typischerweise gzip-komprimiert als name.section.gz, was von man transparent dekomprimiert wird. Man-Pages sind in der Regel auf Englisch, obwohl einige Handbücher in verschiedenen Distributionen lokalisiert sind.
Man-Dokumente sind in nummerierte Abschnitte unterteilt. Der Befehl man zeigt standardmäßig den ersten passenden Eintrag aus 7 Abschnitten (Unix System V) oder 8 (Linux/BSD) an, welche sind:
- Allgemeine Befehle
- Systemaufrufe
- C-Bibliotheksfunktionen
- Spezialdateien und Gerätetreiber
- Dateiformate und Konfigurationsdateien
- Spiele und Bildschirmschoner
- Verschiedenes / Übersichtsseiten
- Systemadministration und Daemons (nur Linux/BSD)
Der Zugriff auf einen bestimmten Abschnitt erfordert die Eingabe von man abschnittsnummer name - zum Beispiel man 5 passwd. Die Handbuchausgabe kann zur leichteren Lesbarkeit an eine andere Anwendung umgeleitet werden, zum Beispiel an cat oder less.
Sicherheit
RISIKO: LOWEine Man-Page-Quelle ist Klartext und wird beim Anzeigen nicht ausgeführt. Die einzige theoretische Vorsicht ist, dass roff eine Turing-vollständige Makrosprache ist und groff historisch Parsing-Fehler aufwies, sodass das Rendern einer .man-Datei aus einer völlig unvertrauenswürdigen Quelle am besten mit dem sichereren, isolierten mandoc anstelle des vollständigen groff erfolgt. Im normalen Gebrauch (Lesen von Dokumenten aus Paketen und Projekten) ist eine .man-Datei harmlos; das Öffnen in einem Texteditor ist völlig sicher. Verwechseln Sie sie nicht mit einem obligatorischen Windows .man-Profil, bei dem es sich um einen Registry-Hive handelt, nicht um ein Dokument.
Formatdetails
kurz gefasst- Obligatorisches Windows 2000/XP Benutzerprofil - Die veraltete Windows .man-Datei ist ein schreibgeschütztes Roaming-Benutzerprofil (ein umbenannter NTUSER.DAT Registry-Hive) - nicht verwandt mit Unix-Man-Pages.
- FoxPro / dBASE Speicher-/Menüdatei - Einige alte DOS-Datenbankwerkzeuge verwendeten .man für kompilierte Menü- oder Memo-Daten; veraltet.
Programme zum Öffnen von MAN-Dateien
Technische Details
technische Spezifikation| Dateikodierung | ASCII oder UTF-8 Klartext; kein binärer Inhalt oder Byte-Order-Mark erforderlich |
| MIME-Typ | text/troff (primär); auch erkannt als application/x-troff-man oder text/plain |
| Markup-Sprache | roff/troff unter Verwendung des man-Makropakets (an-old Makros); Makroaufrufe mit Punkt-Präfix müssen am Zeilenanfang stehen |
| Titel-Makro | .TH (title header) - typischerweise die erste Zeile, die kein Kommentar ist; deklariert den Seitennamen, die Abschnittsnummer, das Datum und das Quellpaket |
| Standard-Abschnitte | NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXAMPLES, FILES, ENVIRONMENT, BUGS, SEE ALSO - jeweils eingeleitet durch ein .SH-Makro |
| Abschnittsnummerierung | 7 Abschnitte auf traditionellem Unix (System V); 8 auf Linux und BSD - Abschnitt 8 deckt Systemadministrationsbefehle ab |
| Typische Dateigröße | 1 KB - 100 KB; die meisten Seiten liegen zwischen 5 KB und 30 KB |
| Komprimierung auf Festplatte | Installierte Seiten sind üblicherweise gzip-komprimiert (z. B. ls.1.gz) und werden von man beim Lesen transparent dekomprimiert |
| Rendering-Engine | groff (GNU troff) unter Linux; mandoc unter BSD und modernem macOS, welches groff als Standard-Man-Renderer ersetzt hat |
| Gängige Dateibenennung | Die Erweiterung mit der Abschnittsnummer ist Standard auf der Festplatte (ls.1, printf.3, passwd.5); die Erweiterung .man wird hauptsächlich von Drittanbietern oder gebündelter Dokumentation verwendet |
| Installationspfad | /usr/share/man/manN/ unter Linux und BSD, wobei N die Abschnittsnummer ist; macOS verwendet /usr/share/man/ mit demselben Verzeichnislayout |
| Ausgabeformate | Terminal-Text über einen Pager (less), PostScript, PDF, HTML und Klartext - alle auf Anfrage von groff -T erzeugt |
| Verwandte Quellformate | mdoc (BSD-Alternative zum Makrosatz), pod2man (Perl POD zu man), Sphinx man builder und ronn (Markdown-zu-man-Konverter) |
| Entwickler / Ursprung | Bell Labs (ursprüngliches Unix-Man-System, 1971); man-Makros und groff werden vom GNU Project gepflegt |
| Veröffentlicht | 1971 (Unix Programmer's Manual, V1); man macros standardized through the 1970s-80s |
| Neueste Version | N/A (roff/man-macro convention; groff is the active implementation) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | man7.org |
MAN-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu MAN-Dateien.