LinuxCommandLibrary

babel

Transpile JavaScript code

TLDR

Transpile a specified input file and output to stdout

$ babel [path/to/file]
copy

Transpile a specified input file and output to a specific file
$ babel [path/to/input_file] --out-file [path/to/output_file]
copy

Transpile the input file every time it is changed
$ babel [path/to/input_file] --watch
copy

Transpile a whole directory of files
$ babel [path/to/input_directory]
copy

Ignore specified comma-separated files in a directory
$ babel [path/to/input_directory] --ignore [ignored_file1,ignored_file2,...]
copy

Transpile and output as minified JavaScript
$ babel [path/to/input_file] --minified
copy

Choose a set of presets for output formatting
$ babel [path/to/input_file] --presets [preset1,preset2,...]
copy

Display help
$ babel --help
copy

SYNOPSIS

babel [OPTION]... [COMMAND [ARG]...]

PARAMETERS

-d, --debug=N
    Set debug verbosity level N (0-42), prints to stderr

-c, --config=FILE
    Read configuration from FILE

-g, --group=GROUP
    Use multicast group GROUP for updates

-p, --port=PORT
    Connect to daemon on UDP port PORT (default 8735)

-4, --ipv4
    Restrict to IPv4 routes

-6, --ipv6
    Restrict to IPv6 routes

-s, --summary
    Print protocol summary (also a command)

--routes[=FILE]
    List all routes, optionally to FILE

--installed[=FILE]
    List kernel-installed routes, optionally to FILE

-V, --version
    Print version information

-h, --help
    Show help

DESCRIPTION

The babel command is a client utility for interacting with the babeld daemon, which implements the Babel routing protocol. Babel is a loop-avoiding distance-vector protocol designed for mesh networks and low-power devices, supporting both IPv4 and IPv6. It automatically handles link quality estimation, neighbor discovery, and route redistribution.

This tool allows users to inspect routing tables, monitor neighbors, flush routes, and control protocol behavior without restarting the daemon. Common use cases include network diagnostics in wireless mesh setups, ad-hoc networks, or IPv6-over-UDP tunnels. Output is human-readable but can be scripted for monitoring.

Invoked with options followed by a subcommand, it communicates over UDP to babeld. For example, babel routes lists all known routes with metrics and expiration times. It's lightweight, with no persistent state, making it ideal for embedded systems or dynamic topologies. Security relies on network isolation, as it lacks built-in authentication.

CAVEATS

Requires running babeld daemon; no effect otherwise. Default socket may need root or config adjustment. Debug floods output at high levels.

KEY SUBCOMMANDS

summary: Protocol overview.
routes: All routes with metrics.
peers: Neighbor list.
flush: Clear routes.
redistribute: Control route import.

EXAMPLE USAGE

babel summary - Quick status.
babel routes | grep default - Filter defaults.

HISTORY

Developed by Juliusz Chroboczek from 2006 as an RFC-compliant protocol (RFC 8966 draft). Command-line tool introduced in early babeld releases (~2010); stable in v2.0+. Widely used in Freifunk mesh networks.

SEE ALSO

babeld(8), ip(8), route(8), rdisc6(8)

Copied to clipboard