Page tree

The license could not be verified: License Certificate has expired!

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


titleWhat are the command line tools provided for accessing Kita Server?

 These are listed below.


This tool returns basic information on the server state and validates the username and password saved in the .hscfg file. For example:

$ hsinfo
server name: HDF Server for Kita Lab
server state: READY
username: test_user1
password: ********************************
home: /home/test_user1/
server version: 0.3
up: 55 min 27 sec
h5pyd version: 0.3.3

If you add a domain argument to hsinfo, summary information about that domain will be displayed. Example:

$ hsinfo /shared/tall.h5
domain: /shared/tall.h5
owner: admin
id: g-75b88d05-46db146e-fd30-058dce-539ce6
last modified: 2019-01-17 15:39:36
total_size: 6149
allocated_bytes: 580
num objects: 10
num chunks: 4


This tool list either folders and domains at the given path.

Rather than directories and files, Kita uses the terms folders and domains. A folder is used to store collections of folders and domains. A domain is the equivalent to a regular HDF5 file stored in a POSIX filesystem.

During installation, a home folder is created for each user in the path: /home/<username> . If peterpan is a username, running $hsls /home/peterpan/ will display:

peterpan                     folder           2018-06-25    17:01:24     /home/peterpan/
1 items

As additional content is created in this folder, those items will be displayed by hsls.


This tool will upload an HDF5 from the client environment to Kita.

Usage: $ hsload <filename> <folder> to upload a file to the given folder (where it will be saved using the same name as the local file), or $hsload <filename> <domain> , to store to the given domain.


hsload myhdf5file.h5 /home/bob/                  # creates
hsload myhdf5file.h5 /home/bob/mycloudfile.h5 # creates

Note: There's no equivalent to the concept of "current working directory" for paths on the server. Always use absolute path names.

Note: By default hsload doesn't produce any output. Use the -v flag or use the hsls tool to verify the load.

Note: The requesting user most have permissions to write to the folder that will be used to store the domain (see hsacl below).

Note: Non-HDF5 files cannot be loaded. Use h5ls to verify that a file to uploaded is indeed an HDF5 file.

Note: If you need a test file, you can download this one:


This tool retrieves a domain from the server an stores it as a ordinary HDF5 file on the client system.

Usage: $ hsget <domain> <filename>


hsget /home/bob/myhdf5file.h5 myhdf5file.h5 # stores myhdf5file.h5 in the
current directory


This tool creates a new folder or a domain (which will contain just the root group) on the server.

Usage: $ hstouch <folder> to create a folder

Usage: $ hstouch <domain> to create a domain


hstouch /home/bob/myfolder


This tool removes a folder or domain from the server.

Usage: $ hsrm <folder> to delete a folder

Usage: $ hsrm <domain> to delete a domain


hsrm /home/bob/myhdf5file.h5


This tool can be used to move a domain from one folder location to another.

Usage: $ hsmv <src_domain> <des_domain> to move a domain

Usage: $ hsmv <src_domain> <des_folder> to move domain into folder des_folder


hsmv /home/bob/folder1/myhdf5file.h5 /home/bob/folder2/


This tool copies all content from the given domain to a new domain.

Usage: $ hscp <src_domain> <des_domain>


hscp /home/bob/myhdf5file.h5 /home/bob/myhdf5file_copy.h5


This tool compares the content of an HDF5 file with a domain and prints a message if the two objects are different.

Usage: $ hsdiff <HDF5 file> <domain>


$ hsdiff myhdf5file.h5 /home/bob/myhdf5file.h5


This tools can be used to display or modify ACLs (Access Control List) for folders or domains. The ACL for a given user controls which actions ("create", "read", "update", "delete", "read ACL", "update ACL") can be performed (either via the CLI tools, or programmatically).

Run: hsacl --help for details on usage.

Also, this blog post: describes the design and use of ACLs as well as well as other web security related issues.