h1. Using the console

h2. Viewing available commands

To see a list of the available commands in the console press the {{<tab>}} key at the prompt.

{code}
root@root> Display all 182 possibilities? (y or n)
*:help                           addurl                           admin:change-opts
admin:change-rmi-registry-port   admin:change-ssh-port            admin:connect
admin:create                     admin:destroy                    admin:list
admin:rename                     admin:start                      admin:stop
bundle-level                     cancel                           cat
change-opts                      change-rmi-registry-port         change-ssh-port
clear                            commandlist                      config:cancel
config:edit                      config:list                      config:propappend
config:propdel                   config:proplist                  config:propset
config:update                    connect                          create
create-dump                      destroy                          dev:create-dump
dev:dynamic-import               dev:framework                    dev:print-stack-traces
dev:restart                      dev:show-tree                    dev:watch
display                          display-exception                dynamic-import
each                             echo                             edit
exec                             exports                          features:addurl
features:info                    features:install                 features:list
features:listrepositories        features:listurl                 features:listversions
features:refreshurl              features:removerepository        features:removeurl
features:uninstall               framework                        get
grep                             head                             headers
help                             history                          if
imports                          info                             install
jaas:cancel                      jaas:commandlist                 jaas:list
jaas:manage                      jaas:roleadd                     jaas:roledel
jaas:update                      jaas:useradd                     jaas:userdel
jaas:userlist                    java                             list
listrepositories                 listurl                          listversions
log:clear                        log:display                      log:display-exception
log:get                          log:set                          log:tail
logout                           ls                               manage
more                             new                              osgi:bundle-level
osgi:headers                     osgi:info                        osgi:install
osgi:list                        osgi:ls                          osgi:refresh
osgi:resolve                     osgi:restart                     osgi:shutdown
osgi:start                       osgi:start-level                 osgi:stop
osgi:uninstall                   osgi:update                      packages:exports
packages:imports                 print-stack-traces               printf
propappend                       propdel                          proplist
propset                          refresh                          refreshurl
removerepository                 removeurl                        rename
resolve                          restart                          roleadd
roledel                          set                              shell:cat
shell:clear                      shell:each                       shell:echo
shell:exec                       shell:grep                       shell:head
shell:history                    shell:if                         shell:info
shell:java                       shell:logout                     shell:more
shell:new                        shell:printf                     shell:sleep
shell:sort                       shell:tac                        shell:tail
show-tree                        shutdown                         sleep
sort                             ssh                              ssh:ssh
ssh:sshd                         sshd                             start
start-level                      stop                             tac
tail                             uninstall                        update
useradd                          userdel                          userlist
watch
root@root>
{code}

The {{<tab>}} key toggles autocompletion anywhere on the line, so if you want to see the commands in the {{osgi}} group, type the first letters and hit {{<tab>}}.  Depending on the commands, autocompletion may be available for options and arguments too.

h2. Getting help for a command

To view help on a particular command, type the command followed by {{--help}} or use the {{help}} command followed by the name of the command:

{code}
karaf@root> features:list --help
DESCRIPTION
        features:list

        Lists all existing features available from the defined repositories.

SYNTAX
        features:list [options]

OPTIONS
        --help
                       Display this help message
        -i, --installed
                       Display a list of all installed features only
{code}


h2. More...

The list of all available commands and their usage is also available in a [dedicated section|/commands/commands].

You'll find a more in-depth guide to the shell syntax in the [developers guide|/developers-guide/shell-syntax].

The console can also be easily extended by creating new commands as explained in the [developers guide|/developers-guide/extending-console].

