Ich habe die größten Man-Seiten auf Linux erkundet, hier ist, was ich gelernt habe

Erfahren Sie, wie Sie die größten Man-Seiten auf Linux oder macOS finden und welche Erkenntnisse sie über die Systeme und deren Dokumentation offenbaren.
Ich habe mich neulich gefragt, wie groß verschiedene Man-Seiten sind. Einige sind so lang, dass sie unüberwindbar wirken, während andere kaum Details enthalten. Was kann ihre Größe uns über das Linux- oder macOS-System sagen, auf dem sie sich befinden?
Wie findet man die größten Man-Seiten?
Die Kommandozeile, die ich verwendet habe, um die größten Man-Seiten zu finden, sieht so aus:
du -a /usr/share/man | fgrep '.' | sort -rn | head -n 20
Hier passiert eine Menge, also lasse mich das erklären.
Standard-Man-Seiten befinden sich in einer Hierarchie, die bei /usr/share/man beginnt. Innerhalb dieses Verzeichnisses gibt es Unterverzeichnisse für jede Man-Sektion. Darin befinden sich einzelne Man-Seiten-Dateien wie /usr/share/man/man1/grep.1 und /usr/share/man/man4/ip.4.
Man-Seiten-Dateien können an verschiedenen Orten liegen; der Befehl manpath listet sie auf. Ich suche hier nach der „Standard“-Erfahrung und beschränke meine Suche auf /usr/share/man, wo die meisten Standardbefehle wohnen.
Der Befehl du, für „Disk Usage“, zeigt dir, wie viel Speicherplatz Dateien und Verzeichnisse einnehmen. Die Option -a listet alle Dateien und Verzeichnisse in der Hierarchie, zusammen mit ihrer Blockgröße. Die Blockgröße ist nicht ganz dasselbe wie die Dateigröße, aber für diesen Zweck kommt es nah genug.
Die Pipe zu fgrep entfernt die Verzeichnisse, die du meldet. Du kannst das auf bessere Weisen machen, aber in diesem speziellen Fall funktioniert es gut.
Die Pipeline verwendet dann sort mit den Optionen -r und -n, um die Ausgabe von du numerisch zu sortieren, mit den größten Zahlen oben. Das funktioniert, weil die Ausgabe von du die Größe als erstes Feld enthält.
Schließlich gibt head -n 20 die 20 größten Dateien aus. Du könntest die Anzahl variieren oder den ganzen Befehl durch einen Pager wie less ersetzen, um die vollständige Ausgabe zu erkunden.
Was sind die größten Man-Seiten?
Ich habe zwei relativ normale, Unix-ähnliche Betriebssysteme überprüft, um zu sehen, was ihre größten Man-Seiten sind:
- macOS 15
- Ubuntu 22
Auf macOS sah ich Folgendes:
Die größten Man-Seiten sind perltoc, perlapi, perlfunc, postconf und perldiag. Viel Perl!
Auf Ubuntu sind die Ergebnisse sehr unterschiedlich:
Beachte, wie Ubuntu seine Man-Seiten gzipped. Textdateien komprimieren oft sehr effizient, sodass sie viel weniger Platz beanspruchen. Aber die größten Seiten sind weniger auf Perl fokussiert und beinhalten Netzwerk- und Sysadmin-Utilities.
Was uns die größten Man-Seiten lehren können
Du kannst viel lernen, indem du sie liest, aber diese Seiten erzählen uns auch nützliche Dinge über Linux, macOS und welche Programme die schwergewichtigsten sind.
Perl ist umfassend dokumentiert
Auf macOS sind 4 der 5 größten Man-Seiten mit Perl verbunden. Ich habe überprüft, wie viele Perl-Man-Seiten es insgesamt gibt:
find /usr/share/man -name 'perl*'
214! Fast ein Drittel davon sind „Delta“-Seiten, wie die, die du mit man perl583delta erhältst:
Diese Seiten sind das Äquivalent zu Release-Notes und sind für viele Nebenversionsnummern der Sprache vorhanden. Das war eines der ersten Dinge, die ich während des Prozesses gelernt habe: Einige Man-Seiten entsprechen nicht direkt einem Befehl oder installiertem Programm.
Im Gegensatz dazu gibt es auf meiner Ubuntu-Maschine nur sechs perl*-Man-Seiten. Das hängt auch nicht wirklich mit der installierten Version von Perl zusammen. Auf macOS sehe ich Version 5.34.1 und auf Ubuntu ist es 5.34.0.
zsh ist so groß, dass es seine Man-Seiten in mehrere kleinere aufteilt
Auf macOS benutze ich zsh, und es stellt sich heraus, dass diese Shell gut in den Man-Seiten vertreten ist. In den Top 10 ist eine Man-Seite namens „zshcompsys“, und die Top 20 enthält auch zshcontrib und zshmodules. Wie Perl teilt zsh sein Handbuch in separate Seiten; „nur“ 16 davon.
Die zshcompsys-Seite hat gewaltige 5.000 Zeilen, die erklären, wie das Tab-Vervollständigungssystem von zsh funktioniert. Das Vervollständigungssystem ist unglaublich mächtig und konfigurierbar, daher ist es verständlich, dass diese Man-Seite so groß ist.
Das steht im Kontrast zu anderen Shells. Die Haupt-Man-Seite von bash ist immer noch groß: Platz #8 auf der Liste und knapp 5.000 Seiten. Aber es gibt nur eine andere bash-verwandte Man-Seite, bashbug, und die ist winzig, obwohl sie einen interessanten Befehl dokumentiert, mit dem du über die Kommandozeile einen Bug-Report einreichen kannst.
Andere Shells sind gut vertreten – tcsh ist auf Platz #9 der Liste und ksh auf Platz #20 – aber jede dieser Shells beschränkt sich auf nur eine einzige Man-Seite.
Mittlerweile, unter Linux, I.
Verwenden Sie Bash, und diese Shell hat die umfangreichste Man-Seite insgesamt. Das passt; ich habe kein zsh installiert und würde erwarten, dass die Man-Seiten der Shell zu den größten gehören.
curl ist das komplexeste "normale" Programm
Hier begann meine Reise, in der ich mich fragte, ob es ein anderes Programm gibt, das so kompliziert und gut dokumentiert ist wie curl. Der curl-Befehl hat so viele Optionen, um mit allen verschiedenen Funktionen von HTTP umzugehen, dass seine Man-Seite etwa 4.500 Zeilen unter Linux und etwa 6.500 unter macOS umfasst. Der Unterschied liegt wahrscheinlich an verschiedenen Versionen von curl (8.7.1 auf macOS, 7.81.0 auf Ubuntu), aber so oder so, es ist ein riesiges Handbuch.
Wenn Man-Seiten diese Größe erreichen, werden sie unhandlich. Im Fall von curl denke ich, dass es zwei bessere Alternativen gibt. Zuerst gibt es tldr, eine einfachere Alternative zu man, die sich auf Beispielsverwendungen konzentriert. Das macht sie aus curl:
Diese 32 Zeilen sind viel effizienter als die 6.000 in der Man-Seite! Die tldr-Seite erwähnt auch die zweitbeste Alternative: eine Online-Version der Man-Seite von curl.
macOS ist stärker auf Abschnitt 1 fokussiert
Die eigene Man-Seite von man beschreibt Abschnitt 1 als "Allgemeines Befehls-Handbuch." Auf macOS befinden sich 18 der 20 größten Man-Seiten in Abschnitt 1. Im Gegensatz dazu sind die größten Man-Seiten von Ubuntu viel vielfältiger und auf die Abschnitte 1, 3 (Bibliotheksfunktionen), 5 (Dateiformate) und 8 (Handbuch des Systemmanagers) verteilt.
Die Man-Seite von Abschnitt 8 für openvpn ist die zweitgrößte auf meinem System. Sie warnt die Leser sogar vor ihrer eigenen Länge!
Das widerspiegelt wahrscheinlich die primären Nutzer jedes Systems. macOS richtet sich an einen breiteren Verbrauchermarkt, sodass sogar seine Terminal-Man-Seiten auf Endbenutzerbefehle ausgerichtet sind. Linux spricht Programmierer, Sysadmins und Netzwerkbetreiber an, sodass seine niedrigeren Man-Seiten umfassender sind.
Mehr als alles andere habe ich wieder gelernt, neugierig zu sein
Was als eine nebensächliche Frage begann, die ich mir stellte, entwickelte sich zu einer Erkundung von Unix-Rabbit-Holes, in die ich zuvor nie eingetaucht bin. Ich kannte das Minimum über Man-Seiten, aber mein Verständnis der Abschnitte war begrenzt, und ich wusste überhaupt nicht über den Befehl manpath. Noch wichtiger ist, dass ich nicht viel über die Zusammensetzung der Man-Seiten auf meinen Systemen wusste und mir definitiv nicht klar war, wie viel Platz sie Perl oder git-config widmeten.
Diese Übung ließ mich nostalgisch auf meine früheren Tage mit Linux zurückblicken, als alles reif für das Erkunden war. Nach Jahren – sogar Jahrzehnten – der Nutzung ist es leicht, nachlässig zu werden und anzufangen, keine Fragen mehr zum zugrunde liegenden System zu stellen. Ich wurde daran erinnert, dass ein Blick hinter den Vorhang eine effektive Art des Lernens sein kann, und ich werde versuchen, meine neugierige Natur in Zukunft ein wenig mehr zu nähren.
Häufig gestellte Fragen
Was sind die wichtigsten Linux-Befehle?
Hier ist eine Übersicht der wichtigsten Linux-Befehle mit kurzen Beschreibungen:
- ls
- - Listet Dateien und Verzeichnisse im aktuellen Verzeichnis auf.
- cd
- Wechselt das Verzeichnis.
- pwd
- Gibt den aktuellen Verzeichnispfad aus.
- mkdir
- Erstellt ein neues Verzeichnis.
- rmdir
- Entfernt ein leeres Verzeichnis.
- rm
- Löscht Dateien oder Verzeichnisse.
- cp
- Kopiert Dateien oder Verzeichnisse.
- mv
- Verschiebt oder benennt Dateien oder Verzeichnisse um.
- touch
- Erstellt eine leere Datei oder aktualisiert das Datum einer vorhandenen Datei.
- cat
- Gibt den Inhalt einer Datei aus.
- less
- Zeigt den Inhalt einer Datei seitenweise an.
- tail
- Zeigt die letzten Zeilen einer Datei an.
- head
- Zeigt die ersten Zeilen einer Datei an.
- grep
- Durchsucht Dateien nach einem bestimmten Textmuster.
- find
- Sucht Dateien und Verzeichnisse nach bestimmten Kriterien.
- chmod
- Ändert die Berechtigungen für Dateien und Verzeichnisse.
- chown
- Ändert den Eigentümer von Dateien oder Verzeichnissen.
- ps
- Zeigt die derzeit laufenden Prozesse an.
- top
- Zeigt eine Echtzeitübersicht laufender Prozesse und deren Ressourcenverbrauch an.
- kill
- Beendet Prozesse durch die Angabe ihrer Prozess-ID (PID).
- df
- Zeigt den verfügbaren Speicherplatz auf Dateisystemen an.
- du
- Zeigt den Speicherplatzverbrauch von Dateien und Verzeichnissen an.
- ifconfig
- Zeigt Netzwerkschnittstellenkonfigurationen an.
- ping
- Testet die Erreichbarkeit eines Hosts im Netzwerk.
- wget
- Lädt Dateien aus dem Internet herunter.
- curl
- Überträgt Daten von oder zu einem Server.
- ssh
- Stellt eine sichere Verbindung zu einem entfernten Computer her.
- scp
- Kopiert Dateien sicher zwischen Computern.
- tar
- Archivieret Dateien in einem tar-Archiv.
- zip
- Komprimiert Dateien in einem ZIP-Archiv.
- unzip
- Entpackt ZIP-Archive.
- nano
- Ein einfacher Texteditor für die Kommandozeile.
- vim
- Ein leistungsstarker Texteditor für die Kommandozeile.
- alias
- Erstellt verkürzte Befehle oder benutzerdefinierte Befehle.
- history
- Zeigt die Befehlsgeschichte an.
- clear
- Löscht den Terminalbildschirm.
- exit
- Beendet die aktuelle Terminal-Sitzung.
- man
- Zeigt die Handbuchseite eines Befehls an.
- sudo
- Führt Befehle mit administrativen Rechten aus.
- apt-get
- Paketverwaltung für Debian-basierte Systeme (z.B. Ubuntu).
- yum
- Paketverwaltung für RPM-basierte Systeme (z.B. CentOS).
- git
- Versionskontrollsystem zur Verwaltung von Quellcode.
- docker
- Verwaltet Container und Containeranwendungen.
- systemctl
- Steuert Systemd-Dienste und -Einheiten.
- cron
- Plant automatisierte Aufgaben.
- netstat
- Zeigt Netzwerkverbindungen und -statistiken an.
- scp
- Sichere Kopie von Dateien über SSH.
- rsync
- Synchronisiert Dateien und Verzeichnisse zwischen Quell- und Zielort.
- echo
- Gibt Text oder Variablen aus.
- date
- Zeigt oder ändert das Datum und die Uhrzeit. Diese Befehle bilden die Grundlage für die Arbeit mit Linux-Systemen oder -Servern und sind für Benutzer aller Erfahrungsstufen von Bedeutung.
Was ist das beliebteste Linux?
Das beliebteste Linux-System ist MX Linux. Diese Distribution hat sich in den letzten 12 Monaten an die Spitze der Rangliste bei Distrowatch.com gesetzt, einer Plattform, die zahlreiche Linux-Distributionen präsentiert. Einige Gründe für die Beliebtheit von MX Linux sind:
- -
Benutzerfreundlichkeit
- : Es ist sowohl für Einsteiger als auch für erfahrene Nutzer leicht zu handhaben.
- Stabilität: Basierend auf Debian bietet es eine zuverlässige und stabile Grundlage.
- Leistung: MX Linux benötigt weniger Systemressourcen und läuft daher auch auf älterer Hardware gut.
- Aktive Community: Eine engagierte Benutzer- und Entwickler-Community unterstützt bei Fragen und Problemen. Diese Eigenschaften haben dazu beigetragen, dass MX Linux die erste Wahl für viele Linux-Anwender ist.
Wer bin ich Linux?
Um herauszufinden, welcher Benutzer Sie in einem Linux-System sind, geben Sie in der Kommandozeile den Befehl whoami
ein. Dieser Befehl gibt den aktuell angemeldeten Benutzernamen zurück. Hier sind einige wichtige Punkte dazu:
- -
Befehlsausführung
- : Öffnen Sie das Terminal und tippen Sie
whoami
- , gefolgt von der Eingabetaste.
- Benutzeridentifikation: Der zurückgegebene Name zeigt an, unter welchem Benutzerkonto Sie derzeit arbeiten.
- Sicherheitsaspekt: Es wird empfohlen, nicht dauerhaft als „root“ (der Superuser) zu arbeiten, um das Risiko von Fehlern und Sicherheitsproblemen zu minimieren. Dieser einfache Befehl ist ein effektives Werkzeug für die Benutzeridentifikation und die Verwaltung von Berechtigungen im Linux-Umfeld.
Ist Linux besser für Programmierer?
Für die Programmierung gibt es nichts Besseres als Linux. Hier sind einige Gründe, warum Linux für Programmierer vorteilhaft ist:
- -
Kommandozeile
- : Das Arbeiten mit der Kommandozeile fördert tiefere technische Kenntnisse und effizientere Programmierpraktiken.
- Zugänglichkeit von Tools: Entwickler-Tools und Software sind oft einfacher zu installieren und zu verwenden. Viele Open-Source-Entwicklungswerkzeuge sind für Linux optimiert.
- Stabilität und Anpassungsfähigkeit: Linux ist bekannt für seine Stabilität und Anpassungsfähigkeit, was es ideal für Entwicklungsumgebungen macht.
- Community und Support: Eine starke Community bietet Unterstützung und viele Ressourcen, um Probleme zu lösen und das Lernen zu fördern.
- Berufsvorteil: Kenntnisse in Linux sind in vielen Tech-Branchen gefragt und können deine Karrierechancen verbessern. Das Erlernen von Linux ist daher nicht nur eine nützliche Fähigkeit, sondern auch ein Schritt hin zur Verbesserung deiner Programmierfähigkeiten.
Bist du neugierig auf weitere Artikel wie Ich habe die größten Man-Seiten auf Linux erkundet, hier ist, was ich gelernt habe? Entdecke spannende Inhalte in der Kategorie Linux.
Schreibe einen Kommentar