# файлы индекса базы данных

\[Сантехника] Индексируйте автономные файлы с помощью заданного средства извлечения CodeQL.

> \[!NOTE]
> Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье <https://github.com/github/codeql-cli-binaries/releases>.
>
> Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с <span style="white-space: nowrap;">`--help`</span> параметром в терминале.

## Synopsis

```shell copy
codeql database index-files --language=<lang> [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database>
```

## Description

```
          \[Сантехника] Индексируйте автономные файлы с заданным извлекателем CodeQL.
```

Эта команда выбирает набор файлов в указанном рабочем каталоге и применяет к ним указанный средство извлечения. По умолчанию выбраны все файлы. Типичные вызовы указывают параметры для ограничения набора включенных файлов.

```
          `--include`Параметры `--exclude`и `--prune` параметры принимают шаблоны глобов, которые могут использовать следующие подстановочные знаки:
```

* Один символ "?" соответствует любому символу, отличному от косой черты вперед или назад;
* Один "\*" соответствует любому количеству символов, отличных от косой черты вперед или назад;
* Шаблон "\*\*" соответствует нулю или более полным компонентам каталога.

## Options

### Основные параметры

#### `<database>`

```
          \[Обязательный] Путь к базе данных CodeQL в стадии разработки. Это должно быть подготовлено для извлечения с помощью [инициализации](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) базы данных codeql.
```

#### `-l, --language=<lang>`

```
          \[Обязательный] Средство извлечения, которое должно использоваться для индексирования соответствующих файлов.
```

#### `-j, --threads=<num>`

Попросите средства извлечения использовать это множество потоков. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды CODEQL\_THREADS, значение переменной среды имеет приоритет над этим параметром.

Вы можете передать 0 для использования одного потока на ядро на компьютере или -*N, чтобы оставить *неиспользуемые* ядра N* (за исключением того, что по-прежнему используется хотя бы один поток).

#### `-M, --ram=<MB>`

Попросите средство извлечения использовать эту большую память. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды ОЗУ CODEQL\_, значение переменной среды имеет приоритет над этим параметром.

#### `--working-dir=<dir>`

```
          \[Дополнительно] Каталог, в котором должна выполняться указанная команда. Если этот аргумент не указан, команда выполняется в значении, переданном `--source-root`[в создание](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create) базы данных codeql, если она существует. Если аргумент не `--source-root` указан, команда выполняется в текущем рабочем каталоге.
```

### Параметры управления поведением средства извлечения

#### `-O, --extractor-option=<extractor-option-name=value>`

Задайте параметры для средств извлечения CodeQL.
`extractor-option-name` должен иметь имя средства извлечения\_формы name.group1.group2.option\_или имя group1.group2.option\_. Если `extractor_option_name` начинается с имени средства извлечения, указанный метод извлечения должен объявить имя option group1.group2.option\_. В противном случае любой средство извлечения, объявляющее имя option group1.group2.option\_, будет иметь набор параметров.
`value` может быть любой строкой, которая не содержит новую строку.

Этот параметр командной строки можно использовать многократно для задания нескольких параметров извлечения. Если вы предоставляете несколько значений для одного и того же параметра извлечения, поведение зависит от типа, который ожидает параметр средства извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все предоставленные значения в порядке. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются после использования `--extractor-options-file`параметров средства извлечения.

При передаче [в базу данных codeql инициализации](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) или `codeql database begin-tracing`параметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает [команду](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command) трассировки базы данных codeql, то при желании также необходимо передать параметры.

Дополнительные <https://codeql.github.com/docs/codeql-cli/extractor-options> сведения о параметрах средства извлечения CodeQL, включая перечисление параметров, объявленных каждым извлекателем.

#### `--extractor-options-file=<extractor-options-bundle-file>`

Укажите файлы пакета параметров извлечения. Файл пакета параметров извлечения — это JSON-файл (расширение) или YAML-файл (расширение `.json``.yaml` или`.yml`), который задает параметры средства извлечения. Файл должен иметь ключ карты верхнего уровня "extractor" и, под ним, имена средств извлечения в качестве ключей карты второго уровня. Дополнительные уровни карт представляют вложенные группы средств извлечения, а параметры строки и массива — это записи сопоставления со значениями строк и массивов.

