Hilfe und Versionsinformationen abrufen

Vorläufige, ungeprüfte automatische Übersetzung. Im Zweifelsfall konsultieren Sie die englische Version, die als Referenzversion gilt.

Kent beantwortet zwei Fragen, ohne überhaupt eine Datenbank anzufassen: was es kann und welche Version es ist.

kent help und kent --help

Beide listen jeden Befehl und jede Option mit einer einzeiligen Beschreibung auf, und die Ausgabe ist in beiden Fällen identisch. Tippen Sie, was Ihnen natürlicher von der Hand geht.

$ kent help
kent works with Cordelia databases from the command line.

Usage:

    kent <command> [arguments]

The commands are:

    help
        print this message
    createdb <dbfilename>
        create an empty database, stamped with the schema version this build expects
    info <dbfilename>
        report the schema version and a row count for each table that holds rows
    details <dbfilename>
        as info, plus the tables it leaves out and the file's own attributes
    files <dbfilename>
        list the .FIT files the database was built from
    activities <dbfilename>
        list each recorded activity with its dates and sport
    sports <dbfilename>
        list the distinct sports and sub-sports present in the database
    verify <dbfilename>
        check the database's structure against the schema this build creates
    sqldump --in <dbfilename> [--out <outfile>] [--schema-only]
        write the database out as SQL that recreates it when replayed
    archive --in <dbfilename> --out <archive>
        write the database to a .kent archive, for other tools to read
    restore --in <archive> --out <dbfilename>
        rebuild a database from a .kent archive

The flags are:

    --version
        print kent's version, and the version of each library it was built against
    --devinfo
        the same, with each build's commit hash; quote this in a defect report
    --help
        print this message
    --license
        print the licence kent is distributed under
    --privacy
        print kent's privacy policy

See "man kent" for the full description of any command.

Diese Auflistung ist alles, was Kent kann. Was dort nicht steht, ist kein Befehl, den Kent versteht. Siehe Fehlermeldungen und Exit-Codes dafür, was beim Versuch passiert, und den Produkt-Fahrplan für das, was später hinzukommen könnte.

Sie ist auch die Auflistung, der eher zu trauen ist als dieser Seite. Kent erzeugt sie aus seiner eigenen Befehlstabelle, sie kann also keinen Befehl beschreiben, den Kent nicht hat.

kent --version

Gibt Kents eigene Version aus und dann eine Zeile je eingebauter Bibliothek. Kent nutzt Cordelias Datenbankcode, eine gemeinsame SQLite-Schicht, die Archivbibliothek, die seine .kent-Dateien verwenden, und eine gemeinsame Basisbibliothek. Zwei davon enthalten externe Bibliotheken, und jede steht direkt nach der Bibliothek, die sie enthält: SQLite nach der SQLite-Schicht und die beiden Kompressionsbibliotheken nach der Archivbibliothek.

$ kent --version
kent version 1.3.4 uses
    cordelia 1.3.3
    curan 1.0.0
    SQLite 3.53.4
    regan 1.1.0
    zlib-ng 2.3.3
    minizip-ng 4.2.2
    goneril 1.4.1

Jede Nummer stammt aus dem Build der jeweiligen Komponente und bewegt sich daher unabhängig. Ein Kent, das gegen eine neuere Cordelia gebaut wurde, meldet hier diese neuere Cordelia-Version, ohne dass sich Kents eigene Version ändert.

kent --devinfo

Gibt dieselbe Liste aus, mit einer Build-Kennung nach jeder Version, die genau angibt, welchen Build jeder Komponente Sie haben. Die externen Bibliotheken zeigen dieselben Versionen wie oben, weil jede eine feste veröffentlichte Version ist.

$ kent --devinfo
kent version 1.3.4-d9c6caf76b uses
    cordelia 1.3.3-1f754c95d6
    curan 1.0.0-200cf6264e
    SQLite 3.53.4
    regan 1.1.0-4b4934c37f
    zlib-ng 2.3.3
    minizip-ng 4.2.2
    goneril 1.4.1-06a94fe891

Das ist die Ausgabe, die Sie bei einer Problemmeldung angeben sollten. Siehe Fehlerberichte und Funktionswünsche.

kent --license und kent --privacy

Diese beiden geben ein Dokument aus und beenden sich. --license gibt die Bedingungen aus, unter denen Kent verteilt wird; --privacy gibt seine Datenschutzerklärung aus, die kurz gesagt besagt, dass Kent keine Netzwerkverbindungen aufbaut, nichts sammelt und nur die Pfade liest und schreibt, die Sie auf seiner eigenen Kommandozeile nennen.

$ kent --license | less
$ kent --privacy | less

Beide Texte werden aus denselben Dateien, die das Projekt veröffentlicht, in das Programm einkompiliert, sodass die von Kent ausgegebene Fassung nicht von der auf dieser Website abweichen kann. Siehe die Lizenz und die Datenschutzerklärung.

Ihr Text geht auf die Standardausgabe statt auf die Standardfehlerausgabe, denn er ist die Ausgabe, um die Sie gebeten haben, und keine Diagnose. Genau das lässt die Weiterleitung an less oben funktionieren.

Wohin die Ausgabe geht

Die meisten Kent-Befehle geben alles auf der Standardausgabe aus, Fehlermeldungen eingeschlossen, sodass eine Umleitung der Standardausgabe in eine Datei ein vollständiges Protokoll festhält:

$ kent info mydata.sqlite > report.txt

sqldump und archive verhalten sich bewusst anders: alles, was sie ausgeben, Fehler wie Hinweise, geht stattdessen auf die Standardfehlerausgabe. Für sqldump ist das wesentlich, denn bei weggelassenem --out belegt das exportierte Skript selbst die Standardausgabe, und eine dort ausgegebene Meldung würde stillschweigend hineingemischt.

$ kent sqldump --in old.sqlite > old.sql   # only the script lands in the file
$ kent sqldump --in old.sqlite 2> errors.txt   # only the messages land here

Ein unbehandelter interner Fehler geht ebenfalls auf die Standardfehlerausgabe, aus jedem Befehl. 2>&1 anzuhängen fängt alles auf einmal ab, was sich lohnt, wenn Sie Ausgaben für einen Fehlerbericht mitschneiden.

Siehe auch