Obter ajuda e informações de versão

Tradução automática provisória, não revisada. Em caso de dúvida, consulte a versão em inglês, que é a versão de referência.

O Kent responde a duas perguntas sem tocar em nenhum banco de dados: o que ele sabe fazer e qual versão ele é.

kent help e kent --help

Os dois listam cada comando e cada opção com uma descrição de uma linha do que fazem, e a saída é idêntica em qualquer um dos casos. Não há entre eles diferença alguma além de qual você acha mais natural digitar.

$ 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.

Essa listagem é tudo o que o Kent sabe fazer. Qualquer coisa que não apareça ali não é um comando que o Kent entenda. Veja Mensagens de erro e códigos de saída para o que acontece quando você tenta um, e o Roteiro do produto para o que pode ser acrescentado depois.

É também a listagem em que confiar acima desta página. O Kent a gera a partir da sua própria tabela de comandos, então ela não pode descrever um comando que o Kent não tem.

kent --version

Imprime a versão do próprio Kent e, em seguida, uma linha por biblioteca incluída nele. O Kent usa o código de banco de dados do Cordelia, uma camada SQLite compartilhada, a biblioteca de arquivamento que seus arquivos .kent usam e uma biblioteca base compartilhada. Duas delas incluem bibliotecas externas, e cada uma aparece logo depois da biblioteca que a inclui: o SQLite depois da camada SQLite, e as duas bibliotecas de compressão depois da biblioteca de arquivamento.

$ 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

Cada número vem da compilação do próprio componente, então eles se movem de forma independente. Um Kent compilado contra um Cordelia mais novo relata aqui essa versão mais nova do Cordelia sem que a versão do próprio Kent mude.

kent --devinfo

Imprime a mesma lista com um identificador de compilação após cada versão, que indica exatamente qual compilação de cada componente você tem. As bibliotecas externas mostram as mesmas versões de cima, porque cada uma é uma versão publicada fixa.

$ 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

Esta é a saída a citar ao relatar um problema. Veja Relatórios de erros e solicitações de recursos.

kent --license e kent --privacy

Esses dois imprimem um documento e saem. O --license imprime os termos sob os quais o Kent é distribuído; o --privacy imprime sua política de privacidade, que, em resumo, é que o Kent não faz conexões de rede, não coleta nada e lê e grava apenas os caminhos que você indica na sua própria linha de comando.

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

Os dois textos são compilados dentro do programa a partir dos mesmos arquivos que o projeto publica, de modo que a cópia que o Kent imprime não pode divergir da cópia neste site . Veja a Licença e a Política de privacidade.

O texto deles vai para a saída padrão em vez da saída de erro, porque é a saída que você pediu e não um diagnóstico. É isso que faz o encadeamento para o less acima funcionar.

Para onde vai a saída

A maioria dos comandos do Kent imprime tudo na saída padrão, mensagens de erro inclusive, então redirecionar a saída padrão para um arquivo captura uma transcrição completa:

$ kent info mydata.sqlite > report.txt

sqldump e archive são diferentes, deliberadamente: tudo o que imprimem, erros e avisos igualmente, vai para a saída de erro. Para o sqldump isso é essencial, porque, com --out omitido, o próprio script exportado ocupa a saída padrão, e uma mensagem impressa ali seria silenciosamente intercalada nele.

$ 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

Um erro interno não tratado também vai para a saída de erro, a partir de qualquer comando. Acrescentar 2>&1 captura tudo de uma vez, o que vale a pena fazer quando você está registrando a saída para anexar a um relatório de erro.

Veja também