Файлы пакета параметров извлечения считываются в указанном порядке.
Если разные файлы пакета параметров извлечения указывают один и тот же параметр извлечения, поведение зависит от типа, который ожидает параметр средства извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все предоставленные значения в порядке. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются перед использованием `--extractor-option`параметров средства извлечения.

При передаче [в базу данных codeql инициализации](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) или `codeql database begin-tracing`параметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает [команду](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command) трассировки базы данных codeql, то при желании также необходимо передать параметры.

Дополнительные <https://codeql.github.com/docs/codeql-cli/extractor-options> сведения о параметрах средства извлечения CodeQL, включая перечисление параметров, объявленных каждым извлекателем.

### Параметры ограничения набора индексированных файлов

#### `--include-extension=<.ext>`

Включите все файлы в дерево каталога поиска с заданным расширением. Как правило, перед расширением следует включить точку.
Например, передача `--include-extension .xml` будет включать все файлы с расширением ".xml". Этот параметр несовместим с отрицающими `--include` параметрами.

#### `--include=<glob>`

Включите все файлы и каталоги в дерево каталогов поиска, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Если глоб начинается с символа `!` , вместо этого будут исключены соответствующие файлы и каталоги.

```
          `--include` параметры обрабатываются по порядку, при этом более поздние параметры переопределяют более ранние. Например, `--include ** --include !sub/*.ts --include sub/main.*` будет включать `sub/main.ts` (так как оно включается `sub/main.*`), исключить `sub/index.ts` (так как `!sub/*.ts`оно исключается) и включить `sub/test.js` (поскольку оно включается `**` без последующего исключения).)
```

#### `--also-match=<glob>`

Требовать, чтобы все результаты соответствовали заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр имеет ту же структуру и ту же интерпретацию, что `--include` и указать отдельную последовательность глобов, применяемых в сочетании с `--include`.

#### `--exclude=<glob>`

Исключите все файлы и каталоги, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр переопределяет все параметры включения. Этот параметр несовместим с отрицающими `--include` параметрами.

#### `--prune=<glob>`

Исключите все файлы и каталоги, соответствующие заданному глобу, используя относительный путь к каждому файлу и каталогу из каталога поиска. Этот параметр переопределяет все параметры включения. Этот параметр несовместим с отрицающими `--include` параметрами.

#### `--size-limit=<bytes>`

Исключите все файлы, размер которых превышает заданное ограничение. Ограничение размера в байтах или в кибибайтах (KiB) с суффиксом "k", в mebibytes (MiB) с суффиксом "m" и в гибибайтах (GiB) с суффиксом "g". Этот параметр переопределяет все параметры включения.

#### `--total-size-limit=<bytes>`

Выполните выход команды с ошибкой, если общий размер всех разрешенных файлов превысит заданное ограничение. Ограничение размера в байтах или в кибибайтах (KiB) с суффиксом "k", в mebibytes (MiB) с суффиксом "m" и в гибибайтах (GiB) с суффиксом "g".

#### `--[no-]follow-symlinks`

Следуйте любым символьным ссылкам на их цели.

#### `--[no-]find-any`

Найти не более одного совпадения (в отличие от всех совпадений).

Доступно с момента `v2.11.3`.

### Распространенные параметры

#### `-h, --help`

Отображение этого текста справки.

#### `-J=<opt>`

```
          \[Дополнительно] Укажите параметр JVM, выполняя команду.
```

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

#### `-v, --verbose`

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

#### `-q, --quiet`

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

#### `--verbosity=<level>`

```
          \[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет `-v` и `-q`.
```

#### `--logdir=<dir>`

```
          \[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.
```

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте `--log-to-stderr` и перенаправите stderr по мере необходимости.)

#### `--common-caches=<dir>`

```
          \[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем `.codeql` в домашнем каталоге пользователя; он будет создан, если он еще не существует.
```

Доступно с момента `v2.15.2`.