Ich verstehe , was GNU Info ist und wie es zu benutzen, aber was ist es für ? Warum existiert es parallel zu den Manpages? Warum nicht detaillierte Manpages schreiben, anstatt ein separates Hilfsprogramm bereitzustellen?
Die texinfo-Datei kann viel mehr als die groff-Makros.
Jordanien
15
Es hat einen Vorteil gegenüber Manpages: "Hyperlinks". Der Rest sind Nachteile, beginnend mit dem Not Invented Here-Syndrom, lustigen Tastenbelegungen, mühsamen Wartungsarbeiten und vielem mehr.
Jens
4
Verwenden Sie info --vi-keysdiese Option, um die Tastenkombinationen von info bekannter zu machen. Sie können auch verwenden , lessmit Informationen , um es genau wie fühlen man: info --subnodes -o - $1 | less. Auf diese Weise gehen jedoch einige Textformatierungen verloren.
1
Alternativ können Sie Ihren Browser auch auf gnu.org/manual richten . (Die Verwendung von Vimperator / Vrome ist optional.)
9.
Antworten:
63
GNU Info wurde entwickelt, um eine Dokumentation anzubieten, die umfassend und mit Hyperlinks versehen ist und in verschiedenen Formaten ausgegeben werden kann.
Manpages standen zur Verfügung und waren hervorragend für gedruckte Ausgaben geeignet. Sie wurden jedoch so gestaltet, dass jede Manpage einen relativ kleinen Inhalt hatte. Eine Manpage könnte die Diskussion über eine einzelne C-Funktion wie printf (3) haben oder den Befehl ls (1) beschreiben.
Das bricht zusammen, wenn Sie in größere Systeme geraten. Wie würden Sie die Dokumentation für Emacs in Manpages einfügen? Ein Beispiel für das Problem ist die Perl-Manpage, auf der 174 separate Manpages aufgelistet sind, die Sie lesen können, um Informationen zu erhalten. Wie können Sie das durchsuchen oder eine Suche durchführen, um herauszufinden, was && bedeutet?
Als Verbesserung gegenüber Manpages hat Info uns Folgendes geliefert:
Die Möglichkeit, ein einziges Dokument für ein großes System zu haben, das alle Informationen zu diesem System enthält. (gegenüber 174 Manpages)
Möglichkeit zur Volltextsuche im gesamten Dokument (v. Man -k prüft nur Schlüsselwörter)
Hyperlinks zu verschiedenen Teilen desselben oder verschiedener Dokumente (v. Der Abschnitt Siehe auch, der von einigen, aber nicht allen Manpage-Viewern zu Hyperlinks gemacht wurde)
Ein Index für das Dokument, der durchsucht werden kann oder bei dem Sie "i" drücken und einen Begriff eingeben können. Er durchsucht den Index und führt Sie an die richtige Stelle (v. Nothing).
Lineares Durchsuchen von Dokumenten über Konzepte hinweg, sodass Sie den vorherigen und den nächsten Abschnitt lesen können, wenn Sie möchten, entweder mit der Maus oder per Tastendruck (v. Nothing).
Ist es immer noch relevant? Heutzutage würden die meisten Leute sagen "Diese Dokumentation gehört nicht in eine Manpage" und würden es in ein PDF oder in HTML einfügen. Tatsächlich basieren die Hilfesysteme mehrerer Betriebssysteme auf HTML. Als jedoch GNU Info erstellt wurde (1986), existierte HTML noch nicht. Heutzutage können Sie mit texinfo PDF-, Info- oder andere Formate erstellen, sodass Sie diese Formate verwenden können, wenn Sie möchten.
man -K fooFührt mit der Option "Großbuchstaben" eine globale Volltextsuche durch. Versuchen Sie man -K global-apropos- es findet die Seiten für mansich, in Englisch und in der Landessprache.
Volker Siegel
1
Wie finden Sie heraus, was '&&' bedeutet? ... Sie sehen im Index: "man perl", von dort aus sehen Sie Übersicht, Tutorials, Referenzhandbuch, Interna, Sonstiges (Bücher, Community-Quellen, Lizenz, Änderungsprotokolle) (~ 40), sprachen- und plattformspezifische Dokumente. Von diesen, für '&&', sehe ich im Referenzabschnitt Syntax, Daten und Operatoren, als erste 3 Abschnitte, wie die meisten Sprachreferenzhandbücher. && sieht aus wie ein op, Also schaue ich in die Perlop-Manpage und der zweite Bildschirm listet alle Operatoren auf. Vergleiche das mit dem Herausfinden von Schlüsseln für --vi-mode arg zu 'info' ... viel Glück.
Astara
41
Der Grund, warum das Info-System erfunden wurde, ist die Notwendigkeit, aber ich denke, "Faulheit, Hybris und Ungeduld" sind eine ebenso gute Erklärung.
Ziel des GNU-Projekts war es, ein frei modifizierbares und frei verteilbares Betriebssystem und Tools zu entwickeln. Das traditionelle Unix-Man-System basierte auf dem nroff / troff-Dokumentformatierungssystem von Bell Labs, das zu der Zeit kommerzielle (nicht freie) Software war. Schließlich wurde dieses System rückentwickelt und ein kostenloser Ersatz namens groff geschaffen, aber das war einige Jahre nach dem Start des GNU-Projekts. Die vorherige Verwendung des man-Systems für die GNU-Dokumentation hätte also die Implementierung eines troff-Ersatzes erforderlich gemacht, ein großes Unterfangen.
Inzwischen war GNU Emacs das erste große Projekt von GNU und erforderte umfangreiche Dokumentation. Richard Stallman sah sich einem Berg von Arbeiten zur Implementierung des GNU-Systems gegenüber und suchte nach vorhandener Software, die er in seinem System verwenden konnte. TeX war bereits vorhanden und verfügte über leistungsstarke Dokumentformatierungsfunktionen. Im Gegensatz zu nroff / troff konnte TeX kostenlos verwendet und weitergegeben werden. Texinfo wurde als Dokumentationssystem entwickelt, um die Leistungsfähigkeit von TeX für gedruckte Handbücher und GNU Emacs für die Verarbeitung und das Lesen von Online-Dokumentationen zu nutzen. Der ursprüngliche Texinfo-Prozessor und der Info-Dokument-Browser wurden beide in Lisp geschrieben und liefen in Emacs. Die eigenständigen Texinfo-Dienstprogramme kamen einige Jahre später.
Wie die Wikipedia-Seite sagt , wurde TeXinfo als offizielle Dokumentation des GNU-Projekts von Richard Stallman entworfen. Es handelt sich um eine Reihe von Makros auf TeX, die zum Schreiben von Softwarehandbüchern entwickelt wurden. Ich denke, Stallman hielt Manpages für unzureichend für diese Aufgabe. Zwei Vorteile von Texinfo gegenüber Manpages bestehen darin, dass sie mit Hyperlinks versehen sind, und zweitens, dass sie sich aufgrund ihres Designs leicht in andere Formate konvertieren lassen.
ADDENDUM: Manpages sind zwar nicht unbedingt relevant für die Frage, sie gelten jedoch weiterhin als Standarddokumentationssystem für freie Unix-ähnliche Systeme, wie sie auf dem Linux-Kernel ausgeführt werden, und für die verschiedenen BSD-Varianten. Zum Beispiel fordern die Debian-Paketvorlagen das Hinzufügen einer Manpage für alle Befehle und auch die Lintian-Prüfung für eine Manpage. Texinfo ist außerhalb des GNU-Projekts noch nicht weit verbreitet.
+1 vor allem für den Hinweis zu Hypertext, der meiner Meinung nach ein wichtiger Grund war, sich von dem (damals mehr als jetzt) hardcopy-orientierten manFormat zu entfernen .
Tripleee
@ChristopherSchultz bearbeitet
Faheem Mitha
Ich bin an Bücher als Referenzmaterial gewöhnt. Ich kann sie von vorne bis hinten lesen. Wenn Handbücher und Bücher zum Verfassen von Dokumentationen nicht ausreichen, wären Computer und Sprachen niemals unterrichtet oder erlernt worden. Beim Lernen folgen die meisten einer Weiterentwicklung von niedrigem zu hohem Wissen mit komplexeren Themen, die auf einfacheren aufbauen. Bücher sind fast das, was jedes Kind lernt - sequentiell präsentierte Informationen. H-Links sind für die Fokussierung auf zufällige Themen von Interesse: Wenn Experte und Meister des Themas - Sie wissen, was Sie wollen, und Links können Sie schnell dorthin bringen. Zu Referenzzwecken und zum Lernen sind Links schlecht geeignet.
Astara
7
Aus praktischer Sicht infoist die detaillierteste von drei Ebenen der Referenzdokumentation:
Die drei Ebenen nehmen normalerweise im Detail zu:
--helpals gemeinsame Kommandooption - eine kurze Nutzungsübersicht , man- die klassischen Mann - Seiten, eine schnelle Referenz , und info- ein detaillierteres, GNU-speciffic Handbuch - die volle, offizielle Dokumentation .
Wenn eine infoSeite nicht verfügbar ist, enthält die Manpage normalerweise die vollständige Dokumentation.
Beachten Sie, dass die Manpage genau die gleichen Informationen enthält wie die --helpAusgabe für viele Befehle von GNU coreutils - zum Beispiel ls;
Vergleichen Sie ls --helpund man lssehen Sie, dass der Unterschied nur in der Formatierung besteht.
Der Standard- Info-Viewer ist info.
Es gibt komfortablere Alternativen wie für das Terminal pinfofür die GUI konqueror:
@mikeserv Ich habe die Unterantwort-Include-Funktion nicht gefunden. ;)
Volker Siegel
hmmm ... sehr interessant, außer dass Sie vergessen, helpals Befehl für eingebaute Bash-Befehle aproposund whatisals Mann mit Optionen für den praktischen Gebrauch zu erwähnen .
Ein Hyperlink ist kein Handbuch oder Buch. Ein Wiki? Vielleicht, aber Handbücher enthalten in der Offline-Welt niemals Hyperlinks. Sie kommen mit Referenzen (siehe Kapitel 38), aber es ist nicht gut, daraus zu lernen. Nachdem ich kürzlich das neuere C ++ - Buch gelesen habe, kann ich zustimmen, dass es Vorwärts- und Rückwärtsreferenzen verwendet, wenn Sie weitere Informationen zu einem Thema wünschen, das später behandelt wird. Sobald Sie das Buch gelesen haben, können diese Referenzen eine große Hilfe beim Finden von Dingen sein. Aber für jemanden, der neu in einem komplexen Programm ist? Ich bevorzuge jedes Mal ein Buch gegenüber einer verlinkten HTML- oder Infoseite.
Astara
Ich liebe Infoseiten. Sie sind viel Tutorial-ähnlicher als Manpages und daher für Anfänger viel einfacher. Versuchen Sie info sedund info grepund vergleichen Sie mit man sedund man grep. Manpages sind viel technischer und enthalten meist keine Beispiele. Es gibt Ausnahmen von dem, was ich gerade beschrieben habe, aber es gilt für die meisten Befehle, würde ich sagen.
Fernando Basso
3
1 - fortschrittliche, aber leichte Technologie
Manpages sind flach.
info ist ein Baum.
Beide bleiben textbasiert , sodass sie während der Systementwicklung auf niedriger Ebene verwendet werden können (im Gegensatz zu http, für das eine vollständige GUI und ein Browser erforderlich sind, bevor Sie sie verwenden können).
Dies ist auch nützlich, weil Linux auf vielen Rechnern mit geringen Ressourcen ausgeführt werden kann, z. B. das Material, das auf meinem Arduino von Atmel ausgeführt wird, in info.
(Verlauf: infoähnelt Gopher , wenn Sie sich daran erinnern. Es war das, was wir hatten, bevor wir alle in GUI-Betriebssysteme wechselten, und das World Wide Web explodierte. Ich erinnere mich, dass Gopher beim Finden von Informationen ziemlich gut funktionierte und es schnell ging und einfach. Es war leicht erweiterbar, vollständig textbasiert und schnell.)
Manpages können keine funktionsfähigen Hyperlinks enthalten. (Bei dieser Technologie ist das einfach nicht möglich.)
infokann und hat viele funktionsfähige Links von Knoten zu Knoten oder von Knoten zu Blatt, was das schnelle Navigieren in großen Handbüchern erheblich vereinfacht.
2 - enthält Inhalte, die nicht in Manpages gefunden wurden
Viele Standardpakete haben auch ein Schwester- Doc- Paket. Oft ist dieser Inhalt dann nur noch drinnen zu finden info.
In diesen Dokumentationspaketen werden Broschüren mit Informationen, Abschnitten und Unterabschnitten hinzugefügt. Im infoJargon heißen diese nodesund Knoten können andere nodesin einer Baumstruktur enthalten .
Es gibt Befehle um den Baum herum zu klettern, hier einige Beispiele:
einen Abschnitt aufbauen , zB von Abschnitt 2.1 zu Abschnitt 2
nächster Abschnitt (dh entlang der Verzweigungsspitzen von Seite zu Seite), z. B. von Abschnitt 2 zu Abschnitt 2.1 und ( vorausgesetzt, es gibt keinen Abschnitt 2.2 ) weiter zu Abschnitt 3
einen Abschnitt rechts , zB von Abschnitt 2 direkt zu Abschnitt 3, Abschnitt 2.1 überspringen
Wenn Sie lesen und zeilenweise nach unten scrollen, besuchen Sie alle Abschnitte jeder Broschüre.
Wichtige Befehle
l - gehe zurück - Kleinbuchstaben 'L', wie in l ast. Es ist wie die Schaltfläche "Zurück" in Ihrem Webbrowser. - Gehen Sie zurück zum letzten Knoten in diesem Fenster (anfangs haben wir nur ein Fenster). Wow, wir können das Dokumentfenster auch in zwei Hälften teilen!
d - my people - Gehe zum Hauptknoten ' d irectory'. - Dies ist die Oberseite des INFO-Baums. Enthält Links zu den Familien:
t - meine Familie - Wechseln Sie zum Knoten t op dieses Dokuments. - Im Allgemeinen das Inhaltsverzeichnis
u - meine Eltern - Go u p eine Ebene. Gehen Sie zB von Abschnitt 2.1 zu Abschnitt 2.
n - meine Geschwister - Gehe zum Knoten n ext auf dieser Ebene. zB Abschnitt 2 -> Abschnitt 3 (nicht 2.1)
p - meine Geschwister - Gehen Sie auf die p revious Knoten auf dieser Ebene. zB Abschnitt 3 -> Abschnitt 2
] - Meine Kinder - Gehen Sie zum nächsten Knoten im Dokument, z. B. Abschnitt 2 -> Abschnitt 2.1
[ - meine Kinder - Gehen Sie zum vorherigen Knoten im Dokument, z. B. Abschnitt 2.1 -> Abschnitt 2
Ich habe auch nicht wirklich verstanden, warum ich Informationen verwenden möchte. Ich hatte mich vorher darin versucht und fand es zuerst old-school. Da ich jedoch mehr Informationen für ein Autoconf- Projekt benötigte und mir vorgeschlagen wurde, dass sich hier die Dokumentation befindet, habe ich kürzlich einen weiteren Blick darauf geworfen.
Das erste, was ich tun musste, war herauszufinden, wie ich besser navigieren kann. Ich fand die Hilfe von H fast nicht hilfreich. Das war, bis ich bemerkte, dass ich in diese Hilfe runterscrollen konnte, aber dann gab es zu viel Verwirrung.
Also kopierte ich diese Hilfe und fügte sie in eine Gnote ein und versuchte zu verstehen, wie es infofunktionierte.
Als ich mehr erfuhr, schrieb ich ihre Hilfe für mich selbst um. Ich wollte wissen, was sie alle befehle waren und wie sie kategorisiert wurden.
Ich bemerkte, dass viele der Tastatureingaben mit zwei oder drei Methoden dupliziert wurden, um einen bestimmten Befehl auszuführen. Mir ist auch aufgefallen, dass das alles sehr nach Emacs aussieht.
Hier ist mein Spickzettel mit Info- Befehlen:
HELP - info - commands
#####################################################################################################################################################
Short list - 'basic' Info command keys (see below for full list)
C-g Cancel the current operation.
H Close this help window. (toggle help window)
q Quit Info altogether.
h Invoke the Info tutorial.
Move in this node
Up Move up one line.
Down Move down one line.
PgUp Scroll backward one screenful. - also backspace
PgDn Scroll forward one screenful. - also space
Home Go to the beginning of this node.
End Go to the end of this node.
TAB Skip to the next hypertext link.
/ Search forward for a specified string.
} Search for next occurrence.
{ Search for previous occurrence.
Move to other nodes
RET Follow the hypertext link under the cursor.
1...9 Pick the first...ninth item in this node's menu.
0 Pick the last item in this node's menu.
l Last in history. Go back to the last node seen in this window (initially we only have one window). (?? history)
d Go to the main 'directory' node. my people
the Info main menu - "This is the top of the INFO tree."
t Go to the top node of this document. my family Generally the table of contents
u Go up one level. my parent e.g. go from Section 2.1, to Section 2.
n Go to the next node on this level. my siblings e.g. section 2 -> section 3 (not 2.1)
p Go to the previous node on this level.
] Go to the next node in the document. my children e.g. section 2 -> section 2.1
[ Go to the previous node in the document. (?siblings)
m <name> Pick a menu item specified by name.
f Follow a cross reference specified by name.
g Go to a node specified by name.
i Search for a specified string in the index (if there is an index), and select the node referenced by the first entry found.
I Synthesize menu of matching index entries. ???
#####################################################################################################################################################
Full list - of commands available in Info windows:
Notes:
M- (meta) is Alt; (also you can use an Esc prefix instead of meta -hwj)
M-C- means hold both Ctrl and Alt down at same time
* Basic commands (listed above)
HELP
* H (get-help-window) Toggle display of help message
* h (get-info-help-node) Visit Info node '(info)Help' (this gets: man info )
CANCEL
* C-g C-x C-g M-C-g (abort-key) Cancel current operation (?? esc)
* q C-c (quit) Quit using Info
C-x C-c (quit) Quit using Info
WINDOWS
C-l (redraw-display) Redraw the display
x C-x 0 (delete-window) Delete the current window
C-x 1 (keep-one-window) Delete all other windows (leaving 1)
C-x 2 (split-window) Split the current window (into 2)
C-x t (tile-windows) Divide the available screen space among the visible windows
C-x ^ (grow-window) Grow (or shrink) this window
C-x o (next-window) Select the next window (other)
C-x C-b (list-visited-nodes) Make a window containing a menu of all of the currently visited nodes
C-x w (toggle-wrap) Toggle the state of line wrapping in the current window
VIEW OTHER FILE
C-x C-f (view-file) Read the name of a file and select it
C-x C-v (view-file) Read the name of a file and select it
SCROLL
C-v (scroll-forward-page-only) Scroll forward in this window staying within node ('v' looks like a down arrow)
M-v (scroll-backward-page-only) Scroll backward in this window staying within node (meta-v is the reverse, or up arrow)
* PgDn SPC (scroll-forward) Scroll forward in this window (at end moving to next node??)
* PgUp DEL C-h (scroll-backward) Scroll backward in this window (at end moving to next node??) (DEL = Backspace or Del)
M-C-v ESC PgDn (scroll-other-window) Scroll the other window
ESC PgUp (scroll-other-window-backward) Scroll the other window backward
CURSOR MOVEMENT (within a 'node' / page)
Right C-f ( forward-char) Move forward a character
Left C-b (backward-char) Move backward a character
M-b (backward-word) Move backward a word
M-f ( forward-word) Move forward a word
C-a (beginning-of-line) Move to the start of the line
C-e (end-of-line) Move to the end of the line
* Up C-p (prev-line) Move up to the previous line
* Down C-n (next-line) Move down to the next line
M-r (move-to-window-line) Move the cursor to a specific line of the window
* Home b ESC < (beginning-of-node) Move to the start of this node
* End e ESC > (end-of-node) Move to the end of this node
SEARCHING
/ (search) Read a string and search for it
s (search) Read a string and search for it
? (search-backward) Read a string and search backward for it
R (toggle-regexp) Toggle the usage of regular expressions in searches
S (search-case-sensitively) Read a string and search for it case-sensitively
* } C-x n (search-next) Repeat last search in the same direction
* { C-x N (search-previous) Repeat last search in the reverse direction
C-s (isearch-forward) Search interactively for a string as you type it
C-r (isearch-backward) Search interactively for a string as you type it
M-/ (tree-search) Search this node and subnodes for a string.
M-} (tree-search-next) Go to next match in Info sub-tree
M-{ (tree-search-previous) Go to previous match in Info sub-tree
JUMP TO NODE CROSS REFERENCES (underlined links to nodes)
* TAB (move-to-next-xref) Move to the next cross reference
BackTab M-TAB (move-to-prev-xref) Move to the previous cross reference (Shift-tab)
SELECT A NODE (hyperlink)
* RET (select-reference-this-line) Select reference or menu item appearing on this line
* 1 .. 9 (menu-digit) Select this menu item (link) # in this node's menu (this page's menu)
* 0 (last-menu-item) Select the last menu item (link) in this node's menu (this page's menu)
< (first-node) Select the first node in this file
> (last-node) Select the last node in this file
* d (dir-node) Select the 'dir' node (in all files?) the Info main menu - "This is the top of the INFO tree."
* t (top-node) Select the 'Top' node in this file Generally the table of contents
* u ( up-node) Select the 'Up' node in this file i.e. go from Section 2.1, to Section 2.
* n (next-node) Select the Next node i.e. section 2.1 -> section 2.2
* p (prev-node) Select the Prev node
* g <name> (goto-node) Read a node name and select it
* m <item> (menu-item) Read a menu item and select its node ???
C-x b (select-visited-node) Select a node which has been previously visited in a visible window (c-x=Window, back)
MOVE TO ANOTHER NODE (in the tree)
* [ (global-prev-node) Move backwards or up through node structure (tree within this file)
* ] (global-next-node) Move forwards or down through node structure (tree within this file)
* l (history-node) last - Select the most recently selected node
GET NODE INFORMATION
= (display-file-info) Show full file name of node being displayed
O (goto-invocation-node) Find the node describing program invocation
READ IN NEW MENUS
G <menus> (menu-sequence) Read a list of menus starting from dir and follow them ???
INDEX
* i (index-search) Look up a string in the index for this file (Search for a specified string in the index
(if there is an index), and select the node referenced by the first entry found.
, (next-index-match) Go to the next matching index item from the last 'i' command
* I (virtual-index) List all matches of a string in the index
C-x f (all-files) Show all matching files
FOOTNOTES
* f (xref-item) Read a footnote or cross reference and select its node
r (xref-item) Read a footnote or cross reference and select its node
M-C-f (show-footnotes) Show the footnotes associated with this node in another window
NUMERIC
C-u (universal-argument) Start (or multiply by 4) the current numeric argument
M-- (add-digit-to-numeric-arg) Add this digit to the current numeric argument
M-0 .. M-9 (add-digit-to-numeric-arg) Add this digit to the current numeric argument
MISC
M-x (execute-command) Read a command name in the echo area and execute it ?? pwd and ls don't work
#####################################################################################################################################################
The following text commands can only be invoked via M-x (Alt-x -hwj):
This is a list of longer commands that can be typed, all prefixed with Alt-x:
M-x scroll-forward-set-window Scroll forward in this window and set default window size
M-x scroll-backward-set-window Scroll backward in this window and set default window size
M-x scroll-forward-page-only-set-window Scroll forward in this window staying within node and set default window size
M-x scroll-backward-page-only-set-window Scroll backward in this window staying within node and set default window size
M-x down-line Scroll down by lines
M-x up-line Scroll up by lines
M-x scroll-half-screen-down Scroll down by half screen size
M-x scroll-half-screen-up Scroll up by half screen size
M-x prev-window Select the previous xwindow
M-x set-screen-height <number> Set the height of the displayed window
M-x find-menu Move to the start of this node's menu
M-x visit-menu Visit as many menu items at once as possible
M-x man <name of man page> Read a manpage reference and select it
M-x print-node Pipe the contents of this node through INFO_PRINT_COMMAND
M-x clear-search Clear displayed search matches
M-x describe-key <key combo> Print documentation for KEY (one line of documentation)
M-x where-is Show what to type to execute a given command
M-x describe-command Read the name of an Info command and describe it
M-x index-apropos Grovel all known info file's indices for a string and build a menu (grep widely, and make a menu of what is found)
M-x describe-variable Explain the use of a variable
M-x set-variable Set the value of an Info variable
M-x info-version Display version of Info being run
#####################################################################################################################################################
Commands available in the 'echo' area (i.e. at bottom of screen):
(M- (meta) = Fn (not alt) -hwj)
C-l (redraw-display) Redraw the display
C-g Esc (echo-area-abort) Cancel or quit operation
M-C-g (echo-area-abort) Cancel or quit operation
MOVE
C-a Home (echo-area-beg-of-line) Move to the start of this line
C-e End (echo-area-end-of-line) Move to the end of this line
C-b Left (echo-area-backward) Move backward a character
C-f Right (echo-area-forward) Move forward a character
M-b (echo-area-backward-word) Move backward a word
M-f (echo-area-forward-word) Move forward a word
COMMAND LINE COMPLETIONS
M-? ? (echo-area-possible-completions) List possible completions
M-C-v (echo-area-scroll-completions-window) Scroll the completions window
TAB SPC (echo-area-complete) Insert completion
RET LFD (echo-area-newline) Accept (or force completion of) this line
DELETE/YANK
C-d (echo-area-delete) Delete the character under the cursor
C-h DEL (echo-area-rubout) Delete the character behind the cursor
M-d (echo-area-kill-word) Kill the word following the cursor
M-DEL (echo-area-backward-kill-word) Kill the word preceding the cursor
C-k (echo-area-kill-line) Kill to the end of the line
C-x DEL (echo-area-backward-kill-line) Kill to the beginning of the line
C-y (echo-area-yank) Yank back the contents of the last kill
M-y (echo-area-yank-pop) Yank back a previous kill
INSERT
C-q (echo-area-quoted-insert) Insert next character verbatim
M-TAB (echo-area-tab-insert) Insert a TAB character
TRANSPOSE
C-t (echo-area-transpose-chars) Transpose characters at point (and move ahead by one)
NUMERIC ARGUMENTS ???
C-u (universal-argument) Start (or multiply by 4) the current numeric argument
M-- (add-digit-to-numeric-arg) Add this digit to the current numeric argument
M-0 .. M-9 (add-digit-to-numeric-arg) Add this digit to the current numeric argument
C-x o (next-window) Select the next window
info --vi-keys
diese Option, um die Tastenkombinationen von info bekannter zu machen. Sie können auch verwenden ,less
mit Informationen , um es genau wie fühlenman
:info --subnodes -o - $1 | less
. Auf diese Weise gehen jedoch einige Textformatierungen verloren.Antworten:
GNU Info wurde entwickelt, um eine Dokumentation anzubieten, die umfassend und mit Hyperlinks versehen ist und in verschiedenen Formaten ausgegeben werden kann.
Manpages standen zur Verfügung und waren hervorragend für gedruckte Ausgaben geeignet. Sie wurden jedoch so gestaltet, dass jede Manpage einen relativ kleinen Inhalt hatte. Eine Manpage könnte die Diskussion über eine einzelne C-Funktion wie printf (3) haben oder den Befehl ls (1) beschreiben.
Das bricht zusammen, wenn Sie in größere Systeme geraten. Wie würden Sie die Dokumentation für Emacs in Manpages einfügen? Ein Beispiel für das Problem ist die Perl-Manpage, auf der 174 separate Manpages aufgelistet sind, die Sie lesen können, um Informationen zu erhalten. Wie können Sie das durchsuchen oder eine Suche durchführen, um herauszufinden, was && bedeutet?
Als Verbesserung gegenüber Manpages hat Info uns Folgendes geliefert:
Ist es immer noch relevant? Heutzutage würden die meisten Leute sagen "Diese Dokumentation gehört nicht in eine Manpage" und würden es in ein PDF oder in HTML einfügen. Tatsächlich basieren die Hilfesysteme mehrerer Betriebssysteme auf HTML. Als jedoch GNU Info erstellt wurde (1986), existierte HTML noch nicht. Heutzutage können Sie mit texinfo PDF-, Info- oder andere Formate erstellen, sodass Sie diese Formate verwenden können, wenn Sie möchten.
Deshalb wurde GNU Info erfunden.
quelle
man -K foo
Führt mit der Option "Großbuchstaben" eine globale Volltextsuche durch. Versuchen Sieman -K global-apropos
- es findet die Seiten fürman
sich, in Englisch und in der Landessprache.Der Grund, warum das Info-System erfunden wurde, ist die Notwendigkeit, aber ich denke, "Faulheit, Hybris und Ungeduld" sind eine ebenso gute Erklärung.
Ziel des GNU-Projekts war es, ein frei modifizierbares und frei verteilbares Betriebssystem und Tools zu entwickeln. Das traditionelle Unix-Man-System basierte auf dem nroff / troff-Dokumentformatierungssystem von Bell Labs, das zu der Zeit kommerzielle (nicht freie) Software war. Schließlich wurde dieses System rückentwickelt und ein kostenloser Ersatz namens groff geschaffen, aber das war einige Jahre nach dem Start des GNU-Projekts. Die vorherige Verwendung des man-Systems für die GNU-Dokumentation hätte also die Implementierung eines troff-Ersatzes erforderlich gemacht, ein großes Unterfangen.
Inzwischen war GNU Emacs das erste große Projekt von GNU und erforderte umfangreiche Dokumentation. Richard Stallman sah sich einem Berg von Arbeiten zur Implementierung des GNU-Systems gegenüber und suchte nach vorhandener Software, die er in seinem System verwenden konnte. TeX war bereits vorhanden und verfügte über leistungsstarke Dokumentformatierungsfunktionen. Im Gegensatz zu nroff / troff konnte TeX kostenlos verwendet und weitergegeben werden. Texinfo wurde als Dokumentationssystem entwickelt, um die Leistungsfähigkeit von TeX für gedruckte Handbücher und GNU Emacs für die Verarbeitung und das Lesen von Online-Dokumentationen zu nutzen. Der ursprüngliche Texinfo-Prozessor und der Info-Dokument-Browser wurden beide in Lisp geschrieben und liefen in Emacs. Die eigenständigen Texinfo-Dienstprogramme kamen einige Jahre später.
quelle
Wie die Wikipedia-Seite sagt , wurde TeXinfo als offizielle Dokumentation des GNU-Projekts von Richard Stallman entworfen. Es handelt sich um eine Reihe von Makros auf TeX, die zum Schreiben von Softwarehandbüchern entwickelt wurden. Ich denke, Stallman hielt Manpages für unzureichend für diese Aufgabe. Zwei Vorteile von Texinfo gegenüber Manpages bestehen darin, dass sie mit Hyperlinks versehen sind, und zweitens, dass sie sich aufgrund ihres Designs leicht in andere Formate konvertieren lassen.
ADDENDUM: Manpages sind zwar nicht unbedingt relevant für die Frage, sie gelten jedoch weiterhin als Standarddokumentationssystem für freie Unix-ähnliche Systeme, wie sie auf dem Linux-Kernel ausgeführt werden, und für die verschiedenen BSD-Varianten. Zum Beispiel fordern die Debian-Paketvorlagen das Hinzufügen einer Manpage für alle Befehle und auch die Lintian-Prüfung für eine Manpage. Texinfo ist außerhalb des GNU-Projekts noch nicht weit verbreitet.
quelle
man
Format zu entfernen .Aus praktischer Sicht
info
ist die detaillierteste von drei Ebenen der Referenzdokumentation:Die drei Ebenen nehmen normalerweise im Detail zu:
--help
als gemeinsame Kommandooption - eine kurze Nutzungsübersicht ,man
- die klassischen Mann - Seiten, eine schnelle Referenz , undinfo
- ein detaillierteres, GNU-speciffic Handbuch - die volle, offizielle Dokumentation .Wenn eine
info
Seite nicht verfügbar ist, enthält die Manpage normalerweise die vollständige Dokumentation.Beachten Sie, dass die Manpage genau die gleichen Informationen enthält wie die
--help
Ausgabe für viele Befehle von GNU coreutils - zum Beispiells
;Vergleichen Sie
ls --help
undman ls
sehen Sie, dass der Unterschied nur in der Formatierung besteht.Der Standard- Info-Viewer ist
info
.Es gibt komfortablere Alternativen wie für das Terminal
pinfo
für die GUIkonqueror
:pinfo ls
konqueror info:ls
quelle
help
als Befehl für eingebaute Bash-Befehleapropos
undwhatis
als Mann mit Optionen für den praktischen Gebrauch zu erwähnen .info sed
undinfo grep
und vergleichen Sie mitman sed
undman grep
. Manpages sind viel technischer und enthalten meist keine Beispiele. Es gibt Ausnahmen von dem, was ich gerade beschrieben habe, aber es gilt für die meisten Befehle, würde ich sagen.1 - fortschrittliche, aber leichte Technologie
Manpages sind flach.
info
ist ein Baum.Beide bleiben textbasiert , sodass sie während der Systementwicklung auf niedriger Ebene verwendet werden können (im Gegensatz zu http, für das eine vollständige GUI und ein Browser erforderlich sind, bevor Sie sie verwenden können).
Dies ist auch nützlich, weil Linux auf vielen Rechnern mit geringen Ressourcen ausgeführt werden kann, z. B. das Material, das auf meinem Arduino von Atmel ausgeführt wird, in
info
.(Verlauf:
info
ähnelt Gopher , wenn Sie sich daran erinnern. Es war das, was wir hatten, bevor wir alle in GUI-Betriebssysteme wechselten, und das World Wide Web explodierte. Ich erinnere mich, dass Gopher beim Finden von Informationen ziemlich gut funktionierte und es schnell ging und einfach. Es war leicht erweiterbar, vollständig textbasiert und schnell.)Manpages können keine funktionsfähigen Hyperlinks enthalten. (Bei dieser Technologie ist das einfach nicht möglich.)
info
kann und hat viele funktionsfähige Links von Knoten zu Knoten oder von Knoten zu Blatt, was das schnelle Navigieren in großen Handbüchern erheblich vereinfacht.2 - enthält Inhalte, die nicht in Manpages gefunden wurden
Viele Standardpakete haben auch ein Schwester- Doc- Paket. Oft ist dieser Inhalt dann nur noch drinnen zu finden
info
.In diesen Dokumentationspaketen werden Broschüren mit Informationen, Abschnitten und Unterabschnitten hinzugefügt. Im
info
Jargon heißen diesenodes
und Knoten können anderenodes
in einer Baumstruktur enthalten .Es gibt Befehle um den Baum herum zu klettern, hier einige Beispiele:
Wenn Sie lesen und zeilenweise nach unten scrollen, besuchen Sie alle Abschnitte jeder Broschüre.
Wichtige Befehle
l - gehe zurück - Kleinbuchstaben 'L', wie in l ast. Es ist wie die Schaltfläche "Zurück" in Ihrem Webbrowser. - Gehen Sie zurück zum letzten Knoten in diesem Fenster (anfangs haben wir nur ein Fenster). Wow, wir können das Dokumentfenster auch in zwei Hälften teilen!
d - my people - Gehe zum Hauptknoten ' d irectory'. - Dies ist die Oberseite des INFO-Baums. Enthält Links zu den Familien:
t - meine Familie - Wechseln Sie zum Knoten t op dieses Dokuments. - Im Allgemeinen das Inhaltsverzeichnis
u - meine Eltern - Go u p eine Ebene. Gehen Sie zB von Abschnitt 2.1 zu Abschnitt 2.
n - meine Geschwister - Gehe zum Knoten n ext auf dieser Ebene. zB Abschnitt 2 -> Abschnitt 3 (nicht 2.1)
p - meine Geschwister - Gehen Sie auf die p revious Knoten auf dieser Ebene. zB Abschnitt 3 -> Abschnitt 2
] - Meine Kinder - Gehen Sie zum nächsten Knoten im Dokument, z. B. Abschnitt 2 -> Abschnitt 2.1
[ - meine Kinder - Gehen Sie zum vorherigen Knoten im Dokument, z. B. Abschnitt 2.1 -> Abschnitt 2
Ich habe auch nicht wirklich verstanden, warum ich Informationen verwenden möchte. Ich hatte mich vorher darin versucht und fand es zuerst old-school. Da ich jedoch mehr Informationen für ein Autoconf- Projekt benötigte und mir vorgeschlagen wurde, dass sich hier die Dokumentation befindet, habe ich kürzlich einen weiteren Blick darauf geworfen.
Das erste, was ich tun musste, war herauszufinden, wie ich besser navigieren kann. Ich fand die Hilfe von H fast nicht hilfreich. Das war, bis ich bemerkte, dass ich in diese Hilfe runterscrollen konnte, aber dann gab es zu viel Verwirrung.
Also kopierte ich diese Hilfe und fügte sie in eine Gnote ein und versuchte zu verstehen, wie es
info
funktionierte.Als ich mehr erfuhr, schrieb ich ihre Hilfe für mich selbst um. Ich wollte wissen, was sie alle befehle waren und wie sie kategorisiert wurden.
Ich bemerkte, dass viele der Tastatureingaben mit zwei oder drei Methoden dupliziert wurden, um einen bestimmten Befehl auszuführen. Mir ist auch aufgefallen, dass das alles sehr nach Emacs aussieht.
Hier ist mein Spickzettel mit Info- Befehlen:
quelle