--- slug: /en/operations/utilities/clickhouse-disks sidebar_position: 59 sidebar_label: clickhouse-disks --- # Clickhouse-disks A utility providing filesystem-like operations for ClickHouse disks. It can work in both interactive and not interactive modes. ## Program-wide options * `--config-file, -C` -- path to ClickHouse config, defaults to `/etc/clickhouse-server/config.xml`. * `--save-logs` -- Log progress of invoked commands to `/var/log/clickhouse-server/clickhouse-disks.log`. * `--log-level` -- What [type](../server-configuration-parameters/settings#logger) of events to log, defaults to `none`. * `--disk` -- what disk to use for `mkdir, move, read, write, remove` commands. Defaults to `default`. * `--query, -q` -- single query that can be executed without launching interactive mode * `--help, -h` -- print all the options and commands with description ## Default Disks After the launch two disks are initialized. The first one is a disk `local` that is supposed to imitate local file system from which clickhouse-disks utility was launched. The second one is a disk `default` that is mounted to the local filesystem in the directory that can be found in config as a parameter `clickhouse/path` (default value is `/var/lib/clickhouse`). ## Clickhouse-disks state For each disk that was added the utility stores current directory (as in a usual filesystem). User can change current directory and switch between disks. State is reflected in a prompt "`disk_name`:`path_name`" ## Commands In these documentation file all mandatory positional arguments are referred as ``, named arguments are referred as `[--parameter value]`. All positional parameters could be mentioned as a named parameter with a corresponding name. * `cd (change-dir, change_dir) [--disk disk] ` Change directory to path `path` on disk `disk` (default value is a current disk). No disk switching happens. * `copy (cp) [--disk-from disk_1] [--disk-to disk_2] `. Recursively copy data from `path-from` at disk `disk_1` (default value is a current disk (parameter `disk` in a non-interactive mode)) to `path-to` at disk `disk_2` (default value is a current disk (parameter `disk` in a non-interactive mode)). * `current_disk_with_path (current, current_disk, current_path)` Print current state in format: `Disk: "current_disk" Path: "current path on current disk"` * `help []` Print help message about command `command`. If `command` is not specified print information about all commands. * `move (mv) `. Move file or directory from `path-from` to `path-to` within current disk. * `remove (rm, delete) `. Remove `path` recursively on a current disk. * `link (ln) `. Create a hardlink from `path-from` to `path-to` on a current disk. * `list (ls) [--recursive] ` List files at `path`s on a current disk. Non-recursive by default. * `list-disks (list_disks, ls-disks, ls_disks)`. List disks names. * `mkdir [--recursive] ` on a current disk. Create a directory. Non-recursive by default. * `read (r) [--path-to path]` Read a file from `path-from` to `path` (`stdout` if not supplied). * `switch-disk [--path path] ` Switch to disk `disk` on path `path` (if `path` is not specified default value is a previous path on disk `disk`). * `write (w) [--path-from path] `. Write a file from `path` (`stdin` if `path` is not supplied, input must finish by Ctrl+D) to `path-to`.