Skip to content

CLI Commands

Terminal window
sonar-catalog [--config CONFIG] [--verbose] [--quiet] [--version] COMMAND
FlagDescription
--config, -cConfig file path (default: ~/.config/sonar-catalog/config.json)
--verbose, -vVerbose logging output
--quiet, -qSuppress non-essential output
--versionShow version and exit

Initialize the database and create a default config file.

Terminal window
sonar-catalog init

Show the current configuration as JSON.

Terminal window
sonar-catalog config

Rebuild the FTS5 full-text search index from existing data.

Terminal window
sonar-catalog rebuild-index

Discover NFS hosts and mounts on the network.

Terminal window
sonar-catalog discover
sonar-catalog discover --deep
FlagDescription
--deepSSH into accessible hosts to discover remote mounts

List discovered hosts and their status.

Terminal window
sonar-catalog hosts
sonar-catalog hosts --output json

Crawl and catalog a directory.

Terminal window
sonar-catalog crawl /mnt/sonar-nas-01
sonar-catalog crawl /data/survey --host sonar-01 --ip 192.168.1.10
FlagDescription
PATHDirectory to crawl (required)
--hostOverride hostname for NFS resolution
--ipOverride IP address

Discover and crawl all accessible hosts in one step.

Terminal window
sonar-catalog crawl-all

Search the catalog by filename, format, server, or size.

Terminal window
sonar-catalog search "line_001"
sonar-catalog search --format xtf --server nas01
sonar-catalog search --min-size 1GB --max-size 10GB
sonar-catalog search --output json --limit 100
FlagDescription
PATTERNFilename search pattern
--formatFilter by sonar format
--serverFilter by NFS server
--min-sizeMinimum file size (supports K, M, G, T suffixes)
--max-sizeMaximum file size
--hashSearch by content hash
--outputOutput format: table (default) or json
--limitMax results (default: 50)

Find duplicate files across servers.

Terminal window
sonar-catalog dupes
sonar-catalog dupes --output json --min-count 3
FlagDescription
--min-countMinimum duplicate count (default: 2)
--outputOutput format: table or json

Show all locations for a file by content hash.

Terminal window
sonar-catalog where abc123def456...

Show catalog statistics.

Terminal window
sonar-catalog stats

Extract navigation/position data from cataloged sonar files.

Terminal window
sonar-catalog extract-nav
sonar-catalog extract-nav --format jsf
sonar-catalog extract-nav --hash abc123...
sonar-catalog extract-nav --force
FlagDescription
--formatOnly extract from files of this format
--hashExtract for a single file by content hash
--forceRe-extract even if nav data already exists

Learn a file format’s magic bytes from a sample file.

Terminal window
sonar-catalog add-magic-byte /path/to/sample.myformat \
--format-name my_sonar --length 4 --description "My format"
FlagDescription
FILEPath to a sample file (required)
--format-nameName for the format (defaults to extension)
--lengthBytes to read (default: 4)
--offsetByte offset (default: 0)
--descriptionHuman-readable description
--no-extensionDon’t associate the extension
--forceReplace existing format

Show all registered magic byte signatures (built-in + custom).

Terminal window
sonar-catalog list-magic-bytes

Export catalog data to a file or stdout.

Terminal window
sonar-catalog export --format csv --output catalog.csv
sonar-catalog export --format geojson --geo --output tracks.geojson
sonar-catalog export --format json
sonar-catalog export --list-formats
FlagDescription
--formatExport format: csv, geojson, json (or plugin formats)
--outputOutput file path (stdout if omitted)
--geoExport geographic data instead of file listing
--limitMax records to export
--list-formatsList available export formats and exit

List installed plugins and their hooks.

Terminal window
sonar-catalog plugins list

Enable or disable a plugin.

Terminal window
sonar-catalog plugins enable my-sonar-plugin
sonar-catalog plugins disable my-sonar-plugin

Load synthetic demo data for exploring the UI.

Terminal window
sonar-catalog demo --num-files 100 --seed 42
FlagDescription
--num-filesNumber of synthetic files (default: 50)
--seedRandom seed for reproducible data (default: 42)

Start the Flask web interface.

Terminal window
sonar-catalog web --port 8080
sonar-catalog web --host 0.0.0.0 --port 9090 --debug
FlagDescription
--hostBind address (default: 127.0.0.1)
--portPort number (default: 8080)
--debugEnable Flask debug mode with auto-reload