Skip to main content
Утилита для выполнения операций с дисками ClickHouse, аналогичных операциям файловой системы. Может работать как в интерактивном, так и в неинтерактивном режиме.

Общие параметры программы

  • --config-file, -C — путь к конфигурации ClickHouse, по умолчанию /etc/clickhouse-server/config.xml.
  • --save-logs — записывать в журнал ход выполнения вызванных команд в /var/log/clickhouse-server/clickhouse-disks.log.
  • --log-levelтип регистрируемых событий, по умолчанию none.
  • --disk — какой диск использовать для команд mkdir, move, read, write, remove. По умолчанию default.
  • --query, -q — одиночный запрос, который можно выполнить без запуска интерактивного режима
  • --help, -h — вывести все параметры и команды с описанием

Ленивая инициализация

Все диски, доступные в конфигурации, инициализируются лениво. Это означает, что объект, соответствующий диску, инициализируется только тогда, когда этот диск используется в какой-либо команде. Это сделано, чтобы повысить устойчивость утилиты и избежать обращения к дискам, описанным в конфигурации, но не используемым пользователем, которые могут вызвать ошибку при инициализации. Однако при запуске clickhouse-disks должен инициализироваться хотя бы один диск. Этот диск задаётся параметром --disk в командной строке (значение по умолчанию — default).

Диски по умолчанию

После запуска доступны два диска, которые не указаны в конфигурации, но могут быть инициализированы.
  1. local Disk: Этот диск предназначен для эмуляции локальной файловой системы, из которой была запущена утилита clickhouse-disks. Его исходный путь — каталог, из которого был запущен clickhouse-disks, а сам диск смонтирован в корень файловой системы.
  2. default Disk: Этот диск смонтирован в локальной файловой системе в каталог, указанный параметром clickhouse/path в конфигурации (значение по умолчанию — /var/lib/clickhouse). Его исходный путь — /.

Состояние clickhouse-disks

Для каждого добавленного диска утилита сохраняет текущий каталог (как в обычной файловой системе). Пользователь может менять текущий каталог и переключаться между дисками. Состояние отображается в строке приглашения “disk_name:path_name

Команды

В этом файле документации все обязательные позиционные аргументы обозначаются как <parameter>, а именованные — как [--parameter value]. Все позиционные параметры также могут быть указаны как именованные с соответствующим именем.
  • cd (change-dir, change_dir) [--disk disk] <path> Перейти в каталог по пути path на диске disk (значение по умолчанию — текущий диск). Переключения диска не происходит.
  • copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. Рекурсивно скопировать данные из path-from на диске disk_1 (значение по умолчанию — текущий диск (параметр disk в неинтерактивном режиме)) в path-to на диске disk_2 (значение по умолчанию — текущий диск (параметр disk в неинтерактивном режиме)).
  • current_disk_with_path (current, current_disk, current_path) Вывести текущее состояние в формате: Disk: "current_disk" Path: "current path on current disk"
  • du [--human-readable] [<path>] Вывести общий размер в байтах для файла или каталога по пути path на текущем диске. Для каталога размер всех содержащихся в нём файлов рекурсивно суммируется. Если path не указан, используется текущий каталог. С --human-readable (-h) размер выводится в удобочитаемом формате (например, 1.23 GiB).
  • help [<command>] Вывести справку по команде command. Если command не указана, вывести информацию обо всех командах.
  • move (mv) <path-from> <path-to>. Переместить файл или каталог из path-from в path-to в пределах текущего диска.
  • remove (rm, delete) <path>. Рекурсивно удалить path на текущем диске.
  • link (ln) <path-from> <path-to>. Создать жёсткую ссылку из path-from в path-to на текущем диске.
  • list (ls) [--recursive] <path> Вывести список файлов в path на текущем диске. По умолчанию без рекурсии.
  • list-disks (list_disks, ls-disks, ls_disks). Вывести список имён дисков.
  • mkdir [--recursive] <path> на текущем диске. Создать каталог. По умолчанию без рекурсии.
  • read (r) <path-from> [--path-to path] Прочитать файл из path-from в path (stdout, если путь не указан).
  • read-bitmap <path-from> [--values] Просмотреть sidecar-файл delete-bitmap (.rbm) по пути path-from. Выводит сигнатуру и версию, корректность CRC, мощность (число удалённых строк) и диапазон строк. С --values также выводит все установленные биты (смещения удалённых строк) в порядке возрастания.
  • switch-disk [--path path] <disk> Переключиться на диск disk по пути path (если path не указан, значением по умолчанию будет предыдущий путь на диске disk).
  • write (w) [--path-from path] <path-to>. Записать файл из path (stdin, если path не указан; ввод должен завершаться по Ctrl+D) в path-to.
  • wc <path> [--bytes] [--lines] [--words] Подсчитать количество байтов, строк и слов в файле по пути path на текущем диске (как Unix wc). Без флагов выводятся все три значения в порядке: строки, слова, затем байты. Используйте --bytes (-c), --lines (-l), --words (-w) для вывода конкретных значений.
  • sed <expression> <path> Применить sed-выражение expression к файлу по пути path на текущем диске с изменением на месте. Требуется, чтобы sed был установлен на хосте. Поддерживается только одно выражение sed без опций (например, 's/foo/bar/g', '/foo/d'), а не несколько выражений (-e ... -e ...) и не опции, объединённые с адресом (например, -n с 4,10p).
  • read-checksums <path> Прочитать файл checksums.txt data part MergeTree на текущем диске и вывести его в stdout как удобочитаемую таблицу с разделением табуляцией и столбцами name, file_size, file_hash, uncompressed_size и uncompressed_hash. Последние два столбца присутствуют только для сжатых файлов.
Последнее изменение 23 июля 2026 г.