Wat is het MAN-bestandsformaat?
Bestanden met de extensie .man bevatten Unix-gebruikershandleidingen geschreven in roff bronopmaak. Handleidingspagina's (man-pages) kunnen worden geraadpleegd door het commando man in te voeren, gevolgd door de naam van een programma, functie of onderwerp. De broncode maakt gebruik van het *man*-macropakket - een set richtlijnen met een punt-prefix (.TH, .SH, .B, .TP) die man op aanvraag rendert via groff of mandoc. Het openen van een .man-bestand in een tekstverwerker toont deze ruwe opmaak in plaats van een geformatteerde pagina; .man-bestanden ondersteunen opmaakmacro's voor weergave om vetgedrukte tekst, cursief, inspringing en tabelindelingen te beheren.
.man is een platte tekstbestand en kan worden geopend met elke tekstverwerker, maar gebruikershandleidingen worden meestal geraadpleegd via de systeemtool man vanaf de opdrachtregel. Veel grafische systeemomgevingen bieden verschillende hulpmiddelen voor het bekijken van man-documenten. Handleidingspagina's kunnen worden onderverdeeld in de volgende secties:
- NAME - naam van het programma, de tool, bibliotheek of functie, gevolgd door een korte beschrijving
- SYNOPSIS - parameters en opties voor het commando, en optioneel een C-functiesignatuur
- DESCRIPTION - gedetailleerde beschrijving van het commando en zijn functies
- EXAMPLES - voorbeelden van hoe het commando kan worden gebruikt
- SEE ALSO - een lijst met gerelateerde functies of commando's
Unix/Linux-gebruikershandleidingen worden op schijf niet vaak opgeslagen als .man-bestanden. Meestal worden handleidingen opgeslagen met een achtervoegsel dat aangeeft tot welke sectie van de handleiding het bestand behoort - bijvoorbeeld ls.1 of printf.3 - en geïnstalleerde pagina's zijn doorgaans gzip-gecomprimeerd als name.section.gz, wat transparant wordt gedecomprimeerd door man. Handleidingspagina's zijn meestal in het Engels, hoewel sommige handleidingen op verschillende distributies zijn gelokaliseerd.
Man-documenten zijn onderverdeeld in genummerde secties. Het man-commando toont standaard de eerste overeenkomende vermelding uit 7 secties (Unix System V) of 8 (Linux/BSD), namelijk:
- Algemene commando's
- Systeemaanroepen (System calls)
- C-bibliotheekfuncties
- Speciale bestanden en apparaatstuurprogramma's
- Bestandsformaten en configuratiebestanden
- Games en screensavers
- Diversen / overzichtspagina's
- Systeembeheer en daemons (alleen Linux/BSD)
Toegang tot een specifieke sectie vereist het invoeren van man sectienummer naam - bijvoorbeeld man 5 passwd. De uitvoer van de handleiding kan worden omgeleid naar een andere applicatie voor gemakkelijker lezen, bijvoorbeeld naar cat of less.
Beveiliging & veiligheid
RISICO: LOWEen bronbestand van een handleidingspagina is platte tekst en wordt niet uitgevoerd bij het bekijken. De enige theoretische waarschuwing is dat roff een Turing-volledige macrotaal is en groff historisch gezien parsing-fouten heeft gehad, dus het renderen van een .man uit een volledig onbetrouwbare bron kan het beste worden gedaan met het veiligere, gesandboxte mandoc in plaats van de volledige groff. Bij normaal gebruik (het lezen van documentatie uit pakketten en projecten) is een .man-bestand onschadelijk; het openen in een tekstverwerker is volledig veilig. Verwar het niet met een Windows .man verplicht profiel, wat een register-hive is en geen document.
Formaatdetails
in een notendop- Windows 2000/XP verplicht gebruikersprofiel - Verouderd Windows .man-bestand is een alleen-lezen roaming gebruikersprofiel (een hernoemde NTUSER.DAT register-hive) - niet gerelateerd aan Unix man-pages; de oorspronkelijke betekenis van de db_naam.
- FoxPro / dBASE geheugen-/menubestand - Sommige oude DOS-databasehulpmiddelen gebruikten .man voor gecompileerde menu- of memogegevens; verouderd.
Programma's die MAN-bestanden openen
Technische details
diepe specificaties| Bestandscodering | ASCII of UTF-8 platte tekst; geen binaire inhoud of byte-order mark vereist |
| MIME-type | text/troff (primair); ook herkend als application/x-troff-man of text/plain |
| Opmaaktaal | roff/troff met gebruik van het man-macropakket (an-old macro's); macro-aanroepen met punt-prefix moeten aan het begin van een regel staan |
| Titelmacro | .TH (title header) - doorgaans de eerste regel die geen commentaar is; declareert de paginanaam, het sectienummer, de datum en het bronpakket |
| Standaardsecties | NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXAMPLES, FILES, ENVIRONMENT, BUGS, SEE ALSO - elk geïntroduceerd door een .SH-macro |
| Sectienummering handleidingspagina | 7 secties op traditionele Unix (System V); 8 op Linux en BSD - sectie 8 behandelt systeembeheercommando's |
| Typische bestandsgrootte | 1 KB - 100 KB; de meeste pagina's vallen tussen 5 KB en 30 KB |
| Compressie op schijf | Geïnstalleerde pagina's zijn gewoonlijk gzip-gecomprimeerd (bijv. ls.1.gz) en worden transparant gedecomprimeerd door man tijdens het lezen |
| Rendering-engine | groff (GNU troff) op Linux; mandoc op BSD en modern macOS, dat groff heeft vervangen als de standaard man-renderer |
| Gangbare bestandsnaamgeving | Sectienummer-extensie is standaard op schijf (ls.1, printf.3, passwd.5); de .man-extensie wordt voornamelijk gebruikt door documentatie van derden of gebundelde documentatie |
| Installatiepad | /usr/share/man/manN/ op Linux en BSD, waarbij N het sectienummer is; macOS gebruikt /usr/share/man/ met dezelfde mapstructuur |
| Uitvoerformaten | Terminaltekst via een pager (less), PostScript, PDF, HTML en platte tekst - allemaal op aanvraag geproduceerd door groff -T |
| Gerelateerde bronformaten | mdoc (BSD alternatieve macroset), pod2man (Perl POD naar man), Sphinx man builder en ronn (Markdown-naar-man converter) |
| Ontwikkelaar / oorsprong | Bell Labs (origineel Unix man-systeem, 1971); man-macro's en groff onderhouden door het GNU Project |
| Uitgebracht | 1971 (Unix Programmer's Manual, V1); man macros standardized through the 1970s-80s |
| Laatste versie | N/A (roff/man-macro convention; groff is the active implementation) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | man7.org |
MAN conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MAN-bestanden.