System Grab Bag

View all TLDR pages from common (or from all pages)

pigz

Multithreaded zlib compression utility. More information: https://github.com/madler/pigz.
  • Compress a file with default options:
    pigz {{path/to/file}}
  • Compress a file using the best compression method:
    pigz -9 {{path/to/file}}
  • Compress a file using no compression and 4 processors:
    pigz -0 -p{{4}} {{path/to/file}}
  • Compress a directory using tar:
    tar cf - {{path/to/directory}} | pigz > {{path/to/file}}.tar.gz
  • Decompress a file:
    pigz -d {{archive.gz}}
  • List the contents of an archive:
    pigz -l {{archive.tar.gz}}

git graft

Merge commits from a specific branch into another branch and delete the source branch. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-graft.
  • Merge all commits not present on the target branch from the source branch to target branch, and delete the source branch:
    git graft {{source_branch}} {{target_branch}}

npm query

Print an array of dependency objects using CSS-like selectors. More information: https://docs.npmjs.com/cli/v8/commands/npm-query.
  • Print direct dependencies:
    npm query ':root > *'
  • Print all direct production/development dependencies:
    npm query ':root > .{{prod|dev}}'
  • Print dependencies with a specific name:
    npm query '#{{package}}'
  • Print dependencies with a specific name and within a semantic versioning range:
    npm query #{{package}}@{{semantic_version}}
  • Print dependencies which have no dependencies:
    npm query ':empty'
  • Find all dependencies with postinstall scripts and uninstall them:
    npm query ":attr(scripts, [postinstall])" | jq 'map(.name) | join("\n")' -r | xargs -I {} npm uninstall {}
  • Find all Git dependencies and print which application requires them:
    npm query ":type(git)" | jq 'map(.name)' | xargs -I {} npm why {}

rustup component

Modify a toolchain's installed components. Without the --toolchain option rustup will use the default toolchain. See rustup help toolchain for more information about toolchains. More information: https://rust-lang.github.io/rustup.
  • Add a component to a toolchain:
    rustup component add --toolchain {{toolchain}} {{component}}
  • Remove a component from a toolchain:
    rustup component remove --toolchain {{toolchain}} {{component}}
  • List installed and available components for a toolchain:
    rustup component list --toolchain {{toolchain}}
  • List installed components for a toolchain:
    rustup component list --toolchain {{toolchain}} --installed

pdftotext

Convert PDF files to plain text format. More information: https://www.xpdfreader.com/pdftotext-man.html.
  • Convert filename.pdf to plain text and print it to stdout:
    pdftotext {{filename.pdf}} -
  • Convert filename.pdf to plain text and save it as filename.txt:
    pdftotext {{filename.pdf}}
  • Convert filename.pdf to plain text and preserve the layout:
    pdftotext -layout {{filename.pdf}}
  • Convert input.pdf to plain text and save it as output.txt:
    pdftotext {{input.pdf}} {{output.txt}}
  • Convert pages 2, 3 and 4 of input.pdf to plain text and save them as output.txt:
    pdftotext -f {{2}} -l {{4}} {{input.pdf}} {{output.txt}}

xzcmp

Invokes cmp on files compressed with xz, lzma, gzip, bzip2, lzop, or zstd. All options specified are passed directly to cmp. More information: https://manned.org/xzcmp.
  • Compare two specific files:
    xzcmp {{path/to/file1}} {{path/to/file2}}

nimble

Package manager for the Nim programming language. Manage Nim projects and their dependencies. More information: https://github.com/nim-lang/nimble.
  • Search for packages:
    nimble search {{search_string}}
  • Install a package:
    nimble install {{package}}
  • List installed packages:
    nimble list -i
  • Create a new Nimble package in the current directory:
    nimble init
  • Build a Nimble package:
    nimble build
  • Install a Nimble package:
    nimble install

serve

Static file serving and directory listing. More information: https://github.com/vercel/serve.
  • Start an HTTP server listening on the default port to serve the current directory:
    serve
  • Start an HTTP server on a specific [p]ort to serve a specific directory:
    serve -p {{port}} {{path/to/directory}}
  • Start an HTTP server with CORS enabled by including the Access-Control-Allow-Origin: * header in all responses:
    serve --cors
  • Start an HTTP server on the default port rewriting all not-found requests to the index.html file:
    serve --single
  • Start an HTTPS server on the default port using the specified certificate:
    serve --ssl-cert {{path/to/cert.pem}} --ssl-key {{path/to/key.pem}}
  • Start an HTTP server on the default port using a specific configuration file:
    serve --config {{path/to/serve.json}}
  • Display help:
    serve --help

takeout

A Docker-based development-only dependency manager. More information: https://github.com/tighten/takeout.
  • Display a list of available services:
    takeout enable
  • Enable a specific service:
    takeout enable {{name}}
  • Enable a specific service with the default parameters:
    takeout enable --default {{name}}
  • Display a list of enabled services:
    takeout disable
  • Disable a specific service:
    takeout disable {{name}}
  • Disable all services:
    takeout disable --all
  • Start a specific container:
    takeout start {{container_id}}
  • Stop a specific container:
    takeout stop {{container_id}}

redshift

Adjust the color temperature of your screen according to your surroundings. More information: http://jonls.dk/redshift.
  • Turn on Redshift with 5700K temperature during day and 3600K at night:
    redshift -t {{5700}}:{{3600}}
  • Turn on Redshift with a manually specified custom location:
    redshift -l {{latitude}}:{{longitude}}
  • Turn on Redshift with 70% screen brightness during day and 40% brightness at night:
    redshift -b {{0.7}}:{{0.4}}
  • Turn on Redshift with custom gamma levels (between 0 and 1):
    redshift -g {{red}}:{{green}}:{{blue}}
  • Turn on Redshift with a constant unchanging color temperature:
    redshift -O {{temperature}}

lzmore

This command is an alias of xzmore.
  • View documentation for the original command:
    tldr xzmore

yarn

JavaScript and Node.js package manager alternative. More information: https://yarnpkg.com.
  • Install a module globally:
    yarn global add {{module_name}}
  • Install all dependencies referenced in the package.json file (the install is optional):
    yarn install
  • Install a module and save it as a dependency to the package.json file (add --dev to save as a dev dependency):
    yarn add {{module_name}}@{{version}}
  • Uninstall a module and remove it from the package.json file:
    yarn remove {{module_name}}
  • Interactively create a package.json file:
    yarn init
  • Identify whether a module is a dependency and list other modules that depend upon it:
    yarn why {{module_name}}

clash

A rule-based tunnel in Go. More information: https://github.com/Dreamacro/clash/wiki.
  • Specify a configuration [d]irectory:
    clash -d {{path/to/directory}}
  • Specify a configuration [f]ile:
    clash -f {{path/to/configuration_file}}

dirsearch

Web path scanner. More information: https://github.com/maurosoria/dirsearch.
  • Scan a web server for common paths with common extensions:
    dirsearch --url {{url}} --extensions-list
  • Scan a list of web servers for common paths with the .php extension:
    dirsearch --url-list {{path/to/url-list.txt}} --extensions {{php}}
  • Scan a web server for user-defined paths with common extensions:
    dirsearch --url {{url}} --extensions-list --wordlist {{path/to/url-paths.txt}}
  • Scan a web server using a cookie:
    dirsearch --url {{url}} --extensions {{php}} --cookie {{cookie}}
  • Scan a web server using the HEAD HTTP method:
    dirsearch --url {{url}} --extensions {{php}} --http-method {{HEAD}}
  • Scan a web server, saving the results to a .json file:
    dirsearch --url {{url}} --extensions {{php}} --json-report {{path/to/report.json}}

git bugreport

Captures debug information from the system and user, generating a text file to aid in the reporting of a bug in Git. More information: https://git-scm.com/docs/git-bugreport.
  • Create a new bug report file in the current directory:
    git bugreport
  • Create a new bug report file in the specified directory, creating it if it does not exist:
    git bugreport --output-directory {{path/to/directory}}
  • Create a new bug report file with the specified filename suffix in strftime format:
    git bugreport --suffix {{%m%d%y}}

aws lambda

CLI for AWS lambda. More information: https://docs.aws.amazon.com/cli/latest/reference/lambda/.
  • Run a function:
    aws lambda invoke --function-name {{name}} {{path/to/response}}.json
  • Run a function with an input payload in JSON format:
    aws lambda invoke --function-name {{name}} --payload {{json}} {{path/to/response}}.json
  • List functions:
    aws lambda list-functions
  • Display the configuration of a function:
    aws lambda get-function-configuration --function-name {{name}}
  • List function aliases:
    aws lambda list-aliases --function-name {{name}}
  • Display the reserved concurrency configuration for a function:
    aws lambda get-function-concurrency --function-name {{name}}
  • List which AWS services can invoke the function:
    aws lambda get-policy --function-name {{name}}

python3

This command is an alias of python.
  • View documentation for the original command:
    tldr python

virsh pool-destroy

Stop an active virtual machine storage pool. See also: virsh, virsh-pool-delete. More information: https://manned.org/virsh.
  • Stop a storage pool specified by name or UUID (determine using virsh pool-list):
    virsh pool-destroy --pool {{name|uuid}}

tred

Compute the transitive reduction of directed graphs. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://www.graphviz.org/pdf/tred.1.pdf.
  • Construct the transitive reduction graph of one or more directed graphs:
    tred {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Display help:
    tred -?

daps

DAPS is an open source program for transforming DocBook XML into output formats such as HTML or PDF. More information: https://opensuse.github.io/daps/doc/index.html.
  • Check if a DocBook XML file is valid:
    daps -d {{path/to/file.xml}} validate
  • Convert a DocBook XML file into PDF:
    daps -d {{path/to/file.xml}} pdf
  • Convert a DocBook XML file into a single HTML file:
    daps -d {{path/to/file.xml}} html --single
  • Display help:
    daps --help
  • Display version:
    daps --version

hping3

Advanced ping utility which supports protocols such TCP, UDP, and raw IP. Best run with elevated privileges. More information: https://github.com/antirez/hping.
  • Ping a destination with 4 ICMP ping requests:
    hping3 --icmp --count {{4}} {{ip_or_hostname}}
  • Ping an IP address over UDP on port 80:
    hping3 --udp --destport {{80}} --syn {{ip_or_hostname}}
  • Scan TCP port 80, scanning from the specific local source port 5090:
    hping3 --verbose --syn --destport {{80}} --baseport {{5090}} {{ip_or_hostname}}
  • Traceroute using a TCP scan to a specific destination port:
    hping3 --traceroute --verbose --syn --destport {{80}} {{ip_or_hostname}}
  • Scan a set of TCP ports on a specific IP address:
    hping3 --scan {{80,3000,9000}} --syn {{ip_or_hostname}}
  • Perform a TCP ACK scan to check if a given host is alive:
    hping3 --count {{2}} --verbose --destport {{80}} --ack {{ip_or_hostname}}
  • Perform a charge test on port 80:
    hping3 --flood --destport {{80}} --syn {{ip_or_hostname}}

unison

Bidirectional file synchronisation tool. More information: https://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html.
  • Sync two directories (creates log first time these two directories are synchronized):
    unison {{path/to/directory_1}} {{path/to/directory_2}}
  • Automatically accept the (non-conflicting) defaults:
    unison {{path/to/directory_1}} {{path/to/directory_2}} -auto
  • Ignore some files using a pattern:
    unison {{path/to/directory_1}} {{path/to/directory_2}} -ignore {{pattern}}
  • Show documentation:
    unison -doc {{topics}}

aws configure

Manage configuration for the AWS CLI. More information: https://docs.aws.amazon.com/cli/latest/reference/configure/.
  • Configure AWS CLI interactively (creates a new configuration or updates the default):
    aws configure
  • Configure a named profile for AWS CLI interactively (creates a new profile or updates an existing one):
    aws configure --profile {{profile_name}}
  • Display the value from a specific configuration variable:
    aws configure get {{name}}
  • Display the value for a configuration variable in a specific profile:
    aws configure get {{name}} --profile {{profile_name}}
  • Set the value of a specific configuration variable:
    aws configure set {{name}} {{value}}
  • Set the value of a configuration variable in a specific profile:
    aws configure set {{name}} {{value}} --profile {{profile_name}}
  • List the configuration entries:
    aws configure list
  • List the configuration entries for a specific profile:
    aws configure list --profile {{profile_name}}

buku

Command-line browser-independent bookmark manager. More information: https://github.com/jarun/Buku.
  • Display all bookmarks matching "keyword" and with "privacy" tag:
    buku {{keyword}} --stag {{privacy}}
  • Add bookmark with tags "search engine" and "privacy":
    buku --add {{https://example.com}} {{search engine}}, {{privacy}}
  • Delete a bookmark:
    buku --delete {{bookmark_id}}
  • Open editor to edit a bookmark:
    buku --write {{bookmark_id}}
  • Remove "search engine" tag from a bookmark:
    buku --update {{bookmark_id}} --tag {{-}} {{search engine}}

kubectl get

Get Kubernetes objects and resources. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get.
  • Get all namespaces in the current cluster:
    kubectl get namespaces
  • Get nodes in a specified namespace:
    kubectl get nodes -n {{namespace}}
  • Get pods in a specified namespace:
    kubectl get pods -n {{namespace}}
  • Get deployments in a specified namespace:
    kubectl get deployments -n {{namespace}}
  • Get services in a specified namespace:
    kubectl get services -n {{namespace}}
  • Get all resources in a specified namespace:
    kubectl get all -n {{namespace}}
  • Get Kubernetes objects defined in a YAML manifest:
    kubectl get -f {{path/to/manifest.yaml}}

eqn

Equation preprocessor for the groff (GNU Troff) document formatting system. See also troff and groff. More information: https://manned.org/eqn.
  • Process input with equations, saving the output for future typesetting with groff to PostScript:
    eqn {{path/to/input.eqn}} > {{path/to/output.roff}}
  • Typeset an input file with equations to PDF using the [me] macro package:
    eqn -T {{pdf}} {{path/to/input.eqn}} | groff -{{me}} -T {{pdf}} > {{path/to/output.pdf}}

spectacle

KDE's screenshot utility. More information: https://manned.org/spectacle.
  • Capture a screenshot of the entire desktop:
    spectacle
  • Capture a screenshot of the active window:
    spectacle --activewindow
  • Capture a screenshot of a specific region:
    spectacle --region

jest

A zero-configuration JavaScript testing platform. More information: https://jestjs.io.
  • Run all available tests:
    jest
  • Run the test suites from the given files:
    jest {{path/to/file1}} {{path/to/file2}}
  • Run the test suites from files within the current and subdirectories, whose paths match the given regular expression:
    jest {{regular_expression1}} {{regular_expression2}}
  • Run the tests whose names match the given regular expression:
    jest --testNamePattern {{regular_expression}}
  • Run test suites related to a given source file:
    jest --findRelatedTests {{path/to/source_file.js}}
  • Run test suites related to all uncommitted files:
    jest --onlyChanged
  • Watch files for changes and automatically re-run related tests:
    jest --watch
  • Show help:
    jest --help

resume

Easily setup a new resume. More information: https://github.com/jsonresume/resume-cli.
  • Create a new resume.json file in the current working directory:
    resume init
  • Validate a resume.json against schema tests to ensure it complies with the standard:
    resume validate
  • Export a resume locally in a stylized HTML or PDF format:
    resume export {{path/to/html_or_pdf}}
  • Start a web server that serves a local resume.json:
    resume serve

csvstat

Print descriptive statistics for all columns in a CSV file. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvstat.html.
  • Show all stats for all columns:
    csvstat {{data.csv}}
  • Show all stats for columns 2 and 4:
    csvstat -c {{2,4}} {{data.csv}}
  • Show sums for all columns:
    csvstat --sum {{data.csv}}
  • Show the max value length for column 3:
    csvstat -c {{3}} --len {{data.csv}}
  • Show the number of unique values in the "name" column:
    csvstat -c {{name}} --unique {{data.csv}}

mosquitto_sub

A simple MQTT version 3.1.1 client that will subscribe to topics and print the messages that it receives. More information: https://mosquitto.org/man/mosquitto_sub-1.html.
  • Subscribe to the topic sensors/temperature information with Quality of Service (QoS) set to 1. (The default hostname is localhost and port 1883):
    mosquitto_sub -t {{sensors/temperature}} -q {{1}}
  • Subscribe to all broker status messages publishing on iot.eclipse.org port 1885 and print published messages verbosely:
    mosquitto_sub -v -h "iot.eclipse.org" -p 1885 -t {{\$SYS/#}}
  • Subscribe to multiple topics matching a given pattern. (+ takes any metric name):
    mosquitto_sub -t {{sensors/machines/+/temperature/+}}

rustup run

Run a command with an environment configured for a given Rust toolchain. Note: all commands managed by rustup have a shorthand for this: for example, cargo +nightly build is equivalent to rustup run nightly cargo build. More information: https://rust-lang.github.io/rustup.
  • Run a command using a given Rust toolchain (see rustup help toolchain for more information):
    rustup run {{toolchain}} {{command}}

hostapd

Start an access point using a wireless interface. More information: https://w1.fi/hostapd/.
  • Start an access point:
    sudo hostapd {{path/to/hostapd.conf}}
  • Start an access point, forking into the background:
    sudo hostapd -B {{path/to/hostapd.conf}}

git-imerge

Perform a merge or rebase between two Git branches incrementally. Conflicts between branches are tracked down to pairs of individual commits, to simplify conflict resolution. More information: https://github.com/mhagger/git-imerge.
  • Start imerge-based rebase (checkout the branch to be rebased, first):
    git imerge rebase {{branch_to_rebase_onto}}
  • Start imerge-based merge (checkout the branch to merge into, first):
    git imerge merge {{branch_to_be_merged}}
  • Show ASCII diagram of in-progress merge or rebase:
    git imerge diagram
  • Continue imerge operation after resolving conflicts (git add the conflicted files, first):
    git imerge continue --no-edit
  • Wrap up imerge operation, after all conflicts are resolved:
    git imerge finish
  • Abort imerge operation, and return to the previous branch:
    git-imerge remove && git checkout {{previous_branch}}

pio home

Launch the PlatformIO Home web server. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_home.html.
  • Open PlatformIO Home in the default web browser:
    pio home
  • Use a specific HTTP port (defaults to 8008):
    pio home --port {{port}}
  • Bind to a specific IP address (defaults to 127.0.0.1):
    pio home --host {{ip_address}}
  • Do not automatically open PlatformIO Home in the default web browser:
    pio home --no-open
  • Automatically shutdown the server on timeout (in seconds) when no clients are connected:
    pio home --shutdown-timeout {{time}}
  • Specify a unique session identifier to keep PlatformIO Home isolated from other instances and protected from 3rd party access:
    pio home --session-id {{id}}

git format-patch

Prepare .patch files. Useful when emailing commits elsewhere. See also git am, which can apply generated .patch files. More information: https://git-scm.com/docs/git-format-patch.
  • Create an auto-named .patch file for all the unpushed commits:
    git format-patch {{origin}}
  • Write a .patch file for all the commits between 2 revisions to stdout:
    git format-patch {{revision_1}}..{{revision_2}}
  • Write a .patch file for the 3 latest commits:
    git format-patch -{{3}}

git switch

Switch between Git branches. Requires Git version 2.23+. See also git checkout. More information: https://git-scm.com/docs/git-switch.
  • Switch to an existing branch:
    git switch {{branch_name}}
  • Create a new branch and switch to it:
    git switch --create {{branch_name}}
  • Create a new branch based on an existing commit and switch to it:
    git switch --create {{branch_name}} {{commit}}
  • Switch to the previous branch:
    git switch -
  • Switch to a branch and update all submodules to match:
    git switch --recurse-submodules {{branch_name}}
  • Switch to a branch and automatically merge the current branch and any uncommitted changes into it:
    git switch --merge {{branch_name}}

ffplay

A simple and portable media player using the FFmpeg libraries and the SDL library. More information: https://ffmpeg.org/ffplay-all.html.
  • Play a media file:
    ffplay {{path/to/file}}
  • Play audio from a media file without a GUI:
    ffplay -nodisp {{path/to/file}}
  • Play media passed by ffmpeg through stdin:
    ffmpeg -i {{path/to/file}} -c {{copy}} -f {{media_format}} - | ffplay -
  • Play a video and show motion vectors in real time:
    ffplay -flags2 +export_mvs -vf codecview=mv=pf+bf+bb {{path/to/file}}
  • Show only video keyframes:
    ffplay -vf select="{{eq(pict_type\,PICT_TYPE_I)}}" {{path/to/file}}

rtl_sdr

Raw data recorder for RTL-SDR receivers. Data is encoded using I/Q sampling (aka quadrature sampling). More information: https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr.
  • Save RAW data from a frequency (specified in Hz) to a file:
    rtl_sdr -f {{100000000}} {{path/to/file}}
  • Pipe data to another program:
    rtl_sdr -f {{100000000}} - | {{aplay}}
  • Read a specified number of samples:
    rtl_sdr -f {{100000000}} -n {{20}} -
  • Specify the sample rate in Hz (ranges 225001-300000 and 900001-3200000):
    rtl_sdr -f {{100000000}} -s {{2400000}} -
  • Specify the device by its index:
    rtl_sdr -f {{100000000}} -d {{0}} -
  • Specify the gain:
    rtl_sdr -f {{100000000}} -g {{20}} -
  • Specify the output block size:
    rtl_sdr -f {{100000000}} -b {{9999999}} -
  • Use synchronous output:
    rtl_sdr -f {{100000000}} -S -

zsh

Z SHell, a Bash-compatible command-line interpreter. See also: bash, histexpand. More information: https://www.zsh.org.
  • Start an interactive shell session:
    zsh
  • Execute specific [c]ommands:
    zsh -c "{{echo Hello world}}"
  • Execute a specific script:
    zsh {{path/to/script.zsh}}
  • Check a specific script for syntax errors without executing it:
    zsh --no-exec {{path/to/script.zsh}}
  • Execute specific commands from stdin:
    {{echo Hello world}} | zsh
  • Execute a specific script, printing each command in the script before executing it:
    zsh --xtrace {{path/to/script.zsh}}
  • Start an interactive shell session in verbose mode, printing each command before executing it:
    zsh --verbose
  • Execute a specific command inside zsh with disabled glob patterns:
    noglob {{command}}

cs launch

Launch an application from the name directly from one or more Maven dependencies without the need of installing it. More information: https://get-coursier.io/docs/cli-launch.
  • Launch a specific application with arguments:
    cs launch {{application_name}} -- {{argument1 argument2 ...}}
  • Launch a specific application version with arguments:
    cs launch {{application_name}}:{{application_version}} -- {{argument1 argument2 ...}}
  • Launch a specific version of an application specifying which is the main file:
    cs launch {{group_id}}:{{artifact_id}}:{{artifact_version}} --main-class {{path/to/main_class_file}}
  • Launch an application with specific java options and a jvm memory ones:
    cs launch --java-opt {{-Doption_name1:option_value1 -Doption_name2:option_value2 ...}} --java-opt {{-Xjvm_option1 -Xjvm_option2 ...}} {{application_name}}

git commit

Commit files to the repository. More information: https://git-scm.com/docs/git-commit.
  • Commit staged files to the repository with a message:
    git commit --message "{{message}}"
  • Commit staged files with a message read from a file:
    git commit --file {{path/to/commit_message_file}}
  • Auto stage all modified and deleted files and commit with a message:
    git commit --all --message "{{message}}"
  • Commit staged files and sign them with the specified GPG key (or the one defined in the config file if no argument is specified):
    git commit --gpg-sign {{key_id}} --message "{{message}}"
  • Update the last commit by adding the currently staged changes, changing the commit's hash:
    git commit --amend
  • Commit only specific (already staged) files:
    git commit {{path/to/file1}} {{path/to/file2}}
  • Create a commit, even if there are no staged files:
    git commit --message "{{message}}" --allow-empty

czkawka-cli

Command-line version of czkawka a multi-functional app to find duplicates, empty folders, similar images and much more. More information: https://github.com/qarmin/czkawka.
  • List duplicate or similar files in specific directories:
    czkawka-cli {{dup|image}} --directories {{path/to/directory1 path/to/directory2 ...}}
  • Find duplicate files in specific directories and delete them (default: NONE):
    czkawka-cli dup --directories {{path/to/directory1 path/to/directory2 ...}} --delete-method {{AEN|AEO|ON|OO|HARD|NONE}}

n

Tool to manage multiple node versions. More information: https://github.com/tj/n.
  • Install a given version of node. If the version is already installed, it will be activated:
    n {{version}}
  • Display installed versions and interactively activate one of them:
    n
  • Remove a version:
    n rm {{version}}
  • Execute a file with a given version:
    n use {{version}} {{file.js}}
  • Output binary path for a version:
    n bin {{version}}

git archive

Create an archive of files from a named tree. More information: https://git-scm.com/docs/git-archive.
  • Create a tar archive from the contents of the current HEAD and print it to stdout:
    git archive --verbose HEAD
  • Create a zip archive from the current HEAD and print it to stdout:
    git archive --verbose --format=zip HEAD
  • Same as above, but write the zip archive to file:
    git archive --verbose --output={{path/to/file.zip}} HEAD
  • Create a tar archive from the contents of the latest commit on a specific branch:
    git archive --output={{path/to/file.tar}} {{branch_name}}
  • Create a tar archive from the contents of a specific directory:
    git archive --output={{path/to/file.tar}} HEAD:{{path/to/directory}}
  • Prepend a path to each file to archive it inside a specific directory:
    git archive --output={{path/to/file.tar}} --prefix={{path/to/prepend}}/ HEAD

troff

Typesetting processor for the groff (GNU Troff) document formatting system. See also groff. More information: https://manned.org/troff.
  • Format output for a PostScript printer, saving the output to a file:
    troff {{path/to/input.roff}} | grops > {{path/to/output.ps}}
  • Format output for a PostScript printer using the [me] macro package, saving the output to a file:
    troff -{{me}} {{path/to/input.roff}} | grops > {{path/to/output.ps}}
  • Format output as [a]SCII text using the [man] macro package:
    troff -T {{ascii}} -{{man}} {{path/to/input.roff}} | grotty
  • Format output as a [pdf] file, saving the output to a file:
    troff -T {{pdf}} {{path/to/input.roff}} | gropdf > {{path/to/output.pdf}}

kcadm.sh

Perform administration tasks. More information: https://www.keycloak.org/docs/latest/server_admin/#admin-cli.
  • Start an authenticated session:
    kcadm.sh config credentials --server {{host}} --realm {{realm_name}} --user {{username}} --password {{password}}
  • Create a user:
    kcadm.sh create users -s username={{username}} -r {{realm_name}}
  • List all realms:
    kcadm.sh get realms
  • Update a realm with JSON config:
    kcadm.sh update realms/{{realm_name}} -f {{path/to/file.json}}

bash

Bourne-Again SHell, an sh-compatible command-line interpreter. See also: zsh, histexpand (history expansion). More information: https://gnu.org/software/bash/.
  • Start an interactive shell session:
    bash
  • Start an interactive shell session without loading startup configs:
    bash --norc
  • Execute specific [c]ommands:
    bash -c "{{echo 'bash is executed'}}"
  • Execute a specific script:
    bash {{path/to/script.sh}}
  • Execute a specific script while printing each command before executing it:
    bash -x {{path/to/script.sh}}
  • Execute a specific script and stop at the first [e]rror:
    bash -e {{path/to/script.sh}}
  • Execute specific commands from stdin:
    {{echo "echo 'bash is executed'"}} | bash
  • Start a [r]estricted shell session:
    bash -r

omz

Oh My Zsh command-line tool. More information: https://github.com/ohmyzsh/ohmyzsh.
  • Update Oh My Zsh:
    omz update
  • Print the changes from the latest update of Oh My Zsh:
    omz changelog
  • Restart the current Zsh session and Oh My Zsh:
    omz reload
  • List all available plugins:
    omz plugin list
  • Enable/Disable an Oh My Zsh plugin:
    omz plugin {{enable|disable}} {{plugin}}
  • List all available themes:
    omz theme list
  • Set an Oh My Zsh theme in ~/.zshrc:
    omz theme set {{theme}}

gallery-dl

Download image galleries and collections from several image hosting sites. More information: https://github.com/mikf/gallery-dl.
  • Download images from the specified URL:
    gallery-dl "{{url}}"
  • Retrieve pre-existing cookies from your web browser (useful for sites that require login):
    gallery-dl --cookies-from-browser {{browser}} "{{url}}"
  • Get the direct URL of an image from a site supporting authentication with username and password:
    gallery-dl --get-urls --username {{username}} --password {{password}} "{{url}}"
  • Filter manga chapters by chapter number and language:
    gallery-dl --chapter-filter "{{10 <= chapter < 20}}" --option "lang={{language_code}}" "{{url}}"


wait

Wait for a process to complete before proceeding. More information: https://manned.org/wait.
  • Wait for a process to finish given its process ID (PID) and return its exit status:
    wait {{pid}}
  • Wait for all processes known to the invoking shell to finish:
    wait

swipl

SWI-Prolog - A comprehensive free Prolog environment. More information: https://www.swi-prolog.org/.
  • Start an interactive session:
    swipl
  • Execute a command without showing any output:
    swipl --quiet -t "{{command}}"
  • Execute a script:
    swipl {{path/to/file.pl}}
  • Print all shell configuration variables:
    swipl --dump-runtime-variables
  • Print the version:
    swipl --version

conda create

Create new conda environments. More information: https://docs.conda.io/projects/conda/en/latest/commands/create.html.
  • Create a new environment named py39, and install Python 3.9 and NumPy v1.11 or above in it:
    conda create --yes --name {{py39}} python={{3.9}} "{{numpy>=1.11}}"
  • Make exact copy of an environment:
    conda create --clone {{py39}} --name {{py39-copy}}
  • Create a new environment with a specified name and install a given package:
    conda create --name {{env_name}} {{package}}

finger

User information lookup program. More information: https://manned.org/finger.
  • Display information about currently logged in users:
    finger
  • Display information about a specific user:
    finger {{username}}
  • Display the user's login name, real name, terminal name, and other information:
    finger -s
  • Produce multiline output format displaying same information as -s as well as user's home directory, home phone number, login shell, mail status, etc.:
    finger -l
  • Prevent matching against user's names and only use login names:
    finger -m


comm

Select or reject lines common to two files. Both files must be sorted. More information: https://www.gnu.org/software/coreutils/comm.
  • Produce three tab-separated columns: lines only in first file, lines only in second file and common lines:
    comm {{file1}} {{file2}}
  • Print only lines common to both files:
    comm -12 {{file1}} {{file2}}
  • Print only lines common to both files, reading one file from stdin:
    cat {{file1}} | comm -12 - {{file2}}
  • Get lines only found in first file, saving the result to a third file:
    comm -23 {{file1}} {{file2}} > {{file1_only}}
  • Print lines only found in second file, when the files aren't sorted:
    comm -13 <(sort {{file1}}) <(sort {{file2}})

pandoc

Convert documents between various formats. More information: https://pandoc.org.
  • Convert file to PDF (the output format is determined by file extension):
    pandoc {{input.md}} -o {{output.pdf}}
  • Force conversion to use a specific format:
    pandoc {{input.docx}} --to {{gfm}} -o {{output.md}}
  • Convert to a standalone file with the appropriate headers/footers (for LaTeX, HTML, etc.):
    pandoc {{input.md}} -s -o {{output.tex}}
  • List all supported input formats:
    pandoc --list-input-formats
  • List all supported output formats:
    pandoc --list-output-formats

lzcat

This command is an alias of xz --format=lzma --decompress --stdout. More information: https://manned.org/lzcat.
  • View documentation for the original command:
    tldr xz

lpstat

Show status information about printers. More information: https://manned.org/lpstat.
  • List printers present on the machine and whether they are enabled for printing:
    lpstat -p
  • Show the default printer:
    lpstat -d
  • Display all available status information:
    lpstat -t
  • Show a list of print jobs queued by the specified user:
    lpstat -u {{user}}


git feature

Create or merge feature branches. Feature branches obey the format feature/. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-feature.
  • Create and switch to a new feature branch:
    git feature {{feature_branch}}
  • Merge a feature branch into the current branch creating a merge commit:
    git feature finish {{feature_branch}}
  • Merge a feature branch into the current branch squashing the changes into one commit:
    git feature finish --squash {{feature_branch}}
  • Send changes from a specific feature branch to its remote counterpart:
    git feature {{feature_branch}} --remote {{remote_name}}

nix-collect-garbage

Delete unused and unreachable nix store paths. Generations can be listed using nix-env --list-generations. More information: https://nixos.org/releases/nix/latest/manual/#sec-nix-collect-garbage.
  • Delete all store paths unused by current generations of each profile:
    sudo nix-collect-garbage --delete-old
  • Simulate the deletion of old store paths:
    sudo nix-collect-garbage --delete-old --dry-run
  • Delete all store paths older than 30 days:
    sudo nix-collect-garbage --delete-older-than 30d


sshd

Secure Shell Daemon - allows remote machines to securely log in to the current machine. Remote machines can execute commands as it is executed at this machine. More information: https://man.openbsd.org/sshd.
  • Start daemon in the background:
    sshd
  • Run sshd in the foreground:
    sshd -D
  • Run with verbose output (for debugging):
    sshd -D -d
  • Run on a specific port:
    sshd -p {{port}}

trap

Automatically execute commands after receiving signals by processes or the operating system. Can be used to perform cleanups for interruptions by the user or other actions. More information: https://manned.org/trap.
  • List available signals to set traps for:
    trap -l
  • List active traps for the current shell:
    trap -p
  • Set a trap to execute commands when one or more signals are detected:
    trap 'echo "Caught signal {{SIGHUP}}"' {{SIGHUP}}
  • Remove active traps:
    trap - {{SIGHUP}} {{SIGINT}}

dirs

Displays or manipulates the directory stack. The directory stack is a list of recently visited directories that can be manipulated with the pushd and popd commands. More information: https://www.gnu.org/software/bash/manual/bash.html#Directory-Stack-Builtins.
  • Display the directory stack with a space between each entry:
    dirs
  • Display the directory stack with one entry per line:
    dirs -p
  • Display only the nth entry in the directory stack, starting at 0:
    dirs +{{N}}
  • Clear the directory stack:
    dirs -c

fastmod

A fast partial replacement for the codemod tool, replace and replace all in the whole codebase. Regexes are matched by Rust regex crate. More information: https://github.com/facebookincubator/fastmod.
  • Replace a regex pattern in all files of the current directory, ignoring files on .ignore and .gitignore:
    fastmod {{regex_pattern}} {{replacement}}
  • Replace a regex pattern in case-insensitive mode in specific files or directories:
    fastmod --ignore-case {{regex_pattern}} {{replacement}} -- {{path/to/file path/to/directory ...}}
  • Replace a regex pattern in a specific directory in files filtered with a case-insensitive glob pattern:
    fastmod {{regex}} {{replacement}} --dir {{path/to/directory}} --iglob {{'**/*.{js,json}'}}
  • Replace for an exact string in .js or .json files:
    fastmod --fixed-strings {{exact_string}} {{replacement}} --extensions {{json,js}}
  • Replace for an exact string without prompt for a confirmation (disables regular expressions):
    fastmod --accept-all --fixed-strings {{exact_string}} {{replacement}}
  • Replace for an exact string without prompt for a confirmation, printing changed files:
    fastmod --accept-all --print-changed-files --fixed-strings {{exact_string}} {{replacement}}

calligrawords

Calligra's word processor application. See also: calligraflow, calligrastage, calligrasheets. More information: https://manned.org/calligrawords.
  • Launch the word processor application:
    calligrawords
  • Open a specific document:
    calligrawords {{path/to/document}}
  • Display help or version:
    calligrawords --{{help|version}}

dotnet build

Builds a .NET application and its dependencies. More information: https://learn.microsoft.com/dotnet/core/tools/dotnet-build.
  • Compile the project or solution in the current directory:
    dotnet build
  • Compile a .NET project or solution in debug mode:
    dotnet build {{path/to/project_or_solution}}
  • Compile in release mode:
    dotnet build --configuration {{Release}}
  • Compile without restoring dependencies:
    dotnet build --no-restore
  • Compile with a specific verbosity level:
    dotnet build --verbosity {{quiet|minimal|normal|detailed|diagnostic}}
  • Compile for a specific runtime:
    dotnet build --runtime {{runtime_identifier}}
  • Specify the output directory:
    dotnet build --output {{path/to/directory}}

export

Command to mark shell variables in the current environment to be exported with any newly forked child processes. More information: https://www.gnu.org/software/bash/manual/bash.html#index-export.
  • Set a new environment variable:
    export {{VARIABLE}}={{value}}
  • Remove an environment variable:
    export -n {{VARIABLE}}
  • Mark a shell function for export:
    export -f {{FUNCTION_NAME}}
  • Append something to the PATH variable:
    export PATH=$PATH:{{path/to/append}}

doctl kubernetes cluster

Manage Kubernetes clusters and view configuration options relating to clusters. More information: https://docs.digitalocean.com/reference/doctl/reference/kubernetes/cluster/.
  • Create a Kubernetes cluster:
    doctl kubernetes cluster create --count {{3}} --region {{nyc1}} --size {{s-1vcpu-2gb}} --version {{latest}} {{cluster_name}}
  • List all Kubernetes clusters:
    doctl kubernetes cluster list
  • Fetch and save the kubeconfig:
    doctl kubernetes cluster kubeconfig save {{cluster_name}}
  • Check for available upgrades:
    doctl kubernetes cluster get-upgrades {{cluster_name}}
  • Upgrade a cluster to a new Kubernetes version:
    doctl kubernetes cluster upgrade {{cluster_name}}
  • Delete a cluster:
    doctl kubernetes cluster delete {{cluster_name}}

pathchk

Check the validity and portability of one or more pathnames. More information: https://www.gnu.org/software/coreutils/pathchk.
  • Check pathnames for validity in the current system:
    pathchk {{path1 path2 …}}
  • Check pathnames for validity on a wider range of POSIX compliant systems:
    pathchk -p {{path1 path2 …}}
  • Check pathnames for validity on all POSIX compliant systems:
    pathchk --portability {{path1 path2 …}}
  • Only check for empty pathnames or leading dashes (-):
    pathchk -P {{path1 path2 …}}

khal

A text-based calendar and scheduling application for the command-line. More information: https://lostpackets.de/khal.
  • Start Khal on interactive mode:
    ikhal
  • Print all events scheduled in personal calendar for the next seven days:
    khal list -a {{personal}} {{today}} {{7d}}
  • Print all events scheduled not in personal calendar for tomorrow at 10:00:
    khal at -d {{personal}} {{tomorrow}} {{10:00}}
  • Print a calendar with a list of events for the next three months:
    khal calendar
  • Add new event to personal calendar:
    khal new -a {{personal}} {{2020-09-08}} {{18:00}} {{18:30}} "{{Dentist appointment}}"

x11docker

Securely run GUI applications and desktop UIs in Docker containers. See also xephyr. More information: https://github.com/mviereck/x11docker.
  • Launch VLC in a container:
    x11docker --pulseaudio --share={{$HOME/Videos}} {{jess/vlc}}
  • Launch Xfce in a window:
    x11docker --desktop {{x11docker/xfce}}
  • Launch GNOME in a window:
    x11docker --desktop --gpu --init={{systemd}} {{x11docker/gnome}}
  • Launch KDE Plasma in a window:
    x11docker --desktop --gpu --init={{systemd}} {{x11docker/kde-plasma}}
  • Display help:
    x11docker --help

openssl dgst

OpenSSL command to generate digest values and perform signature operations. More information: https://www.openssl.org/docs/manmaster/man1/openssl-dgst.html.
  • Calculate the SHA256 digest for a file, saving the result to a specific file:
    openssl dgst -sha256 -binary -out {{output_file}} {{input_file}}
  • Sign a file using an RSA key, saving the result to a specific file:
    openssl dgst -sign {{private_key_file}} -sha256 -sigopt rsa_padding_mode:pss -out {{output_file}} {{input_file}}
  • Verify an RSA signature:
    openssl dgst -verify {{public_key_file}} -signature {{signature_file}} -sigopt rsa_padding_mode:pss {{signature_message_file}}
  • Sign a file using and ECDSA key:
    openssl dgst -sign {{private_key_file}} -sha256 -out {{output_file}} {{input_file}}
  • Verify an ECDSA signature:
    openssl dgst -verify {{public_key_file}} -signature {{signature_file}} {{signature_message_file}}

timidity

TiMidity++ is a MIDI file player and converter. More information: http://timidity.sourceforge.net.
  • Play a MIDI file:
    timidity {{path/to/file.mid}}
  • Play a MIDI file in a loop:
    timidity --loop {{path/to/file.mid}}
  • Play a MIDI file in a specific key (0 = C major/A minor, -1 = F major/D minor, +1 = G major/E minor, etc.):
    timidity --force-keysig={{-flats|+sharps}} {{path/to/file.mid}}
  • Convert a MIDI file to PCM (WAV) audio:
    timidity --output-mode={{w}} --output-file={{path/to/file.wav}} {{path/to/file.mid}}
  • Convert a MIDI file to FLAC audio:
    timidity --output-mode={{F}} --output-file={{path/to/file.flac}} {{path/to/file.mid}}

dart

The tool for managing Dart projects. More information: https://dart.dev/tools/dart-tool.
  • Initialize a new Dart project in a directory of the same name:
    dart create {{project_name}}
  • Run a Dart file:
    dart run {{path/to/file.dart}}
  • Download dependencies for the current project:
    dart pub get
  • Run unit tests for the current project:
    dart test
  • Update an outdated project's dependencies to support null-safety:
    dart pub upgrade --null-safety
  • Compile a Dart file to a native binary:
    dart compile exe {{path/to/file.dart}}

age-keygen

Generate age key pairs. See age for how to encrypt/decrypt files. More information: https://manned.org/age-keygen.
  • Generate a key pair, save it to an unencrypted file and print the public key to stdout:
    age-keygen --output {{path/to/file}}
  • Convert an identity to a recipient and print the public key to stdout:
    age-keygen -y {{path/to/file}}

mktemp

Create a temporary file or directory. More information: https://ss64.com/osx/mktemp.html.
  • Create an empty temporary file and print the absolute path to it:
    mktemp
  • Create an empty temporary file with a given suffix and print the absolute path to file:
    mktemp --suffix "{{.ext}}"
  • Create a temporary directory and print the absolute path to it:
    mktemp -d

neofetch

Display information about your operating system, software and hardware. More information: https://github.com/dylanaraps/neofetch.
  • Return the default config, and create it if it's the first time the program runs:
    neofetch
  • Trigger an info line from appearing in the output, where 'infoname' is the function name in the config file, e.g. memory:
    neofetch --{{enable|disable}} {{infoname}}
  • Hide/Show OS architecture:
    neofetch --os_arch {{on|off}}
  • Enable/Disable CPU brand in output:
    neofetch --cpu_brand {{on|off}}

codespell

Spellchecker for source code. More information: https://github.com/codespell-project/codespell.
  • Check for typos in all text files in the current directory, recursively:
    codespell
  • Correct all typos found in-place:
    codespell --write-changes
  • Skip files with names that match the specified pattern (accepts a comma-separated list of patterns using wildcards):
    codespell --skip "{{pattern}}"
  • Use a custom dictionary file when checking (--dictionary can be used multiple times):
    codespell --dictionary {{path/to/file.txt}}
  • Do not check words that are listed in the specified file:
    codespell --ignore-words {{path/to/file.txt}}
  • Do not check the specified words:
    codespell --ignore-words-list {{words,to,ignore}}
  • Print 3 lines of context around, before or after each match:
    codespell --{{context|before-context|after-context}} {{3}}
  • Check file names for typos, in addition to file contents:
    codespell --check-filenames

cargo test

Execute the unit and integration tests of a Rust package. More information: https://doc.rust-lang.org/cargo/commands/cargo-test.html.
  • Only run tests containing a specific string in their names:
    cargo test {{testname}}
  • Set the number of simultaneous running test cases:
    cargo test -- --test-threads={{count}}
  • Require that Cargo.lock is up to date:
    cargo test --locked
  • Test artifacts in release mode, with optimizations:
    cargo test --release
  • Test all packages in the workspace:
    cargo test --workspace
  • Run tests for a package:
    cargo test --package {{package}}
  • Run tests without hiding output from test executions:
    cargo test -- --nocapture

xml escape

Escape special XML characters, e.g. <a1>&lt;a1&gt;. More information: http://xmlstar.sourceforge.net/doc/xmlstarlet.pdf.
  • Escape special XML characters in a string:
    xml escape "{{<a1>}}"
  • Escape special XML characters from stdin:
    echo "{{<a1>}}" | xml escape
  • Display help for the escape subcommand:
    xml escape --help

xml select

Select from XML documents using XPATHs. Tip: use xml elements to display the XPATHs of an XML document. More information: http://xmlstar.sourceforge.net/docs.php.
  • Select all elements matching "XPATH1" and print the value of their sub-element "XPATH2":
    xml select --template --match "{{XPATH1}}" --value-of "{{XPATH2}}" {{path/to/input.xml|URI}}
  • Match "XPATH1" and print the value of "XPATH2" as text with new-lines:
    xml select --text --template --match "{{XPATH1}}" --value-of "{{XPATH2}}" --nl {{path/to/input.xml|URI}}
  • Count the elements of "XPATH1":
    xml select --template --value-of "count({{XPATH1}})" {{path/to/input.xml|URI}}
  • Count all nodes in one or more XML documents:
    xml select --text --template --inp-name --output " " --value-of "count(node())" --nl {{path/to/input1.xml|URI}} {{path/to/input2.xml|URI}}
  • Display help for the select subcommand:
    xml select --help

git mv

Move or rename files and update the Git index. More information: https://git-scm.com/docs/git-mv.
  • Move a file inside the repo and add the movement to the next commit:
    git mv {{path/to/file}} {{new/path/to/file}}
  • Rename a file or directory and add the renaming to the next commit:
    git mv {{path/to/file_or_directory}} {{path/to/destination}}
  • Overwrite the file or directory in the target path if it exists:
    git mv --force {{path/to/file_or_directory}} {{path/to/destination}}

oathtool

OATH one-time password tool. More information: https://www.nongnu.org/oath-toolkit/oathtool.1.html.
  • Generate TOTP token (behaves like Google Authenticator):
    oathtool --totp --base32 "{{secret}}"
  • Generate a TOTP token for a specific time:
    oathtool --totp --now "{{2004-02-29 16:21:42}}" --base32 "{{secret}}"
  • Validate a TOTP token:
    oathtool --totp --base32 "{{secret}}" "{{token}}"

cbt

Utility for reading data from Google Cloud's Bigtable. More information: https://cloud.google.com/bigtable/docs/cbt-reference.
  • List tables in the current project:
    cbt ls
  • Print count of rows in a specific table in the current project:
    cbt count "{{table_name}}"
  • Display a single row from a specific table with only 1 (most recent) cell revision per column in the current project:
    cbt lookup "{{table_name}}" "{{row_key}}" cells-per-column={{1}}
  • Display a single row with only specific column(s) (omit qualifier to return entire family) in the current project:
    cbt lookup "{{table_name}}" "{{row_key}}" columns="{{family1:qualifier1,family2:qualifier2,...}}"
  • Search up to 5 rows in the current project by a specific regex pattern and print them:
    cbt read "{{table_name}}" regex="{{row_key_pattern}}" count={{5}}
  • Read a specific range of rows and print only returned row keys in the current project:
    cbt read {{table_name}} start={{start_row_key}} end={{end_row_key}} keys-only=true

pdfseparate

Portable Document Format (PDF) file page extractor. More information: https://manpages.debian.org/latest/poppler-utils/pdfseparate.1.en.html.
  • Extract pages from PDF file and make a separate PDF file for each page:
    pdfseparate {{path/to/source_filename.pdf}} {{path/to/destination_filename-%d.pdf}}
  • Specify the first/start page for extraction:
    pdfseparate -f {{3}} {{path/to/source_filename.pdf}} {{path/to/destination_filename-%d.pdf}}
  • Specify the last page for extraction:
    pdfseparate -l {{10}} {{path/to/source_filename.pdf}} {{path/to/destination_filename-%d.pdf}}

convmv

Convert filenames (NOT file content) from one encoding to another. More information: https://www.j3e.de/linux/convmv/man/.
  • Test filename encoding conversion (don't actually change the filename):
    convmv -f {{from_encoding}} -t {{to_encoding}} {{input_file}}
  • Convert filename encoding and rename the file to the new encoding:
    convmv -f {{from_encoding}} -t {{to_encoding}} --notest {{input_file}}

subfinder

A subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing. More information: https://github.com/subfinder/subfinder.
  • Find subdomains for a specific domain:
    subfinder -d {{example.com}}
  • Show only the subdomains found:
    subfinder --silent -d {{example.com}}
  • Use a brute-force attack to find subdomains:
    subfinder -d {{example.com}} -b
  • Remove wildcard subdomains:
    subfinder -nW -d {{example.com}}
  • Use a given comma-separated list of resolvers:
    subfinder -r {{8.8.8.8}},{{1.1.1.1}} -d {{example.com}}

sha224sum

Calculate SHA224 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-utilities.html.
  • Calculate the SHA224 checksum for one or more files:
    sha224sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of SHA224 checksums to a file:
    sha224sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha224}}
  • Calculate a SHA224 checksum from stdin:
    {{command}} | sha224sum
  • Read a file of SHA224 sums and filenames and verify all files have matching checksums:
    sha224sum --check {{path/to/file.sha224}}
  • Only show a message for missing files or when verification fails:
    sha224sum --check --quiet {{path/to/file.sha224}}
  • Only show a message when verification fails, ignoring missing files:
    sha224sum --ignore-missing --check --quiet {{path/to/file.sha224}}

rustup

Install, manage, and update Rust toolchains. Some subcommands, such as toolchain, target, update, etc. have their own usage documentation. More information: https://rust-lang.github.io/rustup.
  • Install the nightly toolchain for your system:
    rustup install nightly
  • Switch the default toolchain to nightly so that the cargo and rustc commands will use it:
    rustup default nightly
  • Use the nightly toolchain when inside the current project but leave global settings unchanged:
    rustup override set nightly
  • Update all toolchains:
    rustup update
  • List installed toolchains:
    rustup show
  • Run cargo build with a certain toolchain:
    rustup run {{toolchain}} cargo build
  • Open the local Rust documentation in the default web browser:
    rustup doc

docsify

Initialize and serve markdown documentation. More information: https://cli.docsifyjs.org.
  • Initialize a new documentation in the current directory:
    docsify init
  • Initialize a new documentation in the specified directory:
    docsify init {{path/to/directory}}
  • Serve local documentation on localhost:3000 with live reload:
    docsify serve {{path/to/directory}}
  • Serve local documentation on localhost at the specified port:
    docsify serve --port {{80}} {{path/to/directory}}
  • Generate a sidebar markdown file in the specified directory:
    docsify generate {{path/to/directory}}

install

Copy files and set attributes. Copy files (often executable) to a system location like /usr/local/bin, give them the appropriate permissions/ownership. More information: https://www.gnu.org/software/coreutils/install.
  • Copy files to the destination:
    install {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}
  • Copy files to the destination, setting their ownership:
    install --owner {{user}} {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}
  • Copy files to the destination, setting their group ownership:
    install --group {{user}} {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}
  • Copy files to the destination, setting their mode:
    install --mode {{+x}} {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}
  • Copy files and apply access/modification times of source to the destination:
    install --preserve-timestamps {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}
  • Copy files and create the directories at the destination if they don't exist:
    install -D {{path/to/source_file1 path/to/source_file2 ...}} {{path/to/destination}}

pageres

Capture screenshots of websites in various resolutions. More information: https://github.com/sindresorhus/pageres-cli.
  • Take multiple screenshots of multiple URLs at different resolutions:
    pageres {{https://example.com/}} {{https://example2.com/}} {{1366x768}} {{1600x900}}
  • Provide specific options for a URL, overriding global options:
    pageres [{{https://example.com/}} {{1366x768}} --no-crop] [{{https://example2.com/}} {{1024x768}}] --crop
  • Provide a custom filename template:
    pageres {{https://example.com/}} {{1024x768}} --filename={{'<%= date %> - <%= url %>'}}
  • Capture a specific element on a page:
    pageres {{https://example.com/}} {{1366x768}} --selector='{{.page-header}}'
  • Hide a specific element:
    pageres {{https://example.com/}} {{1366x768}} --hide='{{.page-header}}'
  • Capture a screenshot of a local file:
    pageres {{local_file_path.html}} {{1366x768}}

qemu-img

Tool for Quick Emulator Virtual HDD image creation and manipulation. More information: https://qemu.readthedocs.io/en/latest/tools/qemu-img.html.
  • Create disk image with a specific size (in gigabytes):
    qemu-img create {{image_name.img}} {{gigabytes}}G
  • Show information about a disk image:
    qemu-img info {{image_name.img}}
  • Increase or decrease image size:
    qemu-img resize {{image_name.img}} {{gigabytes}}G
  • Dump the allocation state of every sector of the specified disk image:
    qemu-img map {{image_name.img}}
  • Convert a VMware .vmdk disk image to a KVM .qcow2 disk image:
    qemu-img convert -f {{vmdk}} -O {{qcow2}} {{path/to/file/foo.vmdk}} {{path/to/file/foo.qcow2}}

cmp

Compare two files byte by byte. More information: https://www.gnu.org/software/diffutils/manual/html_node/Invoking-cmp.html.
  • Output char and line number of the first difference between two files:
    cmp {{path/to/file1}} {{path/to/file2}}
  • Output info of the first difference: char, line number, bytes, and values:
    cmp --print-bytes {{path/to/file1}} {{path/to/file2}}
  • Output the byte numbers and values of every difference:
    cmp --verbose {{path/to/file1}} {{path/to/file2}}
  • Compare files but output nothing, yield only the exit status:
    cmp --quiet {{path/to/file1}} {{path/to/file2}}

lldb

The LLVM Low-Level Debugger. More information: https://lldb.llvm.org.
  • Debug an executable:
    lldb {{executable}}
  • Attach lldb to a running process with a given PID:
    lldb -p {{pid}}
  • Wait for a new process to launch with a given name, and attach to it:
    lldb -w -n {{process_name}}

join

Join lines of two sorted files on a common field. More information: https://www.gnu.org/software/coreutils/join.
  • Join two files on the first (default) field:
    join {{file1}} {{file2}}
  • Join two files using a comma (instead of a space) as the field separator:
    join -t {{','}} {{file1}} {{file2}}
  • Join field3 of file1 with field1 of file2:
    join -1 {{3}} -2 {{1}} {{file1}} {{file2}}
  • Produce a line for each unpairable line for file1:
    join -a {{1}} {{file1}} {{file2}}
  • Join a file from stdin:
    cat {{path/to/file1}} | join - {{path/to/file2}}

railway

Connect code to a Railway project. More information: https://railway.app/.
  • Login to a Railway account:
    railway login
  • Link to an existing Project under a Railway account or team:
    railway link {{projectId}}
  • Create a new project:
    railway init
  • Run a local command using variables from the active environment:
    railway run {{cmd}}
  • Deploy the linked project directory (if running from a subdirectory, the project root is still deployed):
    railway up
  • Open an interactive shell to a database:
    railway connect

hx

This command is an alias of helix.
  • View documentation for the original command:
    tldr helix

virsh

Manage virsh guest domains. (NOTE: 'guest_id' can be the id, name or UUID of the guest). Some subcommands such as virsh list have their own usage documentation. More information: https://libvirt.org/virshcmdref.html.
  • Connect to a hypervisor session:
    virsh connect {{qemu:///system}}
  • List all domains:
    virsh list --all
  • Dump guest configuration file:
    virsh dumpxml {{guest_id}} > {{path/to/guest.xml}}
  • Create a guest from a configuration file:
    virsh create {{path/to/config_file.xml}}
  • Edit a guest's configuration file (editor can be changed with $EDITOR):
    virsh edit {{guest_id}}
  • Start/reboot/shutdown/suspend/resume a guest:
    virsh {{command}} {{guest_id}}
  • Save the current state of a guest to a file:
    virsh save {{guest_id}} {{filename}}
  • Delete a running guest:
    virsh destroy {{guest_id}} && virsh undefine {{guest_id}}

git check-ref-format

Checks if a given refname is acceptable, and exits with a non-zero status if it is not. More information: https://git-scm.com/docs/git-check-ref-format.
  • Check the format of the specified refname:
    git check-ref-format {{refs/head/refname}}
  • Print the name of the last branch checked out:
    git check-ref-format --branch @{-1}
  • Normalize a refname:
    git check-ref-format --normalize {{refs/head/refname}}

podman images

Manage Podman images. More information: https://docs.podman.io/en/latest/markdown/podman-images.1.html.
  • List all Podman images:
    podman images
  • List all Podman images including intermediates:
    podman images --all
  • List the output in quiet mode (only numeric IDs):
    podman images --quiet
  • List all Podman images not used by any container:
    podman images --filter dangling=true
  • List images that contain a substring in their name:
    podman images "{{*image|image*}}"

balena

Interact with the balenaCloud, openBalena and the balena API. More information: https://www.balena.io/docs/reference/cli/.
  • Log in to the balenaCloud account:
    balena login
  • Create a balenaCloud or openBalena application:
    balena app create {{app_name}}
  • List all balenaCloud or openBalena applications within the account:
    balena apps
  • List all devices associated with the balenaCloud or openBalena account:
    balena devices
  • Flash a balenaOS image to a local drive:
    balena local flash {{path/to/balenaos.img}} --drive {{drive_location}}

home-manager

Manage a user environment using Nix. More information: https://github.com/rycee/home-manager.
  • Activate the configuration defined in ~/.config/nixpkgs/home.nix:
    home-manager build
  • Activate the configuration and switch to it:
    home-manager switch

git show

Show various types of Git objects (commits, tags, etc.). More information: https://git-scm.com/docs/git-show.
  • Show information about the latest commit (hash, message, changes, and other metadata):
    git show
  • Show information about a given commit:
    git show {{commit}}
  • Show information about the commit associated with a given tag:
    git show {{tag}}
  • Show information about the 3rd commit from the HEAD of a branch:
    git show {{branch}}~{{3}}
  • Show a commit's message in a single line, suppressing the diff output:
    git show --oneline -s {{commit}}
  • Show only statistics (added/removed characters) about the changed files:
    git show --stat {{commit}}
  • Show only the list of added, renamed or deleted files:
    git show --summary {{commit}}
  • Show the contents of a file as it was at a given revision (e.g. branch, tag or commit):
    git show {{revision}}:{{path/to/file}}

git annotate

Show commit hash and last author on each line of a file. See git blame, which is preferred over git annotate. git annotate is provided for those familiar with other version control systems. More information: https://git-scm.com/docs/git-annotate.
  • Print a file with the author name and commit hash prepended to each line:
    git annotate {{path/to/file}}
  • Print a file with the author email and commit hash prepended to each line:
    git annotate -e {{path/to/file}}
  • Print only rows that match a regular expression:
    git annotate -L :{{regexp}} {{path/to/file}}

gulp

JavaScript task runner and streaming build system. Tasks are defined within gulpfile.js at the project root. More information: https://github.com/gulpjs/gulp-cli.
  • Run the default task:
    gulp
  • Run individual tasks:
    gulp {{task}} {{othertask}}

chafa

Image printing in the terminal. See also: catimg, pixterm. More information: https://hpjansson.org/chafa.
  • Render an image directly in the terminal:
    chafa {{path/to/file}}
  • Render an image with 24-bit [c]olor:
    chafa -c full {{path/to/file}}
  • Improve image rendering with small color palettes using dithering:
    chafa -c 16 --dither ordered {{path/to/file}}
  • Render an image, making it appear pixelated:
    chafa --symbols vhalf {{path/to/file}}
  • Render a monochrome image with only braille characters:
    chafa -c none --symbols braille {{path/to/file}}

react-native start

Command-line tools to start the React Native server. More information: https://github.com/react-native-community/cli/blob/master/docs/commands.md#start.
  • Start the server that communicates with connected devices:
    react-native start
  • Start the metro bundler with a clean cache:
    react-native start --reset-cache
  • Start the server in a custom port (defaults to 8081):
    react-native start --port {{3000}}
  • Start the server in verbose mode:
    react-native start --verbose
  • Specify the maximum number of workers for transforming files (default is the number of CPU cores):
    react-native start --max-workers {{count}}
  • Disable interactive mode:
    react-native start --no-interactive

odps table

Create and modify tables in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Create a table with partition and lifecycle:
    create table {{table_name}} ({{col}} {{type}}) partitioned by ({{col}} {{type}}) lifecycle {{days}};
  • Create a table based on the definition of another table:
    create table {{table_name}} like {{another_table}};
  • Add partition to a table:
    alter table {{table_name}} add partition ({{partition_spec}});
  • Delete partition from a table:
    alter table {{table_name}} drop partition ({{partition_spec}});
  • Delete table:
    drop table {{table_name}};

f3fix

Edit the partition table of a fake flash drive. See also f3probe, f3write, f3read. More information: http://oss.digirati.com.br/f3/.
  • Fill a fake flash drive with a single partition that matches its real capacity:
    sudo f3fix {{/dev/device_name}}
  • Mark the partition as bootable:
    sudo f3fix --boot {{/dev/device_name}}
  • Specify the filesystem:
    sudo f3fix --fs-type={{filesystem_type}} {{/dev/device_name}}

clip-view

Command Line Interface Pages render. Render for a TlDr-like project with much a more extensive syntax and several render modes. More information: https://github.com/command-line-interface-pages/v2-tooling/tree/main/clip-view.
  • Render specific local pages:
    clip-view {{path/to/page1.clip path/to/page2.clip ...}}
  • Render specific remote pages:
    clip-view {{page_name1 page_name2 ...}}
  • Render pages by a specific render:
    clip-view --render {{tldr|tldr-colorful|docopt|docopt-colorful}} {{page_name1 page_name2 ...}}
  • Render pages with a specific color theme:
    clip-view --theme {{path/to/local_theme.yaml|remote_theme_name}} {{page_name1 page_name2 ...}}
  • Clear a page or theme cache:
    clip-view --clear-{{page|theme}}-cache
  • Display help:
    clip-view --help
  • Display version:
    clip-view --version

vue serve

A subcommand provided by @vue/cli and @vue/cli-service-global that enables quick prototyping. More information: https://cli.vuejs.org/guide/prototyping.html.
  • Serve a .js or .vue file in development mode with zero config:
    vue serve {{filename}}


git info

Display Git repository information. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-info.
  • Display remote locations, remote and local branches, most recent commit data and .git/config settings:
    git info
  • Display remote locations, remote and local branches and most recent commit data:
    git info --no-config

imapsync

Email IMAP tool for syncing, copying and migrating email mailboxes between two IMAP servers, one way, and without duplicates. More information: https://imapsync.lamiral.info.
  • Synchronize IMAP account between host1 and host2:
    imapsync --host1 {{host1}} --user1 {{user1}} --password1 {{secret1}} --host2 {{host2}} --user2 {{user2}} --password2 {{secret2}}

stack

Tool for managing Haskell projects. More information: https://github.com/commercialhaskell/stack.
  • Create a new package:
    stack new {{package}} {{template}}
  • Compile a package:
    stack build
  • Run tests inside a package:
    stack test
  • Compile a project and re-compile every time a file changes:
    stack build --file-watch
  • Compile a project and execute a command after compilation:
    stack build --exec "{{command}}"
  • Run a program and pass an argument to it:
    stack exec {{program}} -- {{argument}}

cmake

Cross-platform build automation system, that generates recipes for native build systems. More information: https://cmake.org/cmake/help/latest/manual/cmake.1.html.
  • Generate a build recipe in the current directory with CMakeLists.txt from a project directory:
    cmake {{path/to/project_directory}}
  • Generate a build recipe, with build type set to Release with CMake variable:
    cmake {{path/to/project_directory}} -D {{CMAKE_BUILD_TYPE=Release}}
  • Generate a build recipe using generator_name as the underlying build system:
    cmake -G {{generator_name}} {{path/to/project_directory}}
  • Use a generated recipe in a given directory to build artifacts:
    cmake --build {{path/to/build_directory}}
  • Install the build artifacts into /usr/local/ and strip debugging symbols:
    cmake --install {{path/to/build_directory}} --strip
  • Install the build artifacts using the custom prefix for paths:
    cmake --install {{path/to/build_directory}} --strip --prefix {{path/to/directory}}
  • Run a custom build target:
    cmake --build {{path/to/build_directory}} --target {{target_name}}
  • Display help, obtain a list of generators:
    cmake --help

xetex

Compile a PDF document from XeTeX source files. More information: https://www.tug.org/xetex/.
  • Compile a PDF document:
    xetex {{source.tex}}
  • Compile a PDF document, specifying an output directory:
    xetex -output-directory={{path/to/directory}} {{source.tex}}
  • Compile a PDF document, exiting if errors occur:
    xetex -halt-on-error {{source.tex}}

pve-firewall

Manage Proxmox VE Firewall. More information: https://pve.proxmox.com/wiki/Firewall.
  • Compile and print all firewall rules:
    pve-firewall compile
  • Show information about the local network:
    pve-firewall localnet
  • Restart the Proxmox VE Firewall service:
    pve-firewall restart
  • Start the Proxmox VE Firewall service:
    pve-firewall start
  • Stop the Proxmox VE Firewall service:
    pve-firewall stop
  • Simulate all firewall rules:
    pve-firewall simulate
  • Show the status of Proxmox VE Firewall:
    pve-firewall status

aws s3 presign

Generate pre-signed URLs for Amazon S3 objects. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/presign.html.
  • Generate a pre-signed URL for a specific S3 object that is valid for one hour:
    aws s3 presign s3://{{bucket_name}}/{{path/to/file}}
  • Generate a pre-signed URL valid for a specific lifetime:
    aws s3 presign s3://{{bucket_name}}/{{path/to/file}} --expires-in {{duration_in_seconds}}
  • Display help:
    aws s3 presign help

tldr-lint

Lint and format tldr pages. More information: https://github.com/tldr-pages/tldr-lint.
  • Lint all pages:
    tldr-lint {{pages_directory}}
  • Format a specific page to stdout:
    tldr-lint --format {{page.md}}
  • Format all pages in place:
    tldr-lint --format --in-place {{pages_directory}}

Pint

An opinionated PHP code style fixer based on PHP-CS-Fixer. More information: https://laravel.com/docs/pint.
  • Execute code style fixing:
    pint
  • Display all files that are changed:
    pint -v
  • Execute code style linting without applying changes:
    pint --test
  • Execute code style fixes using a specific config file:
    pint --config {{path/to/pint.json}}
  • Execute code style fixes using a specific preset:
    pint --preset {{psr12}}

fdroidcl

F-Droid CLI client. More information: https://github.com/mvdan/fdroidcl.
  • Fetch the F-Droid index:
    fdroidcl update
  • Display info about an app:
    fdroidcl show {{app_id}}
  • Download an APK file:
    fdroidcl download {{app_id}}
  • Search for an app in the index:
    fdroidcl search {{search_pattern}}
  • Install an app on a connected device:
    fdroidcl install {{app_id}}

aws ec2

CLI for AWS EC2. Provides secure and resizable computing capacity in the AWS cloud to enable faster development and deployment of applications. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/index.html.
  • Display information about a specific instance:
    aws ec2 describe-instances --instance-ids {{instance_id}}
  • Display information about all instances:
    aws ec2 describe-instances
  • Display information about all EC2 volumes:
    aws ec2 describe-volumes
  • Delete an EC2 volume:
    aws ec2 delete-volume --volume-id {{volume_id}}
  • Create a snapshot from an EC2 volume:
    aws ec2 create-snapshot --volume-id {{volume_id}}
  • List available AMIs (Amazon Machine Images):
    aws ec2 describe-images
  • Show list of all available EC2 commands:
    aws ec2 help
  • Show help for specific EC2 subcommand:
    aws ec2 {{subcommand}} help

minetestserver

Multiplayer infinite-world block sandbox server. See also minetest, the graphical client. More information: https://wiki.minetest.net/Setting_up_a_server.
  • Start the server:
    minetestserver
  • List available worlds:
    minetestserver --world list
  • Specify the world name to load:
    minetestserver --world {{world_name}}
  • List the available game IDs:
    minetestserver --gameid list
  • Specify a game to use:
    minetestserver --gameid {{game_id}}
  • Listen on a specific port:
    minetestserver --port {{34567}}
  • Migrate to a different data backend:
    minetestserver --migrate {{sqlite3|leveldb|redis}}
  • Start an interactive terminal after starting the server:
    minetestserver --terminal

singularity

Manage Singularity containers and images. More information: https://singularity-docs.readthedocs.io/en/latest/#commands.
  • Download a remote image from Sylabs Cloud:
    singularity pull --name {{image.sif}} {{library://godlovedc/funny/lolcow:latest}}
  • Rebuild a remote image using the latest Singularity image format:
    singularity build {{image.sif}} {{docker://godlovedc/lolcow}}
  • Start a container from an image and get a shell inside it:
    singularity shell {{image.sif}}
  • Start a container from an image and run a command:
    singularity exec {{image.sif}} {{command}}
  • Start a container from an image and execute the internal runscript:
    singularity run {{image.sif}}
  • Build a singularity image from a recipe file:
    sudo singularity build {{image.sif}} {{recipe}}

compare

View the difference between 2 images. More information: https://imagemagick.org/script/compare.php.
  • Compare 2 images:
    compare {{image1.png}} {{image2.png}} {{diff.png}}
  • Compare 2 images using a custom metric:
    compare -verbose -metric {{PSNR}} {{image1.png}} {{image2.png}} {{diff.png}}

linode-cli

Manage Linode cloud services. Some subcommands such as events have their own usage documentation. More information: https://www.linode.com/docs/products/tools/cli/get-started/.
  • List all Linodes:
    linode-cli linodes list
  • View docmentation for managing Linode accounts:
    tldr linode-cli account
  • View documentation for managing Linodes:
    tldr linode-cli linodes
  • View documentation for managing Linode Kubernetes Engine (LKE) clusters:
    tldr linode-cli lke
  • View documentation for managing NodeBalancers:
    tldr linode-cli nodebalancers
  • View documentation for managing Object Storage:
    tldr linode-cli object-storage
  • View documentation for managing DNS domains:
    tldr linode-cli domains
  • View documentation for managing Linode Volumes:
    tldr linode-cli volumes

git credential

Retrieve and store user credentials. More information: https://git-scm.com/docs/git-credential.
  • Display credential information, retrieving the username and password from configuration files:
    echo "{{url=http://example.com}}" | git credential fill
  • Send credential information to all configured credential helpers to store for later use:
    echo "{{url=http://example.com}}" | git credential approve
  • Erase the specified credential information from all the configured credential helpers:
    echo "{{url=http://example.com}}" | git credential reject

rbash

Restricted Bash shell, equivalent to bash --restricted. Does not permit changing the working directory, redirecting command output, or modifying environment variables, among other things. See also histexpand for history expansion. More information: https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.
  • Start an interactive shell session:
    rbash
  • Execute a command and then exit:
    rbash -c "{{command}}"
  • Execute a script:
    rbash {{path/to/script.sh}}
  • Execute a script, printing each command before executing it:
    rbash -x {{path/to/script.sh}}
  • Execute commands from a script, stopping at the first error:
    rbash -e {{path/to/script.sh}}
  • Read and execute commands from stdin:
    rbash -s

git stage

Add file contents to the staging area. Synonym of git add. More information: https://git-scm.com/docs/git-stage.
  • Add a file to the index:
    git stage {{path/to/file}}
  • Add all files (tracked and untracked):
    git stage -A
  • Only add already tracked files:
    git stage -u
  • Also add ignored files:
    git stage -f
  • Interactively stage parts of files:
    git stage -p
  • Interactively stage parts of a given file:
    git stage -p {{path/to/file}}
  • Interactively stage a file:
    git stage -i

middleman

Static site generator written in Ruby. More information: https://middlemanapp.com/.
  • Create a new Middleman project:
    middleman init "{{project_name}}"
  • Start local server for current project on port 4567:
    middleman server
  • Start local server for current project on a specified port:
    middleman server -p "{{port}}"
  • Build the project in the current directory to prepare for deployment:
    bundle exec middleman build
  • Deploy the Middleman project in the current directory:
    middleman deploy

apktool

Reverse engineer APK files. More information: https://ibotpeaches.github.io/Apktool/.
  • Decode an APK file:
    apktool d {{path/to/file.apk}}
  • Build an APK file from a directory:
    apktool b {{path/to/directory}}
  • Install and store a framework:
    apktool if {{path/to/framework.apk}}

amass enum

Find subdomains of a domain. More information: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md#the-enum-subcommand.
  • Passively find subdomains of a domain:
    amass enum -passive -d {{domain_name}}
  • Find subdomains of a domain and actively verify them attempting to resolve the found subdomains:
    amass enum -active -d {{domain_name}} -p {{80,443,8080}}
  • Do a brute force search for subdomains:
    amass enum -brute -d {{domain_name}}
  • Save the results to a text file:
    amass enum -o {{output_file}} -d {{domain_name}}
  • Save the results to a database:
    amass enum -o {{output_file}} -dir {{path/to/database_directory}}

flite

Speech synthesis engine. More information: http://www.festvox.org/flite/doc/.
  • List all available voices:
    flite -lv
  • Convert a text string to speech:
    flite -t "{{string}}"
  • Convert the contents of a file to speech:
    flite -f {{path/to/file.txt}}
  • Specify which voice to use:
    flite -voice {{file://path/to/filename.flitevox|url}}
  • Store output into a wav file:
    flite -voice {{file://path/to/filename.flitevox|url}} -f {{path/to/file.txt}} -o {{output.wav}}
  • Display version:
    flite --version

az bicep

Bicep CLI command group. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/bicep.
  • Install Bicep CLI:
    az bicep install
  • Build a Bicep file:
    az bicep build --file {{path/to/file.bicep}}
  • Attempt to decompile an ARM template file to a Bicep file:
    az bicep decompile --file {{path/to/template_file.json}}
  • Upgrade Bicep CLI to the latest version:
    az bicep upgrade
  • Display the installed version of Bicep CLI:
    az bicep version
  • List all available versions of Bicep CLI:
    az bicep list-versions
  • Uninstall Bicep CLI:
    az bicep uninstall

atuin

Store your shell history in a searchable database. Optionally sync your encrypted history between machines. More information: https://atuin.sh/docs/overview/introduction/.
  • Install atuin into your shell:
    eval "$(atuin init {{bash|zsh|fish}})"
  • Import history from the shell default history file:
    atuin import auto
  • Search shell history for a specific command:
    atuin search {{command}}
  • Register an account on the default sync server:
    atuin register -u {{username}} -e {{email}} -p {{password}}
  • Login to the default sync server:
    atuin login -u {{username}} -p {{password}}
  • Sync history with the sync server:
    atuin sync

stow

Symlink manager. Often used to manage dotfiles. More information: https://www.gnu.org/software/stow.
  • Symlink all files recursively to a given directory:
    stow --target={{path/to/target_directory}} {{file1 directory1 file2 directory2}}
  • Delete symlinks recursively from a given directory:
    stow --delete --target={{path/to/target_directory}} {{file1 directory1 file2 directory2}}
  • Simulate to see what the result would be like:
    stow --simulate --target={{path/to/target_directory}} {{file1 directory1 file2 directory2}}
  • Delete and resymlink:
    stow --restow --target={{path/to/target_directory}} {{file1 directory1 file2 directory2}}
  • Exclude files matching a regular expression:
    stow --ignore={{regular_expression}} --target={{path/to/target_directory}} {{file1 directory1 file2 directory2}}

googler

Search Google from command-line. More information: https://github.com/jarun/googler.
  • Search Google for a keyword:
    googler {{keyword}}
  • Search Google and open the first result in web browser:
    googler -j {{keyword}}
  • Show N search results (default 10):
    googler -n {{N}} {{keyword}}
  • Disable automatic spelling correction:
    googler -x {{keyword}}
  • Search one site for a keyword:
    googler -w {{site}} {{keyword}}
  • Show Google search result in JSON format:
    googler --json {{keyword}}
  • Perform in-place self-upgrade:
    googler -u
  • For more help in interactive mode:
    ?

acme.sh --dns

Use a DNS-01 challenge to issue a TLS certificate. More information: https://github.com/acmesh-official/acme.sh/wiki.
  • Issue a certificate using an automatic DNS API mode:
    acme.sh --issue --dns {{gnd_gd}} --domain {{example.com}}
  • Issue a wildcard certificate (denoted by an asterisk) using an automatic DNS API mode:
    acme.sh --issue --dns {{dns_namesilo}} --domain {{example.com}} --domain {{*.example.com}}
  • Issue a certificate using a DNS alias mode:
    acme.sh --issue --dns {{dns_cf}} --domain {{example.com}} --challenge-alias {{alias-for-example-validation.com}}
  • Issue a certificate while disabling automatic Cloudflare/Google DNS polling after the DNS record is added by specifying a custom wait time in seconds:
    acme.sh --issue --dns {{dns_namecheap}} --domain {{example.com}} --dnssleep {{300}}
  • Issue a certificate using a manual DNS mode:
    acme.sh --issue --dns --domain {{example.com}} --yes-I-know-dns-manual-mode-enough-go-ahead-please

atoum

A simple, modern and intuitive unit testing framework for PHP. More information: http://atoum.org.
  • Initialize a configuration file:
    atoum --init
  • Run all tests:
    atoum
  • Run tests using the specified configuration file:
    atoum -c {{path/to/file}}
  • Run a specific test file:
    atoum -f {{path/to/file}}
  • Run a specific directory of tests:
    atoum -d {{path/to/directory}}
  • Run all tests under a specific namespace:
    atoum -ns {{namespace}}
  • Run all tests with a specific tag:
    atoum -t {{tag}}
  • Load a custom bootstrap file before running tests:
    atoum --bootstrap-file {{path/to/file}}

ansible-pull

Pull ansible playbooks from a VCS repo and executes them for the local host. More information: https://docs.ansible.com/ansible/latest/cli/ansible-pull.html.
  • Pull a playbook from a VCS and execute a default local.yml playbook:
    ansible-pull -U {{repository_url}}
  • Pull a playbook from a VCS and execute a specific playbook:
    ansible-pull -U {{repository_url}} {{playbook}}
  • Pull a playbook from a VCS at a specific branch and execute a specific playbook:
    ansible-pull -U {{repository_url}} -C {{branch}} {{playbook}}
  • Pull a playbook from a VCS, specify hosts file and execute a specific playbook:
    ansible-pull -U {{repository_url}} -i {{hosts_file}} {{playbook}}

gh issue

Manage GitHub issues. More information: https://cli.github.com/manual/gh_issue.
  • Display a specific issue:
    gh issue view {{issue_number}}
  • Display a specific issue in the default web browser:
    gh issue view {{issue_number}} --web
  • Create a new issue in the default web browser:
    gh issue create --web
  • List the last 10 issues with the bug label:
    gh issue list --limit {{10}} --label "{{bug}}"
  • List closed issues made by a specific user:
    gh issue list --state closed --author {{username}}
  • Display the status of issues relevant to the user, in a specific repository:
    gh issue status --repo {{owner}}/{{repository}}
  • Reopen a specific issue:
    gh issue reopen {{issue_number}}


fossil add

Put files or directories under Fossil version control. More information: https://fossil-scm.org/home/help/add.
  • Put a file or directory under version control, so it will be in the current checkout:
    fossil add {{path/to/file_or_directory}}
  • Remove all added files from the current checkout:
    fossil add --reset

docker container

Manage Docker containers. More information: https://docs.docker.com/engine/reference/commandline/container/.
  • List currently running Docker containers:
    docker container ls
  • Start one or more stopped containers:
    docker container start {{container1_name}} {{container2_name}}
  • Kill one or more running containers:
    docker container kill {{container_name}}
  • Stop one or more running containers:
    docker container stop {{container_name}}
  • Pause all processes within one or more containers:
    docker container pause {{container_name}}
  • Display detailed information on one or more containers:
    docker container inspect {{container_name}}
  • Export a container's filesystem as a tar archive:
    docker container export {{container_name}}
  • Create a new image from a container's changes:
    docker container commit {{container_name}}

csvgrep

Filter CSV rows with string and pattern matching. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvgrep.html.
  • Find rows that have a certain string in column 1:
    csvgrep -c {{1}} -m {{string_to_match}} {{data.csv}}
  • Find rows in which columns 3 or 4 match a certain regular expression:
    csvgrep -c {{3,4}} -r {{regular_expression}} {{data.csv}}
  • Find rows in which the "name" column does NOT include the string "John Doe":
    csvgrep -i -c {{name}} -m "{{John Doe}}" {{data.csv}}

swagger-codegen

Generate code and documentation for your REST api from a OpenAPI/swagger definition. More information: https://github.com/swagger-api/swagger-codegen.
  • Generate documentation and code from an OpenAPI/swagger file:
    swagger-codegen generate -i {{swagger_file}} -l {{language}}
  • Generate Java code using the library retrofit2 and the option useRxJava2:
    swagger-codegen generate -i {{http://petstore.swagger.io/v2/swagger.json}} -l {{java}} --library {{retrofit2}} -D{{useRxJava2}}={{true}}
  • List available languages:
    swagger-codegen langs
  • Display help options for the generate command:
    swagger-codegen help {{generate}}

mkfile

Create one or more empty files of any size. More information: https://manned.org/mkfile.
  • Create an empty file of 15 kilobytes:
    mkfile -n {{15k}} {{path/to/file}}
  • Create a file of a given size and unit (bytes, KB, MB, GB):
    mkfile -n {{size}}{{b|k|m|g}} {{path/to/file}}
  • Create two files of 4 megabytes each:
    mkfile -n {{4m}} {{first_filename}} {{second_filename}}

zm

A tool for managing articles of newspapers and blogs. More information: https://github.com/ZERMZeitung/zm2.
  • Make a new draft:
    zm new
  • Edit a draft:
    zm edit
  • Publish a draft and commit it with git:
    zm publish

nf-core

The nf-core framework tools, to create, check and develop best-practice guidelines for Nextflow. More information: https://nf-co.re/tools.
  • List existing pipelines on nf-core:
    nf-core list
  • Create a new pipeline skeleton:
    nf-core create
  • Lint the pipeline code:
    nf-core lint {{path/to/directory}}
  • Bump software versions in pipeline recipe:
    nf-core bump-version {{path/to/directory}} {{new_version}}
  • Launch an nf-core pipeline:
    nf-core launch {{pipeline_name}}
  • Download an nf-core pipeline for offline use:
    nf-core download {{pipeline_name}}


vue build

A subcommand provided by @vue/cli and @vue/cli-service-global that enables quick prototyping. More information: https://cli.vuejs.org/guide/prototyping.html.
  • Build a .js or .vue file in production mode with zero config:
    vue build {{filename}}

popd

Remove a directory placed on the directory stack via the pushd shell built-in. See also pushd to place a directory on the stack and dirs to display directory stack contents. More information: https://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html.
  • Remove the top directory from the stack and cd to it:
    popd
  • Remove the Nth directory (starting from zero to the left from the list printed with dirs):
    popd +N
  • Remove the Nth directory (starting from zero to the right from the list printed with dirs):
    popd -N
  • Remove the 1st directory (starting from zero to the left from the list printed with dirs):
    popd -n

ipaggcreate

Produce aggregate statistics of TCP/IP dumps. More information: https://manned.org/ipaggcreate.
  • Count the number of packets sent from each source address appearing in a pcap file:
    ipaggcreate --src {{path/to/file.pcap}}
  • Group and count packets read from a network interface by IP packet length:
    ipaggcreate --interface {{eth0}} --length
  • Count the number of bytes sent between each address pair appearing in a pcap file:
    ipaggcreate --address-pairs --bytes {{path/to/file.pcap}}

supervisord

Supervisor is a client/server system for controlling some processes on UNIX-like operating systems. Supervisord is the server part of supervisor; it is primarily managed via a configuration file. More information: http://supervisord.org.
  • Start supervisord with specified configuration file:
    supervisord -c {{path/to/file}}
  • Run supervisord in the foreground:
    supervisord -n

charm

Set of tools that makes adding a backend to your terminal-based applications, without worrying about user accounts, data storage and encryption. More information: https://github.com/charmbracelet/charm.
  • Backup your Charm account keys:
    charm backup-keys
  • Backup Charm account keys to a specific location:
    charm backup-keys -o {{path/to/output_file.tar}}
  • Import previously backed up Charm account keys:
    charm import-keys "{{charm-keys-backup.tar}}"
  • Find where your cloud.charm.sh folder resides on your machine:
    charm where
  • Start your Charm server:
    charm serve
  • Print linked SSH keys:
    charm keys
  • Print your Charm ID:
    charm id

dolt branch

Manage Dolt branches. More information: https://github.com/dolthub/dolt.
  • List local branches (current branch is highlighted by *):
    dolt branch
  • List all local and remote branches:
    dolt branch --all
  • Create a new branch based on the current branch:
    dolt branch {{branch_name}}
  • Create a new branch with the specified commit as the latest:
    dolt branch {{branch_name}} {{commit}}
  • Rename a branch:
    dolt branch --move {{branch_name1}} {{branch_name2}}
  • Duplicate a branch:
    dolt branch --copy {{branch_name1}} {{branch_name2}}
  • Delete a branch:
    dolt branch --delete {{branch_name}}
  • Display the name of the current branch:
    dolt branch --show-current

exenv

A tool to easily install Elixir versions and manage application environments. More information: https://github.com/exenv/exenv.
  • Display a list of installed versions:
    exenv versions
  • Use a specific version of Elixir across the whole system:
    exenv global {{version}}
  • Use a specific version of Elixir for the current application/project directory:
    exenv local {{version}}
  • Show the currently selected Elixir version:
    exenv {{version}}
  • Install a version of Elixir (requires elixir-build plugin https://github.com/mururu/elixir-build):
    exenv install {{version}}

html5validator

Validate HTML5. More information: https://github.com/svenkreiss/html5validator.
  • Validate a specific file:
    html5validator {{path/to/file}}
  • Validate all HTML files in a specific directory:
    html5validator --root {{path/to/directory}}
  • Show warnings as well as errors:
    html5validator --show-warnings {{path/to/file}}
  • Match multiple files using a glob pattern:
    html5validator --root {{path/to/directory}} --match "{{*.html *.php}}"
  • Ignore specific directory names:
    html5validator --root {{path/to/directory}} --blacklist "{{node_modules vendor}}"
  • Output the results in a specific format:
    html5validator --format {{gnu|xml|json|text}} {{path/to/file}}
  • Output the log at a specific verbosity level:
    html5validator --root {{path/to/directory}} --log {{debug|info|warning}}

odps inst

Manage instances in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Show instances created by current user:
    show instances;
  • Describe the details of an instance:
    desc instance {{instance_id}};
  • Check the status of an instance:
    status {{instance_id}};
  • Wait on the termination of an instance, printing log and progress information until then:
    wait {{instance_id}};
  • Kill an instance:
    kill {{instance_id}};

kaggle

Official CLI for Kaggle implemented in Python 3. More information: https://github.com/Kaggle/kaggle-api.
  • View current configuration values:
    kaggle config view
  • Download a specific file from a competition dataset:
    kaggle competitions download {{competition}} -f {{filename}}

git bug

A distributed bug tracker that uses git's internal storage, so no files are added in your project. You may submit your problems to the same git remote you use to interact with others, much like commits and branches. More information: https://github.com/MichaelMure/git-bug/blob/master/doc/md/git-bug.md.
  • Create a new identity:
    git bug user create
  • Create a new bug:
    git bug add
  • You can push your new entry to a remote:
    git bug push
  • You can pull for updates:
    git bug pull
  • List existing bugs:
    git bug ls
  • Filter and sort bugs using a query:
    git bug ls "{{status}}:{{open}} {{sort}}:{{edit}}"
  • Search for bugs by text content:
    git bug ls "{{search_query}}" baz

serialver

Returns the serialVersionUID of classes. It does not set a security manager by default. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/serialver.html.
  • Display the serialVersionUID of a class:
    serialver {{classnames}}
  • Display the serialVersionUID for a colon-separated list of classes and resources:
    serialver -classpath {{path/to/directory}} {{classname1:classname2:...}}
  • Use a specific option from reference page of Java application launcher to the Java Virtual Machine:
    serialver -Joption {{classnames}}

rvm

A tool for easily installing, managing, and working with multiple ruby environments. More information: https://rvm.io.
  • Install one or more space-separated versions of Ruby:
    rvm install {{version(s)}}
  • Display a list of installed versions:
    rvm list
  • Use a specific version of Ruby:
    rvm use {{version}}
  • Set the default Ruby version:
    rvm --default use {{version}}
  • Upgrade a version of Ruby to a new version:
    rvm upgrade {{current_version}} {{new_version}}
  • Uninstall a version of Ruby and keep its sources:
    rvm uninstall {{version}}
  • Remove a version of Ruby and its sources:
    rvm remove {{version}}
  • Show specific dependencies for your OS:
    rvm requirements

gource

Renders an animated tree diagram of Git, SVN, Mercurial and Bazaar repositories. It shows files and directories being created, modified or removed over time. More information: https://gource.io.
  • Run gource in a directory (if it isn't the repository's root directory, the root is sought up from there):
    gource {{path/to/repository}}
  • Run gource in the current directory, with a custom output resolution:
    gource -{{width}}x{{height}}
  • Set a custom timescale for the animation:
    gource -c {{time_scale_multiplier}}
  • Set how long each day should be in the animation (this combines with -c, if provided):
    gource -s {{seconds}}
  • Set fullscreen mode and a custom background color:
    gource -f -b {{hex_color_code}}
  • Set a title for the animation:
    gource --title {{title}}

pinta

Pinta is a free, open source program for drawing and image editing. More information: https://www.pinta-project.com/.
  • Start Pinta:
    pinta
  • Open specific files:
    pinta {{path/to/image1 path/to/image2 ...}}

git standup

See commits from a specified user. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-standup.
  • Show a given author's commits from the last 10 days:
    git standup -a {{name|email}} -d {{10}}
  • Show a given author's commits from the last 10 days and whether they are GPG signed:
    git standup -a {[name|email}} -d {{10}} -g
  • Show all the commits from all contributors for the last 10 days:
    git standup -a all -d {{10}}
  • Display help:
    git standup -h

git rebase

Reapply commits from one branch on top of another branch. Commonly used to "move" an entire branch to another base, creating copies of the commits in the new location. More information: https://git-scm.com/docs/git-rebase.
  • Rebase the current branch on top of another specified branch:
    git rebase {{new_base_branch}}
  • Start an interactive rebase, which allows the commits to be reordered, omitted, combined or modified:
    git rebase -i {{target_base_branch_or_commit_hash}}
  • Continue a rebase that was interrupted by a merge failure, after editing conflicting files:
    git rebase --continue
  • Continue a rebase that was paused due to merge conflicts, by skipping the conflicted commit:
    git rebase --skip
  • Abort a rebase in progress (e.g. if it is interrupted by a merge conflict):
    git rebase --abort
  • Move part of the current branch onto a new base, providing the old base to start from:
    git rebase --onto {{new_base}} {{old_base}}
  • Reapply the last 5 commits in-place, stopping to allow them to be reordered, omitted, combined or modified:
    git rebase -i {{HEAD~5}}
  • Auto-resolve any conflicts by favoring the working branch version (theirs keyword has reversed meaning in this case):
    git rebase -X theirs {{branch_name}}

eval

Execute arguments as a single command in the current shell and return its result. More information: https://manned.org/eval.
  • Call echo with the "foo" argument:
    eval "{{echo foo}}"
  • Set a variable in the current shell:
    eval "{{foo=bar}}"

grip

Preview GitHub-flavoured Markdown files locally. More information: https://github.com/joeyespo/grip.
  • Start the server and serve the rendered README file of a current directory:
    grip
  • Start the server and serve a specific Markdown file:
    grip {{path/to/file.md}}
  • Start the server and open the README file of the current directory in the browser:
    grip --browser
  • Start the server in the specified port and serve the rendered README file of the current directory:
    grip {{port}}

clang-tidy

An LLVM-based C/C++ linter to find style violations, bugs and security flaws through static analysis. More information: https://clang.llvm.org/extra/clang-tidy/.
  • Run default checks on a source file:
    clang-tidy {{path/to/file.cpp}}
  • Don't run any checks other than the cppcoreguidelines checks on a file:
    clang-tidy {{path/to/file.cpp}} -checks={{-*,cppcoreguidelines-*}}
  • List all available checks:
    clang-tidy -checks={{*}} -list-checks
  • Specify defines and includes as compilation options (after --):
    clang-tidy {{path/to/file.cpp}} -- -I{{my_project/include}} -D{{definitions}}

arp

Show and manipulate your system's ARP cache. More information: https://manned.org/arp.
  • Show the current ARP table:
    arp -a
  • Delete a specific entry:
    arp -d {{address}}
  • Create an entry in the ARP table:
    arp -s {{address}} {{mac_address}}

lzip

Lzip is a lossless data compressor with a user interface similar to gzip or bzip2. Lzip uses a simplified form of the "Lempel-Ziv-Markovchain-Algorithm"z (LZMA) stream format and provides a 3 factor integrity checking to maximize interoperability and optimize safety. More information: https://www.nongnu.org/lzip.
  • Archive a file, replacing it with with a compressed version:
    lzip {{path/to/file}}
  • Archive a file, keeping the input file:
    lzip -k {{path/to/file}}
  • Archive a file with the best compression (level=9):
    lzip -k {{path/to/file}} --best
  • Archive a file at the fastest speed (level=0):
    lzip -k {{path/to/file}} --fast
  • Test the integrity of compressed file:
    lzip --test {{path/to/archive.lz}}
  • Decompress a file, replacing it with the original uncompressed version:
    lzip -d {{path/to/archive.lz}}
  • Decompress a file, keeping the archive:
    lzip -d -k {{path/to/archive.lz}}
  • List files which are in an archive and show compression stats:
    lzip --list {{path/to/archive.lz}}

ts

Add timestamps to every line from stdin. More information: https://joeyh.name/code/moreutils/.
  • Add a timestamp to the beginning of each line:
    {{command}} | ts
  • Add timestamps with microsecond precision:
    {{command}} | ts "{{%b %d %H:%M:%.S}}"
  • Add [i]ncremental timestamps with microsecond precision, starting from zero:
    {{command}} | ts -i "{{%H:%M:%.S}}"
  • Convert existing timestamps in a text file (eg. a log file) into [r]elative format:
    cat {{path/to/file}} | ts -r

mk

Task runner for targets described in Mkfile. Mostly used to control the compilation of an executable from source code. More information: http://doc.cat-v.org/plan_9/4th_edition/papers/mk.
  • Call the first target specified in the Mkfile (usually named "all"):
    mk
  • Call a specific target:
    mk {{target}}
  • Call a specific target, executing 4 jobs at a time in parallel:
    NPROC=4 mk {{target}}
  • Force mking of a target, even if source files are unchanged:
    mk -w{{target}} {{target}}
  • Assume all targets to be out of date. Thus, update target and all of its dependencies:
    mk -a {{target}}
  • Keep going as far as possible on error:
    mk -k

dd

Convert and copy a file. More information: https://www.gnu.org/software/coreutils/dd.
  • Make a bootable USB drive from an isohybrid file (such like archlinux-xxx.iso):
    dd if={{path/to/file.iso}} of=/dev/{{usb_drive}}
  • Clone a drive to another drive with 4 MiB block and ignore error:
    dd if=/dev/{{source_drive}} of=/dev/{{dest_drive}} bs={{4194304}} conv={{noerror}}
  • Generate a file of 100 random bytes by using kernel random driver:
    dd if=/dev/urandom of={{path/to/random_file}} bs={{100}} count={{1}}
  • Benchmark the write performance of a disk:
    dd if=/dev/zero of={{path/to/file_1GB}} bs={{1024}} count={{1000000}}
  • Generate a system backup into an IMG file:
    dd if={{/dev/drive_device}} of={{path/to/file.img}}
  • Restore a drive from an IMG file:
    dd if={{path/to/file.img}} of={{/dev/drive_device}}

mcfly

A smart command history search and management tool. Replaces your default shell history search (ctrl-r) with an intelligent search engine providing context and relevance to the commands. More information: https://github.com/cantino/mcfly.
  • Print the mcfly integration code for the specified shell:
    mcfly init {{bash|fish|zsh}}
  • Search the history for a command, with 20 results:
    mcfly search --results {{20}} "{{search_terms}}"
  • Add a new command to the history:
    mcfly add "{{command}}"
  • Record that a directory has moved and transfer the historical records from the old path to the new one:
    mcfly move "{{path/to/old_directory}}" "{{path/to/new_directory}}"
  • Train the suggestion engine (developer tool):
    mcfly train
  • Display help for a specific subcommand:
    mcfly help {{subcommand}}

odps auth

User authorities in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Add a user to the current project:
    add user {{username}};
  • Grant a set of authorities to a user:
    grant {{action_list}} on {{object_type}} {{object_name}} to user {{username}};
  • Show authorities of a user:
    show grants for {{username}};
  • Create a user role:
    create role {{role_name}};
  • Grant a set of authorities to a role:
    grant {{action_list}} on {{object_type}} {{object_name}} to role {{role_name}};
  • Describe authorities of a role:
    desc role {{role_name}};
  • Grant a role to a user:
    grant {{role_name}} to {{username}};

airdecap-ng

Decrypt a WEP, WPA or WPA2 encrypted capture file. Part of Aircrack-ng network software suite. More information: https://www.aircrack-ng.org/doku.php?id=airdecap-ng.
  • Remove wireless headers from an open network capture file and use the access point's MAC address to filter:
    airdecap-ng -b {{ap_mac}} {{path/to/capture.cap}}
  • Decrypt a WEP encrypted capture file using the key in hex format:
    airdecap-ng -w {{hex_key}} {{path/to/capture.cap}}
  • Decrypt a WPA/WPA2 encrypted capture file using the access point's [e]ssid and [p]assword:
    airdecap-ng -e {{essid}} -p {{password}} {{path/to/capture.cap}}
  • Decrypt a WPA/WPA2 encrypted capture file preserving the headers using the access point's [e]ssid and [p]assword:
    airdecap-ng -l -e {{essid}} -p {{password}} {{path/to/capture.cap}}
  • Decrypt a WPA/WPA2 encrypted capture file using the access point's [e]ssid and [p]assword and use its MAC address to filter:
    airdecap-ng -b {{ap_mac}} -e {{essid}} -p {{password}} {{path/to/capture.cap}}

puppet

Help to manage and automate the configuration of servers. Some subcommands such as puppet agent have their own usage documentation. More information: https://puppet.com/.
  • Execute a Puppet subcommand:
    puppet {{subcommand}}
  • Check the Puppet version:
    puppet --version
  • Display help:
    puppet --help
  • Display help for a subcommand:
    puppet help {{subcommand}}

llvm-config

Get various configuration information needed to compile programs which use LLVM. Typically called from build systems, like in Makefiles or configure scripts. More information: https://llvm.org/docs/CommandGuide/llvm-config.html.
  • Compile and link an LLVM based program:
    clang++ $(llvm-config --cxxflags --ldflags --libs) --output {{path/to/output_executable}} {{path/to/source.cc}}
  • Print the PREFIX of your LLVM installation:
    llvm-config --prefix
  • Print all targets supported by your LLVM build:
    llvm-config --targets-built

twurl

Curl-like command but tailored specifically for the Twitter API. More information: https://github.com/twitter/twurl.
  • Authorize twurl to access a Twitter account:
    twurl authorize --consumer-key {{twitter_api_key}} --consumer-secret {{twitter_api_secret}}
  • Make a GET request to an API endpoint:
    twurl -X GET {{twitter_api_endpoint}}
  • Make a POST request to an API endpoint:
    twurl -X POST -d '{{endpoint_params}}' {{twitter_api_endpoint}}
  • Upload media to Twitter:
    twurl -H "{{twitter_upload_url}}" -X POST "{{twitter_upload_endpoint}}" --file "{{path/to/media.jpg}}" --file-field "media"
  • Access a different Twitter API host:
    twurl -H {{twitter_api_url}} -X GET {{twitter_api_endpoint}}
  • Create an alias for a requested resource:
    twurl alias {{alias_name}} {{resource}}

bssh

A GUI tool for browsing for SSH/VNC servers on the local network. See also: bvnc and bshell. More information: https://linux.extremeoverclocking.com/man/1/bssh.
  • Browse for SSH servers:
    bssh
  • Browse for VNC servers:
    bssh --vnc
  • Browse for both SSH and VNC servers:
    bssh --shell
  • Browse for SSH servers in a specified domain:
    bssh --domain={{domain}}

hn

Command-line interface for Hacker News. More information: https://github.com/rafaelrinaldi/hn-cli.
  • View stories on Hacker News:
    hn
  • View number of stories on Hacker News:
    hn --limit {{number}}
  • View stories on Hacker News, and keep the list open after selecting a link:
    hn --keep-open
  • View stories on Hacker News sorted by submission date:
    hn --latest

netstat

Displays network-related information such as open connections, open socket ports, etc. More information: https://man7.org/linux/man-pages/man8/netstat.8.html.
  • List all ports:
    netstat --all
  • List all listening ports:
    netstat --listening
  • List listening TCP ports:
    netstat --tcp
  • Display PID and program names:
    netstat --program
  • List information continuously:
    netstat --continuous
  • List routes and do not resolve IP addresses to hostnames:
    netstat --route --numeric
  • List listening TCP and UDP ports (+ user and process if you're root):
    netstat --listening --program --numeric --tcp --udp --extend

pngcrush

PNG compression utility. More information: https://pmt.sourceforge.io/pngcrush.
  • Compress a PNG file:
    pngcrush {{in.png}} {{out.png}}
  • Compress all PNGs and output them to the specified directory:
    pngcrush -d {{path/to/output}} *.png
  • Compress PNG file with all 114 available algorithms and pick the best result:
    pngcrush -rem allb -brute -reduce {{in.png}} {{out.png}}

moro

Track work time. More information: https://moro.js.org.
  • Invoke moro without parameters, to set the current time as the start of the working day:
    moro
  • Specify a custom time for the start of the working day:
    moro hi {{09:30}}
  • Invoke moro without parameters a second time, to set the current time at the end of the working day:
    moro
  • Specify a custom time for the end of the working day:
    moro bye {{17:30}}
  • Add a note on the current working day:
    moro note {{3 hours on project Foo}}
  • Show a report of time logs and notes for the current working day:
    moro report
  • Show a report of time logs and notes for all working days on record:
    moro report --all

git commits-since

Display commits since a specific time or date. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-commits-since.
  • Display commits since yesterday:
    git commits-since {{yesterday}}
  • Display commits since last week:
    git commits-since {{last week}}
  • Display commits since last month:
    git commits-since {{last month}}
  • Display commits since yesterday 2pm:
    git commits-since {{yesterday 2pm}}

consul

Distributed key-value store with health checking and service discovery. Some subcommands such as consul kv have their own usage documentation. More information: https://www.consul.io/commands.
  • Check the Consul version:
    consul --version
  • Show general help:
    consul --help
  • Show help for a sub-command:
    consul {{sub-command}} --help

fls

List files and directories in an image file or device. More information: https://wiki.sleuthkit.org/index.php?title=Fls.
  • Build a recursive fls list over a device, output paths will start with C:
    fls -r -m {{C:}} {{/dev/loop1p1}}
  • Analyze a single partition, providing the sector offset at which the filesystem starts in the image:
    fls -r -m {{C:}} -o {{sector}} {{path/to/image_file}}
  • Analyze a single partition, providing the timezone of the original system:
    fls -r -m {{C:}} -z {{timezone}} {{/dev/loop1p1}}

gist

Upload code to https://gist.github.com. More information: https://github.com/defunkt/gist.
  • Log in in gist on this computer:
    gist --login
  • Create a gist from any number of text files:
    gist {{file.txt}} {{file2.txt}}
  • Create a private gist with a description:
    gist --private --description "{{A meaningful description}}" {{file.txt}}
  • Read contents from stdin and create a gist from it:
    {{echo "hello world"}} | gist
  • List your public and private gists:
    gist --list
  • List all public gists for any user:
    gist --list {{username}}
  • Update a gist using the ID from URL:
    gist --update {{GIST_ID}} {{file.txt}}

dolt commit

Commit staged changes to tables. More information: https://docs.dolthub.com/interfaces/cli#dolt-commit.
  • Commit all staged changes, opening the editor specified by $EDITOR to enter the commit message:
    dolt commit
  • Commit all staged changes with the specified message:
    dolt commit --message "{{commit_message}}"
  • Stage all unstaged changes to tables before committing:
    dolt commit --all
  • Use the specified ISO 8601 commit date (defaults to current date and time):
    dolt commit --date "{{2021-12-31T00:00:00}}"
  • Use the specified author for the commit:
    dolt commit --author "{{author_name}} <{{author_email}}>"
  • Allow creating an empty commit, with no changes:
    dolt commit --allow-empty
  • Ignore foreign key warnings:
    dolt commit --force

linode-cli lke

Manage Linode Kubernetes Engine (LKE) clusters. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/linode-kubernetes-engine/.
  • List all LKE clusters:
    linode-cli lke clusters list
  • Create a new LKE cluster:
    linode-cli lke clusters create --region {{region}} --type {{type}} --node-type {{node_type}} --nodes-count {{count}}
  • View details of a specific LKE cluster:
    linode-cli lke clusters view {{cluster_id}}
  • Update an existing LKE cluster:
    linode-cli lke clusters update {{cluster_id}} --node-type {{new_node_type}}
  • Delete an LKE cluster:
    linode-cli lke clusters delete {{cluster_id}}

git diff-files

Compare files using their sha1 hashes and modes. More information: https://git-scm.com/docs/git-diff-files.
  • Compare all changed files:
    git diff-files
  • Compare only specified files:
    git diff-files {{path/to/file}}
  • Show only the names of changed files:
    git diff-files --name-only
  • Output a summary of extended header information:
    git diff-files --summary

conda install

Install packages into an existing conda environment. More information: https://docs.conda.io/projects/conda/en/latest/commands/install.html.
  • Install a single package into the currently active conda environment:
    conda install {{package}}
  • Install a single package into the currently active conda environment using channel conda-forge:
    conda install -c conda-forge {{package}}
  • Install a single package into the currently active conda environment using channel conda-forge and ignoring other channels:
    conda install -c conda-forge --override-channels {{package}}
  • Install multiple packages:
    conda install {{package1 package2 ...}}
  • Install a specific version of a package:
    conda install {{package}}={{version}}
  • Install a package into a specific environment:
    conda install --name {{environment}} {{package}}
  • Update a package in the current environment:
    conda install --upgrade {{package}}
  • Install a package and agree to the transactions without prompting:
    conda install --yes {{package}}

git update-index

Git command for manipulating the index. More information: https://git-scm.com/docs/git-update-index.
  • Pretend that a modified file is unchanged (git status will not show this as changed):
    git update-index --skip-worktree {{path/to/modified_file}}

xml format

Format an XML document. More information: http://xmlstar.sourceforge.net/docs.php.
  • Format an XML document, indenting with tabs:
    xml format --indent-tab {{path/to/input.xml|URI}} > {{path/to/output.xml}}
  • Format an HTML document, indenting with 4 spaces:
    xml format --html --indent-spaces {{4}} {{path/to/input.html|URI}} > {{path/to/output.html}}
  • Recover parsable parts of a malformed XML document, without indenting:
    xml format --recover --noindent {{path/to/malformed.xml|URI}} > {{path/to/recovered.xml}}
  • Format an XML document from stdin, removing the DOCTYPE declaration:
    cat {{path\to\input.xml}} | xml format --dropdtd > {{path/to/output.xml}}
  • Format an XML document, omitting the XML declaration:
    xml format --omit-decl {{path\to\input.xml|URI}} > {{path/to/output.xml}}
  • Display help for the format subcommand:
    xml format --help

watson

A wonderful CLI to track your time. More information: https://github.com/TailorDev/Watson.
  • Start monitoring time in project:
    watson start {{project}}
  • Start monitoring time in project with tags:
    watson start {{project}} +{{tag}}
  • Stop monitoring time for the current project:
    watson stop
  • Display the latest working sessions:
    watson log
  • Edit most recent frame:
    watson edit
  • Remove most recent frame:
    watson remove

xidel

Download and extract data from HTML/XML pages as well as JSON APIs. More information: https://www.videlibri.de/xidel.html.
  • Print all URLs found by a Google search:
    xidel {{https://www.google.com/search?q=test}} --extract "//a/extract(@href, 'url[?]q=([^&]+)&', 1)[. != '']"
  • Print the title of all pages found by a Google search and download them:
    xidel {{https://www.google.com/search?q=test}} --follow "{{//a/extract(@href, 'url[?]q=([^&]+)&', 1)[. != '']}}" --extract {{//title}} --download {{'{$host}/'}}
  • Follow all links on a page and print the titles, with XPath:
    xidel {{https://example.org}} --follow {{//a}} --extract {{//title}}
  • Follow all links on a page and print the titles, with CSS selectors:
    xidel {{https://example.org}} --follow "{{css('a')}}" --css {{title}}
  • Follow all links on a page and print the titles, with pattern matching:
    xidel {{https://example.org}} --follow "{{<a>{.}</a>*}}" --extract "{{<title>{.}</title>}}"
  • Read the pattern from example.xml (which will also check if the element containing "ood" is there, and fail otherwise):
    xidel {{path/to/example.xml}} --extract "{{<x><foo>ood</foo><bar>{.}</bar></x>}}"
  • Print all newest Stack Overflow questions with title and URL using pattern matching on their RSS feed:
    xidel {{http://stackoverflow.com/feeds}} --extract "{{<entry><title>{title:=.}</title><link>{uri:=@href}</link></entry>+}}"
  • Check for unread Reddit mail, Webscraping, combining CSS, XPath, JSONiq, and automatically form evaluation:
    xidel {{https://reddit.com}} --follow "{{form(css('form.login-form')[1], {'user': '$your_username', 'passwd': '$your_password'})}}" --extract "{{css('#mail')/@title}}"

route

Use route cmd to set the route table. More information: https://manned.org/route.
  • Display the information of route table:
    route -n
  • Add route rule:
    sudo route add -net {{ip_address}} netmask {{netmask_address}} gw {{gw_address}}
  • Delete route rule:
    sudo route del -net {{ip_address}} netmask {{netmask_address}} dev {{gw_address}}

yapf

Python style guide checker. More information: https://github.com/google/yapf.
  • Display a diff of the changes that would be made, without making them (dry-run):
    yapf --diff {{path/to/file}}
  • Format the file in-place and display a diff of the changes:
    yapf --diff --in-place {{path/to/file}}
  • Recursively format all Python files in a directory, concurrently:
    yapf --recursive --in-place --style {{pep8}} --parallel {{path/to/directory}}

mdp

A command-line based tool to make presentations from Markdown files. More information: https://github.com/visit1985/mdp.
  • Launch a presentation in the terminal from a Markdown file:
    mdp {{presentation.md}}
  • Disable fading transitions:
    mdp --nofade {{presentation.md}}
  • Invert font colors to use in terminals with light background:
    mdp --invert {{presentation.md}}
  • Disable transparency in transparent terminals:
    mdp --notrans {{presentation.md}}

aws backup

Unified backup service designed to protect Amazon Web Services services and their associated data. More information: https://docs.aws.amazon.com/cli/latest/reference/backup/index.html.
  • Return BackupPlan details for a specific BackupPlanId:
    aws backup get-backup-plan --backup-plan-id {{id}}
  • Create a backup plan using a specific backup plan name and backup rules:
    aws backup create-backup-plan --backup-plan {{plan}}
  • Delete a specific backup plan:
    aws backup delete-backup-plan --backup-plan-id {{id}}
  • Return a list of all active backup plans for the current account:
    aws backup list-backup-plans
  • Display details about your report jobs:
    aws backup list-report-jobs

g++

Compiles C++ source files. Part of GCC (GNU Compiler Collection). More information: https://gcc.gnu.org.
  • Compile a source code file into an executable binary:
    g++ {{path/to/source.cpp}} -o {{path/to/output_executable}}
  • Display common warnings:
    g++ {{path/to/source.cpp}} -Wall -o {{path/to/output_executable}}
  • Choose a language standard to compile for (C++98/C++11/C++14/C++17):
    g++ {{path/to/source.cpp}} -std={{c++98|c++11|c++14|c++17}} -o {{path/to/output_executable}}
  • Include libraries located at a different path than the source file:
    g++ {{path/to/source.cpp}} -o {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}
  • Compile and link multiple source code files into an executable binary:
    g++ -c {{path/to/source_1.cpp path/to/source_2.cpp ...}} && g++ -o {{path/to/output_executable}} {{path/to/source_1.o path/to/source_2.o ...}}
  • Display version:
    g++ --version

black

A Python auto code formatter. More information: https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html.
  • Auto-format a file or entire directory:
    black {{path/to/file_or_directory}}
  • Format the code passed in as a string:
    black -c "{{code}}"
  • Output whether a file or a directory would have changes made to them if they were to be formatted:
    black --check {{path/to/file_or_directory}}
  • Output changes that would be made to a file or a directory without performing them (dry-run):
    black --diff {{path/to/file_or_directory}}
  • Auto-format a file or directory, emitting exclusively error messages to stderr:
    black --quiet {{path/to/file_or_directory}}
  • Auto-format a file or directory without replacing single quotes with double quotes (adoption helper, avoid using this for new projects):
    black --skip-string-normalization {{path/to/file_or_directory}}

pyats version

View and upgrade the pyATS installation. More information: https://developer.cisco.com/pyats/.
  • Display version of all packages:
    pyats version check
  • Display outdated packages:
    pyats version check --outdated
  • Update packages to the most recent version:
    pyats version update
  • Update or downgrade packages to a specific version:
    pyats version update {{version}}

clang++

Compiles C++ source files. Part of LLVM. More information: https://clang.llvm.org.
  • Compile a source code file into an executable binary:
    clang++ {{path/to/source.cpp}} -o {{path/to/output_executable}}
  • Display (almost) all errors and warnings:
    clang++ {{path/to/source.cpp}} -Wall -o {{path/to/output_executable}}
  • Choose a language standard to compile with:
    clang++ {{path/to/source.cpp}} -std={{c++20}} -o {{path/to/output_executable}}
  • Include libraries located at a different path than the source file:
    clang++ {{path/to/source.cpp}} -o {{path/to/output_executable}} -I{{path/to/header_path}} -L{{path/to/library_path}} -l{{path/to/library_name}}
  • Compile source code into LLVM Intermediate Representation (IR):
    clang++ -S -emit-llvm {{path/to/source.cpp}} -o {{path/to/output.ll}}

ioping

Monitor I/O latency in real time. More information: https://github.com/koct9i/ioping.
  • Show disk I/O latency using the default values and the current directory:
    ioping .
  • Measure latency on /tmp using 10 requests of 1 megabyte each:
    ioping -c 10 -s 1M /tmp
  • Measure disk seek rate on /dev/sdX:
    ioping -R {{/dev/sdX}}
  • Measure disk sequential speed on /dev/sdX:
    ioping -RL {{/dev/sdX}}

dolt clone

Clone a repository into a new directory. More information: https://docs.dolthub.com/interfaces/cli#dolt-clone.
  • Clone an existing repository into a specific directory (defaults to the repository name):
    dolt clone {{repository_url}} {{path/to/directory}}
  • Clone an existing repository and add a specific remote (defaults to origin):
    dolt clone --remote {{remote_name}} {{repository_url}}
  • Clone an existing repository only fetching a specific branch (defaults to all branches):
    dolt clone --branch {{branch_name}} {{repository_url}}
  • Clone a repository, using an AWS region (uses the profile's default region if none is provided):
    dolt clone --aws-region {{region_name}} {{repository_url}}
  • Clone a repository, using an AWS credentials file:
    dolt clone --aws-creds-file {{credentials_file}} {{repository_url}}
  • Clone a repository, using an AWS credentials profile (uses the default profile if none is provided):
    dolt clone --aws-creds-profile {{profile_name}} {{repository_url}}
  • Clone a repository, using an AWS credentials type:
    dolt clone --aws-creds-type {{credentials_type}} {{repository_url}}

wpaclean

Clean capture files to get only the 4-way handshake and a beacon. Part of Aircrack-ng network software suite. More information: https://manned.org/wpaclean.1.
  • Clean capture and save only the 4-way handshake and a beacon in the result:
    wpaclean {{path/to/result.cap}} {{path/to/capture.cap}}
  • Clean multiple captures and save 4-way handshakes and beacons in the result:
    wpaclean {{path/to/result.cap}} {{path/to/capture1.cap path/to/capture2.cap ...}}

strip-nondeterminism

A tool to remove non-deterministic information (e.g. timestamps) from files. More information: https://salsa.debian.org/reproducible-builds/strip-nondeterminism.
  • Strip nondeterministic information from a file:
    strip-nondeterminism {{path/to/file}}
  • Strip nondeterministic information from a file manually specifying the filetype:
    strip-nondeterminism --type {{filetype}} {{path/to/file}}
  • Strip nondeterministic information from a file; instead of removing timestamps set them to the specified UNIX timestamp:
    strip-nondeterminism --timestamp {{unix_timestamp}} {{path/to/file}}

zip

Package and compress (archive) files into zip file. See also: unzip. More information: https://manned.org/zip.
  • Add files/directories to a specific archive ([r]ecursively):
    zip -r {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Remove files/directories from a specific archive ([d]elete):
    zip -d {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Archive files/directories e[x]cluding specified ones:
    zip -r {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}} -x {{path/to/excluded_files_or_directories}}
  • Archive files/directories with a specific compression level (0 - the lowest, 9 - the highest):
    zip -r -{{0-9}} {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Create an [e]ncrypted archive with a specific password:
    zip -r -e {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Archive files/directories to a multi-part [s]plit zip file (e.g. 3 GB parts):
    zip -r -s {{3g}} {{path/to/compressed.zip}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Print a specific archive contents:
    zip -sf {{path/to/compressed.zip}}

az storage container

Manage blob storage containers in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/container.
  • Create a container in a storage account:
    az storage container create --account-name {{storage_account_name}} --name {{container_name}} --public-access {{access_level}} --fail-on-exist
  • Generate a shared access signature for the container:
    az storage container generate-sas --account-name {{storage_account_name}} --name {{container_name}} --permissions {{sas_permissions}} --expiry {{expiry_date}} --https-only
  • List containers in a storage account:
    az storage container list --account-name {{storage_account_name}} --prefix {{filter_prefix}}
  • Mark the specified container for deletion:
    az storage container delete --account-name {{storage_account_name}} --name {{container_name}} --fail-not-exist

aws cloud9

Manage Cloud9 - a collection of tools to code, build, run, test, debug, and release software in the cloud. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloud9/index.html.
  • Get a list of Cloud9 development environment identifiers:
    aws cloud9 list-environments
  • Create a Cloud9 development environment:
    aws cloud9 create-environment-ec2 --name {{name}} --instance-type {{instance_type}}
  • Display information about Cloud9 development environments:
    aws cloud9 describe-environments --environment-ids {{environment_ids}}
  • Add an environment member to a Cloud9 development environment:
    aws cloud9 create-environment-membership --environment-id {{environment_id}} --user-arn {{user_arn}} --permissions {{permissions}}
  • Display status information for a Cloud9 development environment:
    aws cloud9 describe-environment-status --environment-id {{environment_id}}
  • Delete a Cloud9 environment:
    aws cloud9 delete-environment --environment-id {{environment_id}}
  • Delete an environment member from a development environment:
    aws cloud9 delete-environment-membership --environment-id {{environment_id}} --user-arn {{user_arn}}

bcomps

Decompose graphs into their biconnected components. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/bcomps.1.pdf.
  • Decompose one or more graphs into their biconnected components:
    bcomps {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Print the number of blocks and cutvertices in one or more graphs:
    bcomps -v -s {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Write each block and block-cutvertex tree to multiple numbered filenames based on output.gv:
    bcomps -x -o {{path/to/output.gv}} {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Display help for bcomps:
    bcomps -?

gem

A package manager for the Ruby programming language. More information: https://guides.rubygems.org.
  • Search for remote gem(s) and show all available versions:
    gem search {{regular_expression}} --all
  • Install the latest version of a gem:
    gem install {{gem_name}}
  • Install a specific version of a gem:
    gem install {{gem_name}} --version {{1.0.0}}
  • Install the latest matching (SemVer) version of a gem:
    gem install {{gem_name}} --version '~> {{1.0}}'
  • Update a gem:
    gem update {{gem_name}}
  • List all local gems:
    gem list
  • Uninstall a gem:
    gem uninstall {{gem_name}}
  • Uninstall a specific version of a gem:
    gem uninstall {{gem_name}} --version {{1.0.0}}

doas

Executes a command as another user. More information: https://man.openbsd.org/doas.
  • Run a command as root:
    doas {{command}}
  • Run a command as another user:
    doas -u {{user}} {{command}}
  • Launch the default shell as root:
    doas -s
  • Parse a config file and check if the execution of a command as another user is allowed:
    doas -C {{config_file}} {{command}}
  • Make doas request a password even after it was supplied earlier:
    doas -L


ipfs

Inter Planetary File System. A peer-to-peer hypermedia protocol. Aims to make the web more open. More information: https://ipfs.io.
  • Add a file from local to the filesystem, pin it and print the relative hash:
    ipfs add {{path/to/file}}
  • Add a directory and its files recursively from local to the filesystem and print the relative hash:
    ipfs add -r {{path/to/directory}}
  • Save a remote file and give it a name but not pin it:
    ipfs get {{hash}} -o {{path/to/file}}
  • Pin a remote file locally:
    ipfs pin add {{hash}}
  • Display pinned files:
    ipfs pin ls
  • Unpin a file from the local storage:
    ipfs pin rm {{hash}}
  • Remove unpinned files from local storage:
    ipfs repo gc

git clone

Clone an existing repository. More information: https://git-scm.com/docs/git-clone.
  • Clone an existing repository into a new directory (the default directory is the repository name):
    git clone {{remote_repository_location}} {{path/to/directory}}
  • Clone an existing repository and its submodules:
    git clone --recursive {{remote_repository_location}}
  • Clone only the .git directory of an existing repository:
    git clone --no-checkout {{remote_repository_location}}
  • Clone a local repository:
    git clone --local {{path/to/local/repository}}
  • Clone quietly:
    git clone --quiet {{remote_repository_location}}
  • Clone an existing repository only fetching the 10 most recent commits on the default branch (useful to save time):
    git clone --depth {{10}} {{remote_repository_location}}
  • Clone an existing repository only fetching a specific branch:
    git clone --branch {{name}} --single-branch {{remote_repository_location}}
  • Clone an existing repository using a specific SSH command:
    git clone --config core.sshCommand="{{ssh -i path/to/private_ssh_key}}" {{remote_repository_location}}

npm-home

Open the npm page, Yarn page, or GitHub repository of a package in the web browser. More information: https://github.com/sindresorhus/npm-home.
  • Open the npm page of a specific package in the web browser:
    npm-home {{package}}
  • Open the GitHub repository of a specific package in the web browser:
    npm-home -g {{package}}
  • Open the Yarn page of a specific package in the web browser:
    npm-home -y {{package}}

uname

Print details about the current machine and the operating system running on it. See also lsb_release. More information: https://www.gnu.org/software/coreutils/uname.
  • Print kernel name:
    uname
  • Print system architecture and processor information:
    uname --machine --processor
  • Print kernel name, kernel release and kernel version:
    uname --kernel-name --kernel-release --kernel-version
  • Print system hostname:
    uname --nodename
  • Print all available system information:
    uname --all

mullvad

CLI client for Mullvad VPN. More information: https://mullvad.net/.
  • Link your mullvad account with the specified account number:
    mullvad account set {{account_number}}
  • Enable LAN access while VPN is on:
    mullvad lan set allow
  • Establish the VPN tunnel:
    mullvad connect
  • Check status of VPN tunnel:
    mullvad status

phpenv

A PHP version manager for development purposes. More information: https://github.com/phpenv/phpenv.
  • Install a PHP version globally:
    phpenv install {{version}}
  • Refresh shim files for all PHP binaries known to phpenv:
    phpenv rehash
  • List all installed PHP versions:
    phpenv versions
  • Display the currently active PHP version:
    phpenv version
  • Set the global PHP version:
    phpenv global {{version}}
  • Set the local PHP version, which overrides the global version:
    phpenv local {{version}}
  • Unset the local PHP version:
    phpenv local --unset

find

Find files or directories under the given directory tree, recursively. More information: https://manned.org/find.
  • Find files by extension:
    find {{root_path}} -name '{{*.ext}}'
  • Find files matching multiple path/name patterns:
    find {{root_path}} -path '{{**/path/**/*.ext}}' -or -name '{{*pattern*}}'
  • Find directories matching a given name, in case-insensitive mode:
    find {{root_path}} -type d -iname '{{*lib*}}'
  • Find files matching a given pattern, excluding specific paths:
    find {{root_path}} -name '{{*.py}}' -not -path '{{*/site-packages/*}}'
  • Find files matching a given size range, limiting the recursive depth to "1":
    find {{root_path}} -maxdepth 1 -size {{+500k}} -size {{-10M}}
  • Run a command for each file (use {} within the command to access the filename):
    find {{root_path}} -name '{{*.ext}}' -exec {{wc -l {} }}\;
  • Find files modified in the last 7 days:
    find {{root_path}} -daystart -mtime -{{7}}
  • Find empty (0 byte) files and delete them:
    find {{root_path}} -type {{f}} -empty -delete

vault

Interact with HashiCorp Vault. More information: https://www.vaultproject.io/docs/commands.
  • Connect to a Vault server and initialize a new encrypted data store:
    vault init
  • Unseal (unlock) the vault, by providing one of the key shares needed to access the encrypted data store:
    vault unseal {{key-share-x}}
  • Authenticate the CLI client against the Vault server, using an authentication token:
    vault auth {{authentication_token}}
  • Store a new secret in the vault, using the generic back-end called "secret":
    vault write secret/{{hello}} value={{world}}
  • Read a value from the vault, using the generic back-end called "secret":
    vault read secret/{{hello}}
  • Read a specific field from the value:
    vault read -field={{field_name}} secret/{{hello}}
  • Seal (lock) the Vault server, by removing the encryption key of the data store from memory:
    vault seal

hexdump

An ASCII, decimal, hexadecimal, octal dump. More information: https://manned.org/hexdump.
  • Print the hexadecimal representation of a file, replacing duplicate lines by '*':
    hexdump {{path/to/file}}
  • Display the input offset in hexadecimal and its ASCII representation in two columns:
    hexdump -C {{path/to/file}}
  • Display the hexadecimal representation of a file, but interpret only n bytes of the input:
    hexdump -C -n{{number_of_bytes}} {{path/to/file}}
  • Don't replace duplicate lines with '*':
    hexdump --no-squeezing {{path/to/file}}

ng

Create and manage Angular applications. More information: https://angular.io/cli.
  • Create a new Angular application inside a directory:
    ng new {{project_name}}
  • Add a new component to one's application:
    ng generate component {{component_name}}
  • Add a new class to one's application:
    ng generate class {{class_name}}
  • Add a new directive to one's application:
    ng generate directive {{directive_name}}
  • Run the application with the following command in its root directory:
    ng serve
  • Build the application:
    ng build
  • Run unit tests:
    ng test
  • Check the version of your current Angular installation:
    ng version

rapper

The Raptor RDF parsing utility. Part of the Raptor RDF Syntax Library. More information: http://librdf.org/raptor/rapper.html.
  • Convert an RDF/XML document to Turtle:
    rapper -i rdfxml -o turtle {{path/to/file}}
  • Count the number of triples in a Turtle file:
    rapper -i turtle -c {{path/to/file}}

rspec

Behavior-driven development testing framework written in Ruby to test Ruby code. More information: https://rspec.info.
  • Initialize an .rspec config and a spec helper file:
    rspec --init
  • Run all tests:
    rspec
  • Run a specific directory of tests:
    rspec {{path/to/directory}}
  • Run a specific test file:
    rspec {{path/to/file}}
  • Run multiple test files:
    rspec {{path/to/file1}} {{path/to/file2}}
  • Run a specific test in a file (e.g. the test starts on line 83):
    rspec {{path/to/file}}:{{83}}
  • Run specs with a specific seed:
    rspec --seed {{seed_number}}

test

Check file types and compare values. Returns 0 if the condition evaluates to true, 1 if it evaluates to false. More information: https://www.gnu.org/software/coreutils/test.
  • Test if a given variable is equal to a given string:
    test "{{$MY_VAR}}" == "{{/bin/zsh}}"
  • Test if a given variable is empty:
    test -z "{{$GIT_BRANCH}}"
  • Test if a file exists:
    test -f "{{path/to/file_or_directory}}"
  • Test if a directory does not exist:
    test ! -d "{{path/to/directory}}"
  • If A is true, then do B, or C in the case of an error (notice that C may run even if A fails):
    test {{condition}} && {{echo "true"}} || {{echo "false"}}

cabal

Command-line interface to the Haskell package infrastructure (Cabal). Manage Haskell projects and Cabal packages from the Hackage package repository. More information: https://cabal.readthedocs.io/en/latest/intro.html.
  • Search and list packages from Hackage:
    cabal list {{search_string}}
  • Show information about a package:
    cabal info {{package}}
  • Download and install a package:
    cabal install {{package}}
  • Create a new Haskell project in the current directory:
    cabal init
  • Build the project in the current directory:
    cabal build
  • Run tests of the project in the current directory:
    cabal test

az group

Manage resource groups and template deployments. Part of azure-cli. More information: https://docs.microsoft.com/cli/azure/group.
  • Create a new resource group:
    az group create --name {{name}} --location {{location}}
  • Check if a resource group exists:
    az group exists --name {{name}}
  • Delete a resource group:
    az group delete --name {{name}}
  • Wait until a condition of the resource group is met:
    az group wait --name {{name}} --{{created|deleted|exists|updated}}

glab pipeline

List, view, and run GitLab CI/CD pipelines. More information: https://glab.readthedocs.io/en/latest/pipeline.
  • View a running pipeline on the current branch:
    glab pipeline status
  • View a running pipeline on a specific branch:
    glab pipeline status --branch {{branch_name}}
  • Get the list of pipelines:
    glab pipeline list
  • Run a manual pipeline on the current branch:
    glab pipeline run
  • Run a manual pipeline on a specific branch:
    glab pipeline run --branch {{branch_name}}

hostid

Prints the numeric identifier for the current host (not necessarily the IP address). More information: https://www.gnu.org/software/coreutils/hostid.
  • Display the numeric identifier for the current host in hexadecimal:
    hostid

dvc gc

Remove unused files and directories from the cache or remote storage. More information: https://dvc.org/doc/command-reference/gc.
  • Garbage collect from the cache, keeping only versions referenced by the current workspace:
    dvc gc --workspace
  • Garbage collect from the cache, keeping only versions referenced by branch, tags, and commits:
    dvc gc --all-branches --all-tags --all-commits
  • Garbage collect from the cache, including the default cloud remote storage (if set):
    dvc gc --all-commits --cloud
  • Garbage collect from the cache, including a specific cloud remote storage:
    dvc gc --all-commits --cloud --remote {{remote_name}}

qr

Generate QR codes in the terminal with ANSI VT-100 escape codes. More information: https://github.com/lincolnloop/python-qrcode/.
  • Generate a QR code:
    echo "{{data}}" | qr
  • Specify the error correction level (defaults to M):
    echo "{{data}}" | qr --error-correction={{L|M|Q|H}}

code

Cross platform and extensible code editor. More information: https://github.com/microsoft/vscode.
  • Start Visual Studio Code:
    code
  • Open specific files/directories:
    code {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Compare two specific files:
    code --diff {{path/to/file1}} {{path/to/file2}}
  • Open specific files/directories in a new window:
    code --new-window {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Install/uninstall a specific extension:
    code --{{install|uninstall}}-extension {{publisher.extension}}
  • Print installed extensions:
    code --list-extensions
  • Print installed extensions with their versions:
    code --list-extensions --show-versions
  • Start the editor as a superuser (root) while storing user data in a specific directory:
    sudo code --user-data-dir {{path/to/directory}}

az pipelines

Manage Azure Pipelines resources. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/pipelines.
  • Create a new Azure Pipeline (YAML based):
    az pipelines create --org {{organization_url}} --project {{project_name}} --name {{pipeline_name}} --description {{description}} --repository {{repository_name}} --branch {{branch_name}}
  • Delete a specific pipeline:
    az pipelines delete --org {{organization_url}} --project {{project_name}} --id {{pipeline_id}}
  • List pipelines:
    az pipelines list --org {{organization_url}} --project {{project_name}}
  • Enqueue a specific pipeline to run:
    az pipelines run --org {{organization_url}} --project {{project_name}} --name {{pipeline_name}}
  • Get the details of a specific pipeline:
    az pipelines show --org {{organization_url}} --project {{project_name}} --name {{pipeline_name}}
  • Update a specific pipeline:
    az pipelines update --org {{organization_url}} --project {{project_name}} --name {{pipeline_name}} --new-name {{pipeline_new_name}} --new-folder-path {{user1/production_pipelines}}
  • Get a list of agents in a pool:
    az pipelines agent list --org {{organization_url}} --pool-id {{agent_pool}}

podman

Simple management tool for pods, containers and images. Podman provides a Docker-CLI comparable command-line. Simply put: alias docker=podman. More information: https://github.com/containers/podman/blob/main/commands-demo.md.
  • List all containers (both running and stopped):
    podman ps --all
  • Create a container from an image, with a custom name:
    podman run --name {{container_name}} {{image}}
  • Start or stop an existing container:
    podman {{start|stop}} {{container_name}}
  • Pull an image from a registry (defaults to Docker Hub):
    podman pull {{image}}
  • Display the list of already downloaded images:
    podman images
  • Open a shell inside an already running container:
    podman exec --interactive --tty {{container_name}} {{sh}}
  • Remove a stopped container:
    podman rm {{container_name}}
  • Display the logs of one or more containers and follow log output:
    podman logs --follow {{container_name}} {{container_id}}

dotnet publish

Publish a .NET application and its dependencies to a directory for deployment to a hosting system. More information: https://learn.microsoft.com/dotnet/core/tools/dotnet-publish.
  • Compile a .NET project in release mode:
    dotnet publish --configuration Release {{path/to/project_file}}
  • Publish the .NET Core runtime with your application for the specified runtime:
    dotnet publish --self-contained true --runtime {{runtime_identifier}} {{path/to/project_file}}
  • Package the application into a platform-specific single-file executable:
    dotnet publish --runtime {{runtime_identifier}} -p:PublishSingleFile=true {{path/to/project_file}}
  • Trim unused libraries to reduce the deployment size of an application:
    dotnet publish --self-contained true --runtime {{runtime_identifier}} -p:PublishTrimmed=true {{path/to/project_file}}
  • Compile a .NET project without restoring dependencies:
    dotnet publish --no-restore {{path/to/project_file}}
  • Specify the output directory:
    dotnet publish --output {{path/to/directory}} {{path/to/project_file}}

AdGuardHome

A network-wide software for blocking ads & tracking. More information: https://github.com/AdguardTeam/AdGuardHome.
  • Run AdGuard Home:
    AdGuardHome
  • Run AdGuard Home with a specific config:
    AdGuardHome --config {{path/to/AdGuardHome.yaml}}
  • Set the work directory for data to be stored in:
    AdGuardHome --work-dir {{path/to/directory}}
  • Install or uninstall AdGuard Home as a service:
    AdGuardHome --service {{install|uninstall}}
  • Start the AdGuard Home service:
    AdGuardHome --service start
  • Reload the configuration for the AdGuard Home service:
    AdGuardHome --service reload
  • Stop or restart the AdGuard Home service:
    AdGuardHome --service {{stop|restart}}

id3tag

Tool for reading, writing, and manipulating ID3v1 and ID3v2 tags of MP3 files. More information: https://manned.org/id3tag.
  • Set artist and title tag of an MP3 file:
    id3tag --artist={{artist}} --title={{title}} {{path/to/file.mp3}}
  • Set album title of all MP3 files in the current directory:
    id3tag --album={{album}} {{*.mp3}}
  • Get more help:
    id3tag --help

odps tunnel

Data tunnel in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Download table to local file:
    tunnel download {{table_name}} {{path/to/file}};
  • Upload local file to a table partition:
    tunnel upload {{path/to/file}} {{table_name}}/{{partition_spec}};
  • Upload table specifying field and record delimiters:
    tunnel upload {{path/to/file}} {{table_name}} -fd {{field_delim}} -rd {{record_delim}};
  • Upload table using multiple threads:
    tunnel upload {{path/to/file}} {{table_name}} -threads {{num}};

ghdl

Open-source simulator for the VHDL language. More information: http://ghdl.free.fr.
  • Analyze a VHDL source file and produce an object file:
    ghdl -a {{filename.vhdl}}
  • Elaborate a design (where {{design}} is the name of a configuration unit, entity unit or architecture unit):
    ghdl -e {{design}}
  • Run an elaborated design:
    ghdl -r {{design}}
  • Run an elaborated design and dump output to a waveform file:
    ghdl -r {{design}} --wave={{output.ghw}}
  • Check the syntax of a VHDL source file:
    ghdl -s {{filename.vhdl}}
  • Display the help page:
    ghdl --help

env

Show the environment or run a program in a modified environment. More information: https://www.gnu.org/software/coreutils/env.
  • Show the environment:
    env
  • Run a program. Often used in scripts after the shebang (#!) for looking up the path to the program:
    env {{program}}
  • Clear the environment and run a program:
    env -i {{program}}
  • Remove variable from the environment and run a program:
    env -u {{variable}} {{program}}
  • Set a variable and run a program:
    env {{variable}}={{value}} {{program}}
  • Set multiple variables and run a program:
    env {{variable1}}={{value}} {{variable2}}={{value}} {{variable3}}={{value}} {{program}}

aws batch

Run batch computing workloads through the AWS Batch service. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/index.html.
  • List running batch jobs:
    aws batch list-jobs --job-queue {{queue_name}}
  • Create compute environment:
    aws batch create-compute-environment --compute-environment-name {{compute_environment_name}} --type {{type}}
  • Create batch job queue:
    aws batch create-job-queue --job-queue-name {{queue_name}} --priority {{priority}} --compute-environment-order {{compute_environment}}
  • Submit job:
    aws batch submit-job --job-name {{job_name}} --job-queue {{job_queue}} --job-definition {{job_definition}}
  • Describe the list of batch jobs:
    aws batch describe-jobs --jobs {{jobs}}
  • Cancel job:
    aws batch cancel-job --job-id {{job_id}} --reason {{reason}}

adb install

Android Debug Bridge Install: Push packages to an Android emulator instance or connected Android devices. More information: https://developer.android.com/studio/command-line/adb.
  • Push an Android application to an emulator/device:
    adb install {{path/to/file.apk}}
  • Push an Android application to a specific emulator/device (overrides $ANDROID_SERIAL):
    adb -s {{serial_number}} install {{path/to/file.apk}}
  • Reinstall an existing app, keeping its data:
    adb install -r {{path/to/file.apk}}
  • Push an Android application allowing version code downgrade (debuggable packages only):
    adb install -d {{path/to/file.apk}}
  • Grant all permissions listed in the app manifest:
    adb install -g {{path/to/file.apk}}
  • Quickly update an installed package by only updating the parts of the APK that changed:
    adb install --fastdeploy {{path/to/file.apk}}

xonsh

Python-powered, cross-platform, Unix-gazing shell. Write and mix sh/Python code in Xonsh (pronounced conch). More information: https://xon.sh.
  • Start an interactive shell session:
    xonsh
  • Execute a single command and then exit:
    xonsh -c "{{command}}"
  • Run commands from a script file and then exit:
    xonsh {{path/to/script_file.xonsh}}
  • Define environment variables for the shell process:
    xonsh -D{{name1}}={{value1}} -D{{name2}}={{value2}}
  • Load the specified .xonsh or .json configuration files:
    xonsh --rc {{path/to/file1.xonsh}} {{path/to/file2.json}}
  • Skip loading the .xonshrc configuration file:
    xonsh --no-rc

xml canonic

Make XML documents canonical. More information: http://xmlstar.sourceforge.net/docs.php.
  • Make an XML document canonical, preserving comments:
    xml canonic {{path/to/input.xml|URI}} > {{path/to/output.xml}}
  • Make an XML document canonical, removing comments:
    xml canonic --without-comments {{path/to/input.xml|URI}} > {{path/to/output.xml}}
  • Make XML exclusively canonical, using an XPATH from a file, preserving comments:
    xml canonic --exc-with-comments {{path/to/input.xml|URI}} {{path/to/c14n.xpath}}
  • Display help for the canonic subcommand:
    xml canonic --help

chisel

Create TCP tunnels. Includes both client and server. More information: https://github.com/jpillora/chisel.
  • Run a Chisel server:
    chisel server
  • Run a Chisel server listening to a specific port:
    chisel server -p {{server_port}}
  • Run a chisel server that accepts authenticated connections using username and password:
    chisel server --auth {{username}}:{{password}}
  • Connect to a Chisel server and tunnel a specific port to a remote server and port:
    chisel client {{server_ip}}:{{server_port}} {{local_port}}:{{remote_server}}:{{remote_port}}
  • Connect to a Chisel server and tunnel a specific host and port to a remote server and port:
    chisel client {{server_ip}}:{{server_port}} {{local_host}}:{{local_port}}:{{remote_server}}:{{remote_port}}
  • Connect to a Chisel server using username and password authentication:
    chisel client --auth {{username}}:{{password}} {{server_ip}}:{{server_port}} {{local_port}}:{{remote_server}}:{{remote_port}}

godot

An open source 2D and 3D game engine. More information: https://godotengine.org/.
  • Run a project if the current directory contains a project.godot file, otherwise open the project manager:
    godot
  • Edit a project (the current directory must contain a project.godot file):
    godot -e
  • Open the project manager even if the current directory contains a project.godot file:
    godot -p
  • Export a project for a given export preset (the preset must be defined in the project):
    godot --export {{preset}} {{output_path}}
  • Execute a standalone GDScript file (the script must inherit from SceneTree or MainLoop):
    godot -s {{script.gd}}

gprof

Performance analysis tool for many programming languages. It profiles the function executions of a program. More information: https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html.
  • Compile binary with gprof information and run it to get gmon.out:
    gcc -pg {{program.c}} && {{./a.out}}
  • Run gprof to obtain profile output:
    gprof
  • Suppress profile field's description:
    gprof -b
  • Display routines that have zero usage:
    gprof -bz

gitlint

Git commit message linter checks your commit messages for style. More information: https://jorisroovers.com/gitlint/.
  • Check the last commit message:
    gitlint
  • The range of commits to lint:
    gitlint --commits {{single_refspec_argument}}
  • Path to a directory or Python module with extra user-defined rules:
    gitlint --extra-path {{path/to/directory}}
  • Start a specific CI job:
    gitlint --target {{path/to/target_directory}}
  • Path to a file containing a commit-msg:
    gitlint --msg-filename {{path/to/filename}}
  • Read staged commit meta-info from the local repository:
    gitlint --staged

man

Format and display manual pages. More information: https://www.man7.org/linux/man-pages/man1/man.1.html.
  • Display the man page for a command:
    man {{command}}
  • Display the man page for a command from section 7:
    man {{7}} {{command}}
  • List all available sections for a command:
    man -f {{command}}
  • Display the path searched for manpages:
    man --path
  • Display the location of a manpage rather than the manpage itself:
    man -w {{command}}
  • Display the man page using a specific locale:
    man {{command}} --locale={{locale}}
  • Search for manpages containing a search string:
    man -k "{{search_string}}"

vhs

Generate terminal gifs from a tape file. More information: https://github.com/charmbracelet/vhs.
  • Create a tape file (add commands to the tape file using an editor):
    vhs new {{path/to/file.tape}}
  • Record inputs to a tape file (once done, exit the shell to create the tape):
    vhs record > {{path/to/file.tape}}
  • Record inputs to a tape file using a specific shell:
    vhs record --shell {{shell}} > {{path/to/file.tape}}
  • Validate the syntax of a tape file:
    vhs validate {{path/to/file.tape}}
  • Create a gif from a tape file:
    vhs < {{path/to/file.tape}}
  • Publish a gif to https://vhs.charm.sh and get a shareable URL:
    vhs publish {{path/to/file.gif}}


plesk

Plesk hosting control panel. More information: https://docs.plesk.com.
  • Generate an auto login link for the admin user and print it:
    plesk login
  • Show product version information:
    plesk version
  • List all hosted domains:
    plesk bin domain --list
  • Start watching for changes in the panel.log file:
    plesk log {{panel.log}}
  • Start the interactive MySQL console:
    plesk db
  • Open the Plesk main configuration file in the default editor:
    plesk conf {{panel.ini}}

zmv

Move or rename files matching a specified extended glob pattern. See also zcp and zln. More information: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html.
  • Move files using a regular expression-like pattern:
    zmv '{{(*).log}}' '{{$1.txt}}'
  • Preview the result of a move, without making any actual changes:
    zmv -n '{{(*).log}}' '{{$1.txt}}'
  • Interactively move files, with a prompt before every change:
    zmv -i '{{(*).log}}' '{{$1.txt}}'
  • Verbosely print each action as it's being executed:
    zmv -v '{{(*).log}}' '{{$1.txt}}'


Nix classic interface

A classic, stable interface to a powerful package manager that makes package management reliable, reproducible, and declarative. Some Nix commands such as nix-build, nix-shell, nix-env, and nix-store have their own pages. See also: tldr nix. More information: https://nixos.org.
  • Search for a package in nixpkgs via its name:
    nix-env -qaP {{search_term_regexp}}
  • Start a shell with the specified packages available:
    nix-shell -p {{pkg1 pkg2 pkg3...}}
  • Install some packages permanently:
    nix-env -iA {{nixpkgs.pkg1 nixpkgs.pkg2...}}
  • Show all dependencies of a store path (package), in a tree format:
    nix-store --query --tree {{/nix/store/...}}
  • Update the channels (repositories):
    nix-channel --update
  • Remove unused paths from Nix store:
    nix-collect-garbage

spark

The Laravel Spark command-line tool. More information: https://spark.laravel.com.
  • Register your API token:
    spark register {{token}}
  • Display the currently registered API token:
    spark token
  • Create a new Spark project:
    spark new {{project_name}}
  • Create a new Spark project with Braintree stubs:
    spark new {{project_name}} --braintree
  • Create a new Spark project with team-based billing stubs:
    spark new {{project_name}} --team-billing

jetifier

Jetifier AndroidX transition tool in npm format, with a react-native compatible style. More information: https://github.com/mikehardy/jetifier.
  • Migrate project dependencies to the AndroidX format:
    jetifier
  • Migrate project dependencies from the AndroidX format:
    jetifier reverse

inkscape

An SVG (Scalable Vector Graphics) editing program. For Inkscape versions up to 0.92.x, use -e instead of -o. More information: https://inkscape.org.
  • Open an SVG file in the Inkscape GUI:
    inkscape {{filename.svg}}
  • Export an SVG file into a bitmap with the default format (PNG) and the default resolution (96 DPI):
    inkscape {{filename.svg}} -o {{filename.png}}
  • Export an SVG file into a bitmap of 600x400 pixels (aspect ratio distortion may occur):
    inkscape {{filename.svg}} -o {{filename.png}} -w {{600}} -h {{400}}
  • Export the drawing (bounding box of all objects) of an SVG file into a bitmap:
    inkscape {{filename.svg}} -o {{filename.png}} -D
  • Export a single object, given its ID, into a bitmap:
    inkscape {{filename.svg}} -i {{id}} -o {{object.png}}
  • Export an SVG document to PDF, converting all texts to paths:
    inkscape {{filename.svg}} -o {{filename.pdf}} --export-text-to-path
  • Duplicate the object with id="path123", rotate the duplicate 90 degrees, save the file, and quit Inkscape:
    inkscape {{filename.svg}} --select=path123 --verb="{{EditDuplicate;ObjectRotate90;FileSave;FileQuit}}"

scp

Secure copy. Copy files between hosts using Secure Copy Protocol over SSH. More information: https://man.openbsd.org/scp.
  • Copy a local file to a remote host:
    scp {{path/to/local_file}} {{remote_host}}:{{path/to/remote_file}}
  • Use a specific port when connecting to the remote host:
    scp -P {{port}} {{path/to/local_file}} {{remote_host}}:{{path/to/remote_file}}
  • Copy a file from a remote host to a local directory:
    scp {{remote_host}}:{{path/to/remote_file}} {{path/to/local_directory}}
  • Recursively copy the contents of a directory from a remote host to a local directory:
    scp -r {{remote_host}}:{{path/to/remote_directory}} {{path/to/local_directory}}
  • Copy a file between two remote hosts transferring through the local host:
    scp -3 {{host1}}:{{path/to/remote_file}} {{host2}}:{{path/to/remote_directory}}
  • Use a specific username when connecting to the remote host:
    scp {{path/to/local_file}} {{remote_username}}@{{remote_host}}:{{path/to/remote_directory}}
  • Use a specific ssh private key for authentication with the remote host:
    scp -i {{~/.ssh/private_key}} {{local_file}} {{remote_host}}:{{/path/remote_file}}

tlmgr gui

Start a graphical user interface for tlmgr. tlmgr gui depends on the package perl-tk, which has to be installed manually. More information: https://www.tug.org/texlive/tlmgr.html.
  • Start a GUI for tlmgr:
    sudo tlmgr gui
  • Start a GUI specifying the background color:
    sudo tlmgr gui -background "{{#f39bc3}}"
  • Start a GUI specifying the foreground color:
    sudo tlmgr gui -foreground "{{#0ef3bd}}"
  • Start a GUI specifying the font and font size:
    sudo tlmgr gui -font "{{helvetica 18}}"
  • Start a GUI setting a specific geometry:
    sudo tlmgr gui -geometry {{width}}x{{height}}-{{xpos}}+{{ypos}}
  • Start a GUI passing an arbitrary X resource string:
    sudo tlmgr gui -xrm {{xresource}}

meld

Graphical diffing and merging tool. More information: https://meldmerge.org/.
  • Start meld:
    meld
  • Compare 2 files:
    meld {{path/to/file_1}} {{path/to/file_2}}
  • Compare 2 directories:
    meld {{path/to/directory_1}} {{path/to/directory_2}}
  • Compare 3 files:
    meld {{path/to/file_1}} {{path/to/file_2}} {{path/to/file_3}}
  • Open a comparison as a new tab in a pre-existing meld instance:
    meld --newtab {{path/to/file_1}} {{path/to/file_2}}
  • Compare multiple sets of files:
    meld --diff {{path/to/file_1}} {{path/to/file_2}} --diff {{path/to/file_3}} {{path/to/file_4}}

stressapptest

Userspace memory and IO test. More information: https://github.com/stressapptest/stressapptest.
  • Test the given amount of memory (in Megabytes):
    stressapptest -M {{memory}}
  • Test memory as well as I/O for the given file:
    stressapptest -M {{memory}} -f {{path/to/file}}
  • Test specifying the verbosity level, where 0=lowest, 20=highest, 8=default:
    stressapptest -M {{memory}} -v {{level}}

rbenv

A tool to easily install Ruby versions and manage application environments. More information: https://github.com/rbenv/rbenv.
  • Install a Ruby version:
    rbenv install {{version}}
  • Display a list of the latest stable versions for each Ruby:
    rbenv install --list
  • Display a list of installed Ruby versions:
    rbenv versions
  • Use a specific Ruby version across the whole system:
    rbenv global {{version}}
  • Use a specific Ruby version for an application/project directory:
    rbenv local {{version}}
  • Display the currently selected Ruby version:
    rbenv version
  • Uninstall a Ruby version:
    rbenv uninstall {{version}}
  • Display all Ruby versions that contain the specified executable:
    rbenv whence {{executable}}

pio ci

Build PlatformIO projects with an arbitrary source code structure. This will create a new temporary project which the source code will be copied into. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_ci.html.
  • Build a PlatformIO project in the default system temporary directory and delete it afterwards:
    pio ci {{path/to/project}}
  • Build a PlatformIO project and specify specific libraries:
    pio ci --lib {{path/to/library_directory}} {{path/to/project}}
  • Build a PlatformIO project and specify a specific board (pio boards lists all of them):
    pio ci --board {{board}} {{path/to/project}}
  • Build a PlatformIO project in a specific directory:
    pio ci --build-dir {{path/to/build_directory}} {{path/to/project}}
  • Build a PlatformIO project and don't delete the build directory:
    pio ci --keep-build-dir {{path/to/project}}
  • Build a PlatformIO project using a specific configuration file:
    pio ci --project-conf {{path/to/platformio.ini}}

behat

A PHP framework for Behaviour-Driven Development. More information: https://behat.org.
  • Initialize a new Behat project:
    behat --init
  • Run all tests:
    behat
  • Run all tests from the specified suite:
    behat --suite={{suite_name}}
  • Run tests with a specific output formatter:
    behat --format {{pretty|progress}}
  • Run tests and output results to a file:
    behat --out {{path/to/file}}
  • Display a list of definitions in your test suites:
    behat --definitions

ebook-convert

Can be used to convert e-books between common formats, e.g. PDF, EPUB and MOBI. Part of the Calibre e-book library tool. More information: https://manual.calibre-ebook.com/generated/en/ebook-convert.html.
  • Convert an e-book into another format:
    ebook-convert {{path/to/input_file}} {{output_file}}
  • Convert Markdown or HTML to e-book with TOC, title and author:
    ebook-convert {{path/to/input_file}} {{output_file}} --level1-toc="//h:h1" --level2-toc="//h:h2" --level3-toc="//h:h3" --title={{title}} --authors={{author}}

neato

Render an image of a linear undirected network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    neato -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    neato -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    neato -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{graph {this -- that} }}" | neato -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    neato -?

bison

GNU parser generator. More information: https://www.gnu.org/software/bison/.
  • Compile a bison definition file:
    bison {{path/to/file.y}}
  • Compile in debug mode, which causes the resulting parser to write additional information to stdout:
    bison --debug {{path/to/file.y}}
  • Specify the output filename:
    bison --output {{path/to/output.c}} {{path/to/file.y}}
  • Be verbose when compiling:
    bison --verbose

phpstan

A PHP static analysis tool to discover bugs in code. More information: https://github.com/phpstan/phpstan.
  • Display available options for analysis:
    phpstan analyse --help
  • Analyze the specified space-separated directories:
    phpstan analyse {{path/to/directory}}
  • Analyze a directory using a configuration file:
    phpstan analyse {{path/to/directory}} --configuration {{path/to/config}}
  • Analyze using a specific rule level (0-7, higher is stricter):
    phpstan analyse {{path/to/directory}} --level {{level}}
  • Specify an autoload file to load before analyzing:
    phpstan analyse {{path/to/directory}} --autoload-file {{path/to/autoload_file}}
  • Specify a memory limit during analysis:
    phpstan analyse {{path/to/directory}} --memory-limit {{memory_limit}}

influx

InfluxDB command-line client. More information: https://docs.influxdata.com/influxdb/v1.7/tools/shell/.
  • Connect to an InfluxDB running on localhost with no credentials:
    influx
  • Connect with a specific username (will prompt for a password):
    influx -username {{username}} -password ""
  • Connect to a specific host:
    influx -host {{hostname}}
  • Use a specific database:
    influx -database {{database_name}}
  • Execute a given command:
    influx -execute "{{influxql_command}}"
  • Return output in a specific format:
    influx -execute "{{influxql_command}}" -format {{json|csv|column}}

shuf

Generate random permutations. More information: https://www.gnu.org/software/coreutils/shuf.
  • Randomize the order of lines in a file and output the result:
    shuf {{path/to/file}}
  • Only output the first 5 entries of the result:
    shuf --head-count={{5}} {{path/to/file}}
  • Write the output to another file:
    shuf {{path/to/input}} --output={{path/to/output}}
  • Generate 3 random numbers in the range 1-10 (inclusive):
    shuf --head-count={{3}} --input-range={{1-10}} --repeat

rustfmt

Tool for formatting Rust source code. More information: https://github.com/rust-lang/rustfmt.
  • Format a file, overwriting the original file in-place:
    rustfmt {{path/to/source.rs}}
  • Check a file for formatting and display any changes on the console:
    rustfmt --check {{path/to/source.rs}}
  • Backup any modified files before formatting (the original file is renamed with a .bk extension):
    rustfmt --backup {{path/to/source.rs}}

bundle

Dependency manager for the Ruby programming language. More information: https://bundler.io/man/bundle.1.html.
  • Install all gems defined in the Gemfile expected in the working directory:
    bundle install
  • Execute a command in the context of the current bundle:
    bundle exec {{command}} {{arguments}}
  • Update all gems by the rules defined in the Gemfile and regenerate Gemfile.lock:
    bundle update
  • Update one or more specific gem(s) defined in the Gemfile:
    bundle update {{gem_name}} {{gem_name}}
  • Update one or more specific gems(s) defined in the Gemfile but only to the next patch version:
    bundle update --patch {{gem_name}} {{gem_name}}
  • Update all gems within the given group in the Gemfile:
    bundle update --group {{development}}
  • List installed gems in the Gemfile with newer versions available:
    bundle outdated
  • Create a new gem skeleton:
    bundle gem {{gem_name}}

ical

A Hirji/Islamic calendar and converter for the terminal. More information: https://manned.org/ical.
  • Display the current month's calendar:
    ical
  • Convert a Gregorian date to a Hijri date:
    ical --gregorian {{yyyymmdd}}
  • Convert a Hirji date to a Gregorian date:
    ical --hijri {{yyyymmdd}}

aapt

Android Asset Packaging Tool. Compile and package an Android app's resources. More information: https://elinux.org/Android_aapt.
  • List files contained in an APK archive:
    aapt list {{path/to/app.apk}}
  • Display an app's metadata (version, permissions, etc.):
    aapt dump badging {{path/to/app.apk}}
  • Create a new APK archive with files from the specified directory:
    aapt package -F {{path/to/app.apk}} {{path/to/directory}}

gmssl

GmSSL is a crypto toolkit supporting SM1, SM2, SM3, SM4, SM9, and ZUC/ZUC256. More information: http://gmssl.org/english.html.
  • Generate an SM3 hash for a file:
    gmssl sm3 {{path/to/file}}
  • Encrypt a file using the SM4 cipher:
    gmssl sms4 -e -in {{path/to/file}} -out {{path/to/file.sms4}}
  • Decrypt a file using the SM4 cipher:
    gmssl sms4 -d -in {{path/to/file.sms4}}
  • Generate an SM2 private key:
    gmssl sm2 -genkey -out {{path/to/file.pem}}
  • Generate an SM2 public key from an existing private key:
    gmssl sm2 -pubout -in {{path/to/file.pem}} -out {{path/to/file.pem.pub}}
  • Encrypt a file using the ZUC cipher:
    gmssl zuc -e -in {{path/to/file}} -out {{path/to/file.zuc}}
  • Decrypt a file using the ZUC cipher:
    gmssl zuc -d -in {{path/to/file.zuc}}
  • Print version:
    gmssl version



pueue send

Send input to a task. More information: https://github.com/Nukesor/pueue.
  • Send input to a running command:
    pueue send {{task_id}} "{{input}}"
  • Send confirmation to a task expecting y/N (e.g. apt, cp):
    pueue send {{task_id}} {{y}}

llvm-strings

This command is an alias of strings.
  • View documentation for the original command:
    tldr strings

git rev-parse

Display metadata related to specific revisions. More information: https://git-scm.com/docs/git-rev-parse.
  • Get the commit hash of a branch:
    git rev-parse {{branch_name}}
  • Get the current branch name:
    git rev-parse --abbrev-ref {{HEAD}}
  • Get the absolute path to the root directory:
    git rev-parse --show-toplevel

terraform plan

Generate and show Terraform execution plans. More information: https://www.terraform.io/docs/cli/commands/plan.html.
  • Generate and show the execution plan in the currently directory:
    terraform plan
  • Show a plan to destroy all remote objects that currently exist:
    terraform plan -destroy
  • Show a plan to update the Terraform state and output values:
    terraform plan -refresh-only
  • Specify values for input variables:
    terraform plan -var '{{name1}}={{value1}}' -var '{{name2}}={{value2}}'
  • Focus Terraform's attention on only a subset of resources:
    terraform plan -target {{resource_type.resource_name[instance index]}}
  • Output a plan as JSON:
    terraform plan -json
  • Write a plan to a specific file:
    terraform plan -no-color > {{path/to/file}}

az storage queue

Manage storage queues in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/queue.
  • Create a queue:
    az storage queue create --account-name {{storage_account_name}} --name {{queue_name}} --metadata {{queue_metadata}}
  • Generate a shared access signature for the queue:
    az storage queue generate-sas --account-name {{storage_account_name}} --name {{queue_name}} --permissions {{queue_permissions}} --expiry {{expiry_date}} --https-only
  • List queues in a storage account:
    az storage queue list --prefix {{filter_prefix}} --account-name {{storage_account_name}}
  • Delete the specified queue and any messages it contains:
    az storage queue delete --account-name {{storage_account_name}} --name {{queue_name}} --fail-not-exist

spicetify

Customize the Spotify client UI and functionality. More information: https://spicetify.app.
  • Generate a configuration file on very first run and display help:
    spicetify
  • Backup and preprocess Spotify application files:
    spicetify backup
  • Print all configuration fields and values:
    spicetify config
  • Change the value of a configuration field:
    spicetify config {{field}} {{value}}
  • Apply the customization changes to Spotify:
    spicetify apply
  • Restore Spotify to its original state:
    spicetify restore

git release

Create a Git tag for a release. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-release.
  • Create and push a release:
    git release {{tag_name}}
  • Create and push a signed release:
    git release {{tag_name}} -s
  • Create and push a release with a message:
    git release {{{tag_name}}} -m "{{message}}"

buzzphrase

Node.js command-line tool to output a random buzzphrase. More information: https://github.com/atomantic/buzzphrase.
  • Generate a string of three random phrases containing an adjective, a past tense verb and a plural noun:
    buzzphrase
  • Output a phrase formatted as [i]mperative verb + past tense [v]erb + [a]djective + plural [N]oun:
    buzzphrase {{'{i} {v} {a} {N}'}}
  • Output 4 phrases formatted as present participle [V]erb + [a]djective + singular [n]oun + [f]inal:
    buzzphrase {{4 '{V} {a} {n} {f}'}}

IPython

A Python shell with automatic history, dynamic object introspection, easier configuration, command completion, access to the system shell and more. More information: https://ipython.readthedocs.io.
  • Start a REPL (interactive shell):
    ipython
  • Enter an interactive IPython session after running a Python script:
    ipython -i {{script.py}}
  • Create default IPython profile:
    ipython profile create
  • Print the path to the directory for the default IPython profile:
    ipython locate profile
  • Clear the IPython history database, deleting all entries:
    ipython history clear

flutter

Google's free, open source, and cross-platform mobile app SDK. More information: https://github.com/flutter/flutter/wiki/The-flutter-tool.
  • Initialize a new Flutter project in a directory of the same name:
    flutter create {{project_name}}
  • Check if all external tools are correctly installed:
    flutter doctor
  • List or change Flutter channel:
    flutter channel {{stable|beta|dev|master}}
  • Run Flutter on all started emulators and connected devices:
    flutter run -d all
  • Download all packages specified in pubspec.yaml:
    flutter pub get
  • Run tests in a terminal from the root of the project:
    flutter test {{test/example_test.dart}}
  • Build a release APK targeting most modern smartphones:
    flutter build apk --target-platform {{android-arm}},{{android-arm64}}
  • Display help about a specific command:
    flutter help {{command}}

osv-scanner

Scan various mediums for dependencies and matches them against the OSV database. More information: https://osv.dev/about.
  • Scan a docker image:
    osv-scanner -D {{docker_image_name}}
  • Scan a package lockfile:
    osv-scanner -L {{path/to/lockfile}}
  • Scan an SBOM file:
    osv-scanner -S {{path/to/sbom_file}}
  • Scan multiple directories recursively:
    osv-scanner -r {{directory1 directory2 ...}}
  • Skip scanning git repositories:
    osv-scanner --skip-git {{-r|-D}} {{target}}
  • Output result in JSON format:
    osv-scanner --json {{-D|-L|-S|-r}} {{target}}

odps func

Manage functions in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Show functions in the current project:
    list functions;
  • Create a Java function using a .jar resource:
    create function {{func_name}} as {{path.to.package.Func}} using '{{package.jar}}';
  • Create a Python function using a .py resource:
    create function {{func_name}} as {{script.Func}} using '{{script.py}}';
  • Delete a function:
    drop function {{func_name}};

pio lib

Manage PlatformIO libraries. More information: https://docs.platformio.org/en/latest/core/userguide/lib/.
  • List installed libraries:
    pio lib list
  • List built-in libraries based on installed development platforms and their frameworks:
    pio lib builtin
  • Search for existing libraries:
    pio lib search {{keyword}}
  • Show details about a library:
    pio lib show {{library}}
  • Install a library:
    pio lib install {{library}}
  • Update installed libraries:
    pio lib update
  • Uninstall a library:
    pio lib uninstall {{library}}
  • Show PlatformIO library registry statistics:
    pio lib stats

redis-benchmark

A tool to benchmark a Redis server. More information: https://redis.io/docs/reference/optimization/benchmarks/.
  • Run full benchmark:
    redis-benchmark
  • Run benchmark on a specific Redis server:
    redis-benchmark -h {{host}} -p {{port}} -a {{password}}
  • Run a subset of tests with default 100000 requests:
    redis-benchmark -h {{host}} -p {{port}} -t {{set,lpush}} -n {{100000}}
  • Run with a specific script:
    redis-benchmark -n {{100000}} script load "{{redis.call('set', 'foo', 'bar')}}"
  • Run benchmark by using 100000 [r]andom keys:
    redis-benchmark -t {{set}} -r {{100000}}
  • Run benchmark by using a [P]ipelining of 16 commands:
    redis-benchmark -n {{1000000}} -t {{set,get}} -P {{16}}
  • Run benchmark [q]uietly and only show query per seconds result:
    redis-benchmark -q

pio run

Run PlatformIO project targets. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_run.html.
  • List all available project targets:
    pio run --list-targets
  • List all available project targets of a specific environment:
    pio run --list-targets --environment {{environment}}
  • Run all targets:
    pio run
  • Run all targets of specified environments:
    pio run --environment {{environment1}} --environment {{environment2}}
  • Run specified targets:
    pio run --target {{target1}} --target {{target2}}
  • Run the targets of a specified configuration file:
    pio run --project-conf {{path/to/platformio.ini}}

decaffeinate

Move your CoffeeScript source to modern JavaScript. More information: https://decaffeinate-project.org.
  • Convert a CoffeeScript file to JavaScript:
    decaffeinate {{path/to/file.coffee}}
  • Convert a CoffeeScript v2 file to JavaScript:
    decaffeinate --use-cs2 {{path/to/file.coffee}}
  • Convert require and module.exports to import and export:
    decaffeinate --use-js-modules {{path/to/file.coffee}}
  • Convert a CoffeeScript, allowing named exports:
    decaffeinate --loose-js-modules {{path/to/file.coffee}}

ghci

The Glasgow Haskell Compiler's interactive environment. More information: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html.
  • Start a REPL (interactive shell):
    ghci
  • Start a REPL and load the specified Haskell source file:
    ghci {{source_file.hs}}
  • Start a REPL and enable a language option:
    ghci -X{{language_option}}
  • Start a REPL and enable some level of compiler warnings (e.g. all or compact):
    ghci -W{{warning_level}}
  • Start a REPL with a colon-separated list of directories for finding source files:
    ghci -i{{path/to/directory1}}:{{path/to/directory2}}

imgcat

Display images on the command-line. Requires a compatible terminal such as iTerm2. More information: https://github.com/danielgatis/imgcat.
  • Display an image on the command-line:
    imgcat {{path/to/file}}

symfony

The console component for the Symfony framework. More information: https://symfony.com.
  • Create a new Symfony project:
    symfony new {{name}}
  • Run a local web server:
    symfony serve
  • Stop the local web server:
    symfony server:stop
  • Check for security issues in the project's dependencies:
    symfony security:check

go env

Manage environment variables used by the Go toolchain. More information: https://golang.org/cmd/go/#hdr-Print_Go_environment_information.
  • Show all environment variables:
    go env
  • Show a specific environment variable:
    go env {{GOPATH}}
  • Set an environment variable to a value:
    go env -w {{GOBIN}}={{path/to/directory}}
  • Reset an environment variable's value:
    go env -u {{GOBIN}}

traceroute

Print the route packets trace to network host. More information: https://manned.org/traceroute.
  • Traceroute to a host:
    traceroute {{example.com}}
  • Disable IP address and host name mapping:
    traceroute -n {{example.com}}
  • Specify wait time in seconds for response:
    traceroute --wait={{0.5}} {{example.com}}
  • Specify number of queries per hop:
    traceroute --queries={{5}} {{example.com}}
  • Specify size in bytes of probing packet:
    traceroute {{example.com}} {{42}}
  • Determine the MTU to the destination:
    traceroute --mtu {{example.com}}
  • Use ICMP instead of UDP for tracerouting:
    traceroute --icmp {{example.com}}

wasm2wat

Convert a file from the WebAssembly binary format to the text format. More information: https://github.com/WebAssembly/wabt.
  • Convert a file to the text format and display it to the console:
    wasm2wat {{file.wasm}}
  • Write the output to a given file:
    wasm2wat {{file.wasm}} -o {{file.wat}}

tlmgr

Manages packages and configuration options of an existing TeX Live installation. Some subcommands such as tlmgr paper have their own usage documentation. More information: https://www.tug.org/texlive/tlmgr.html.
  • Install a package and its dependencies:
    tlmgr install {{package}}
  • Remove a package and its dependencies:
    tlmgr remove {{package}}
  • Display information about a package:
    tlmgr info {{package}}
  • Update all packages:
    tlmgr update --all
  • Show possible updates without updating anything:
    tlmgr update --list
  • Start a GUI version of tlmgr:
    tlmgr gui
  • List all TeX Live configurations:
    tlmgr conf

tr

Translate characters: run replacements based on single characters and character sets. More information: https://www.gnu.org/software/coreutils/tr.
  • Replace all occurrences of a character in a file, and print the result:
    tr {{find_character}} {{replace_character}} < {{path/to/file}}
  • Replace all occurrences of a character from another command's output:
    echo {{text}} | tr {{find_character}} {{replace_character}}
  • Map each character of the first set to the corresponding character of the second set:
    tr '{{abcd}}' '{{jkmn}}' < {{path/to/file}}
  • Delete all occurrences of the specified set of characters from the input:
    tr -d '{{input_characters}}' < {{path/to/file}}
  • Compress a series of identical characters to a single character:
    tr -s '{{input_characters}}' < {{path/to/file}}
  • Translate the contents of a file to upper-case:
    tr "[:lower:]" "[:upper:]" < {{path/to/file}}
  • Strip out non-printable characters from a file:
    tr -cd "[:print:]" < {{path/to/file}}

zstdless

Open a zstd compressed file for interactive reading, allowing scrolling and search. See also: zstd, less. More information: https://manned.org/zstdless.
  • Open a zstd compressed file:
    zstdless {{path/to/file.zst}}

sqsc

A command-line AWS Simple Queue Service client. More information: https://github.com/yongfei25/sqsc.
  • List all queues:
    sqsc lq {{queue_prefix}}
  • List all messages in a queue:
    sqsc ls {{queue_name}}
  • Copy all messages from one queue to another:
    sqsc cp {{source_queue}} {{destination_queue}}
  • Move all messages from one queue to another:
    sqsc mv {{source_queue}} {{destination_queue}}
  • Describe a queue:
    sqsc describe {{queue_name}}
  • Query a queue with SQL syntax:
    sqsc query "SELECT body FROM {{queue_name}} WHERE body LIKE '%user%'"
  • Pull all messages from a queue into a local SQLite database in your present working directory:
    sqsc pull {{queue_name}}

qemu

Generic machine emulator and virtualizer. Supports a large variety of CPU architectures. More information: https://www.qemu.org.
  • Boot from image emulating i386 architecture:
    qemu-system-i386 -hda {{image_name.img}}
  • Boot from image emulating x64 architecture:
    qemu-system-x86_64 -hda {{image_name.img}}
  • Boot QEMU instance with a live ISO image:
    qemu-system-i386 -hda {{image_name.img}} -cdrom {{os_image.iso}} -boot d
  • Specify amount of RAM for instance:
    qemu-system-i386 -m 256 -hda image_name.img -cdrom os-image.iso -boot d
  • Boot from physical device (e.g. from USB to test bootable medium):
    qemu-system-i386 -hda /dev/{{storage_device}}

expr

Evaluate expressions and manipulate strings. More information: https://www.gnu.org/software/coreutils/expr.
  • Get the length of a specific string:
    expr length "{{string}}"
  • Get the substring of a string with a specific length:
    expr substr "{{string}}" {{from}} {{length}}
  • Match a specific substring against an anchored pattern:
    expr match "{{string}}" '{{pattern}}'
  • Get the first char position from a specific set in a string:
    expr index "{{string}}" "{{chars}}"
  • Calculate a specific mathematic expression:
    expr {{expression1}} {{+|-|*|/|%}} {{expression2}}
  • Get the first expression if its value is non-zero and not null otherwise get the second one:
    expr {{expression1}} \| {{expression2}}
  • Get the first expression if both expressions are non-zero and not null otherwise get zero:
    expr {{expression1}} \& {{expression2}}

openssl genrsa

OpenSSL command to generate RSA private keys. More information: https://www.openssl.org/docs/manmaster/man1/openssl-genrsa.html.
  • Generate an RSA private key of 2048 bits to stdout:
    openssl genrsa
  • Save an RSA private key of an arbitrary number of bits to the output file:
    openssl genrsa -out {{output_file.key}} {{1234}}
  • Generate an RSA private key and encrypt it with AES256 (you will be prompted for a passphrase):
    openssl genrsa {{-aes256}}

cradle elastic

Manage the Elasticsearch instances for a Cradle instance. More information: https://cradlephp.github.io/docs/3.B.-Reference-Command-Line-Tools.html#elastic.
  • Truncate the Elasticsearch index:
    cradle elastic flush
  • Truncate the Elasticsearch index for a specific package:
    cradle elastic flush {{package}}
  • Submit the Elasticsearch schema:
    cradle elastic map
  • Submit the Elasticsearch schema for a specific package:
    cradle elastic map {{package}}
  • Populate the Elasticsearch indices for all packages:
    cradle elastic populate
  • Populate the Elasticsearch indices for a specific package:
    cradle elastic populate {{package}}


mount

Provides access to an entire filesystem in one directory. More information: https://manned.org/mount.8.
  • Show all mounted filesystems:
    mount
  • Mount a device to a directory:
    mount -t {{filesystem_type}} {{path/to/device_file}} {{path/to/target_directory}}
  • Create a specific directory if it does not exist and mount a device to it:
    mount --mkdir {{path/to/device_file}} {{path/to/target_directory}}
  • Mount a device to a directory for a specific user:
    mount -o uid={{user_id}},gid={{group_id}} {{path/to/device_file}} {{path/to/target_directory}}
  • Mount a CD-ROM device (with the filetype ISO9660) to /cdrom (readonly):
    mount -t {{iso9660}} -o ro {{/dev/cdrom}} {{/cdrom}}
  • Mount all the filesystem defined in /etc/fstab:
    mount -a
  • Mount a specific filesystem described in /etc/fstab (e.g. /dev/sda1 /my_drive ext2 defaults 0 2):
    mount {{/my_drive}}
  • Mount a directory to another directory:
    mount --bind {{path/to/old_dir}} {{path/to/new_dir}}

lynx

Command-line web browser. More information: https://lynx.browser.org.
  • Visit a website:
    lynx {{example.com}}
  • Apply restrictions for anonymous account:
    lynx -anonymous {{example.com}}
  • Turn on mouse support, if available:
    lynx -use_mouse {{example.com}}
  • Force color mode on, if available:
    lynx -color {{example.com}}
  • Open a link, using a specific file to read and write cookies:
    lynx -cookie_file={{path/to/file}} {{example.com}}
  • Navigate forwards and backwards through the links on a page:
    Up arrow key, Down arrow key
  • Go back to the previously displayed page:
    Left arrow key or u
  • Exit:
    q then y

tlmgr install

Install TeX Live packages. More information: https://www.tug.org/texlive/tlmgr.html.
  • Install a package and its dependencies:
    sudo tlmgr install {{package}}
  • Reinstall a package:
    sudo tlmgr install --reinstall {{package}}
  • Simulate installing a package without making any changes:
    tlmgr install --dry-run {{package}}
  • Install a package without its dependencies:
    sudo tlmgr install --no-depends {{package}}
  • Install a package from a specific file:
    sudo tlmgr install --file {{path/to/package}}

git remote

Manage set of tracked repositories ("remotes"). More information: https://git-scm.com/docs/git-remote.
  • Show a list of existing remotes, their names and URL:
    git remote -v
  • Show information about a remote:
    git remote show {{remote_name}}
  • Add a remote:
    git remote add {{remote_name}} {{remote_url}}
  • Change the URL of a remote (use --add to keep the existing URL):
    git remote set-url {{remote_name}} {{new_url}}
  • Show the URL of a remote:
    git remote get-url {{remote_name}}
  • Remove a remote:
    git remote remove {{remote_name}}
  • Rename a remote:
    git remote rename {{old_name}} {{new_name}}

git symbolic-ref

Read, change, or delete files that store references. More information: https://git-scm.com/docs/git-symbolic-ref.
  • Store a reference by a name:
    git symbolic-ref refs/{{name}} {{ref}}
  • Store a reference by name, including a message with a reason for the update:
    git symbolic-ref -m "{{message}}" refs/{{name}} refs/heads/{{branch_name}}
  • Read a reference by name:
    git symbolic-ref refs/{{name}}
  • Delete a reference by name:
    git symbolic-ref --delete refs/{{name}}
  • For scripting, hide errors with --quiet and use --short to simplify ("refs/heads/X" prints as "X"):
    git symbolic-ref --quiet --short refs/{{name}}

c99

Compiles C programs according to the ISO C standard. More information: https://manned.org/c99.
  • Compile source file(s) and create an executable:
    c99 {{file.c}}
  • Compile source file(s) and create an executable with a custom name:
    c99 -o {{executable_name}} {{file.c}}
  • Compile source file(s) and create object file(s):
    c99 -c {{file.c}}
  • Compile source file(s), link with object file(s), and create an executable:
    c99 {{file.c}} {{file.o}}

youtube-dl

Download videos from YouTube and other websites. More information: http://rg3.github.io/youtube-dl/.
  • Download a video or playlist:
    youtube-dl '{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}'
  • List all formats that a video or playlist is available in:
    youtube-dl --list-formats '{{https://www.youtube.com/watch?v=Mwa0_nE9H7A}}'
  • Download a video or playlist at a specific quality:
    youtube-dl --format "{{best[height<=480]}}" '{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}'
  • Download the audio from a video and convert it to an MP3:
    youtube-dl -x --audio-format {{mp3}} '{{url}}'
  • Download the best quality audio and video and merge them:
    youtube-dl -f bestvideo+bestaudio '{{url}}'
  • Download video(s) as MP4 files with custom filenames:
    youtube-dl --format {{mp4}} -o "{{%(playlist_index)s-%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s}}" '{{url}}'
  • Download a particular language's subtitles along with the video:
    youtube-dl --sub-lang {{en}} --write-sub '{{https://www.youtube.com/watch?v=Mwa0_nE9H7A}}'
  • Download a playlist and extract MP3s from it:
    youtube-dl -f "bestaudio" --continue --no-overwrites --ignore-errors --extract-audio --audio-format mp3 -o "%(title)s.%(ext)s" {{url_to_playlist}}

lsd

List directory contents. The next generation ls command, written in Rust. More information: https://github.com/Peltoche/lsd.
  • List files and directories, one per line:
    lsd -1
  • List all files and directories, including hidden ones, in the current directory:
    lsd -a
  • List all files and directories with trailing / added to directory names:
    lsd -F
  • List all files and directories in long format (permissions, ownership, size, and modification date):
    lsd -la
  • List all files and directories in long format with size displayed using human-readable units (KiB, MiB, GiB):
    lsd -lh
  • List all files and directories in long format, sorted by size (descending):
    lsd -lS
  • List all files and directories in long format, sorted by modification date (oldest first):
    lsd -ltr
  • Only list directories:
    lsd -d {{*/}}

hyperfine

A command-line benchmarking tool. More information: https://github.com/sharkdp/hyperfine/.
  • Run a basic benchmark, performing at least 10 runs:
    hyperfine '{{make}}'
  • Run a comparative benchmark:
    hyperfine '{{make target1}}' '{{make target2}}'
  • Change minimum number of benchmarking runs:
    hyperfine --min-runs {{7}} '{{make}}'
  • Perform benchmark with warmup:
    hyperfine --warmup {{5}} '{{make}}'
  • Run a command before each benchmark run (to clear caches, etc.):
    hyperfine --prepare '{{make clean}}' '{{make}}'
  • Run a benchmark where a single parameter changes for each run:
    hyperfine --prepare '{{make clean}}' --parameter-scan {{num_threads}} {{1}} {{10}} '{{make -j {num_threads}}}'

doctum

A PHP API documentation generator. More information: https://github.com/code-lts/doctum.
  • Parse a project:
    doctum parse
  • Render a project:
    doctum render
  • Parse then render a project:
    doctum update
  • Parse and render only a specific version of a project:
    doctum update --only-version={{version}}
  • Parse and render a project using a specific configuration:
    doctum update {{path/to/config.php}}

vdir

List directory contents. Drop-in replacement for ls -l. More information: https://www.gnu.org/software/coreutils/vdir.
  • List files and directories in the current directory, one per line, with details:
    vdir
  • List with sizes displayed in human-readable units (KB, MB, GB):
    vdir -h
  • List including hidden files (starting with a dot):
    vdir -a
  • List files and directories sorting entries by size (largest first):
    vdir -S
  • List files and directories sorting entries by modification time (newest first):
    vdir -t
  • List grouping directories first:
    vdir --group-directories-first
  • Recursively list all files and directories in a specific directory:
    vdir --recursive {{path/to/directory}}

sendmail

Send email. More information: https://manned.org/sendmail.

sha1sum

Calculate SHA1 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/sha1sum.
  • Calculate the SHA1 checksum for one or more files:
    sha1sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of SHA1 checksums to a file:
    sha1sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha1}}
  • Calculate a SHA1 checksum from stdin:
    {{command}} | sha1sum
  • Read a file of SHA1 sums and filenames and verify all files have matching checksums:
    sha1sum --check {{path/to/file.sha1}}
  • Only show a message for missing files or when verification fails:
    sha1sum --check --quiet {{path/to/file.sha1}}
  • Only show a message when verification fails, ignoring missing files:
    sha1sum --ignore-missing --check --quiet {{path/to/file.sha1}}

laravel-zero

A command-line installer for the Laravel Zero framework. More information: https://laravel-zero.com.
  • Create a new Laravel Zero application:
    laravel-zero new {{name}}
  • Update the installer to the latest version:
    laravel-zero self-update
  • List the available installer commands:
    laravel-zero list

vi

This command is an alias of vim.
  • View documentation for the original command:
    tldr vim

trans

Translate Shell is a command-line translator. More information: https://github.com/soimort/translate-shell.
  • Translate a word (language is detected automatically):
    trans "{{word_or_sentence_to_translate}}"
  • Get a brief translation:
    trans --brief "{{word_or_sentence_to_translate}}"
  • Translate a word into french:
    trans :{{fr}} {{word}}
  • Translate a word from German to English:
    trans {{de}}:{{en}} {{Schmetterling}}
  • Behave like a dictionary to get the meaning of a word:
    trans -d {{word}}

vsce

Extension manager for Visual Studio Code. More information: https://github.com/microsoft/vscode-vsce.
  • List all the extensions created by a publisher:
    vsce list {{publisher}}
  • Publish an extension as major, minor or patch version:
    vsce publish {{major|minor|patch}}
  • Unpublish an extension:
    vsce unpublish {{extension_id}}
  • Package the current working directory as a .vsix file:
    vsce package
  • Show the metadata associated with an extension:
    vsce show {{extension_id}}

nu

Nushell ("a new type of shell") takes a modern, structured approach to your command-line. See also: elvish. More information: https://www.nushell.sh.
  • Start an interactive shell session:
    nu
  • Execute specific commands:
    nu --commands "{{echo 'nu is executed'}}"
  • Execute a specific script:
    nu {{path/to/script.nu}}
  • Execute a specific script with logging:
    nu --log-level {{error|warn|info|debug|trace}} {{path/to/script.nu}}

timeout

Run a command with a time limit. More information: https://www.gnu.org/software/coreutils/timeout.
  • Run sleep 10 and terminate it, if it runs for more than 3 seconds:
    timeout {{3s}} {{sleep 10}}
  • Specify the signal to be sent to the command after the time limit expires. (By default, TERM is sent):
    timeout --signal {{INT}} {{5s}} {{sleep 10}}

pg_dumpall

Extract a PostgreSQL database cluster into a script file or other archive file. More information: https://www.postgresql.org/docs/current/app-pg-dumpall.html.
  • Dump all databases:
    pg_dumpall > {{path/to/file.sql}}
  • Dump all databases using a specific username:
    pg_dumpall --username={{username}} > {{path/to/file.sql}}
  • Same as above, customize host and port:
    pg_dumpall -h {{host}} -p {{port}} > {{output_file.sql}}
  • Dump all databases into a custom-format archive file with moderate compression:
    pg_dumpall -Fc > {{output_file.dump}}
  • Dump only database data into an SQL-script file:
    pg_dumpall --data-only > {{path/to/file.sql}}
  • Dump only schema (data definitions) into an SQL-script file:
    pg_dumpall -s > {{output_file.sql}}

sccmap

Extract strongly connected components of directed graphs. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://www.graphviz.org/pdf/sccmap.1.pdf.
  • Extract strongly connected components of one or more directed graphs:
    sccmap -S {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Print statistics about a graph, producing no output graph:
    sccmap -v -s {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Display help for sccmap:
    sccmap -?

tailscale file

Send files across connected devices on a Tailscale network. It currently does not support sending files to devices owned by other users even on the same Tailscale network. More information: https://tailscale.com/kb/1106/taildrop/.
  • Send a file to a specific node:
    sudo tailscale file cp {{path/to/file}} {{hostname|ip}}:
  • Store files that were sent to the current node into a specific directory:
    sudo tailscale file get {{path/to/directory}}


gh release

Manage GitHub releases. More information: https://cli.github.com/manual/gh_release.
  • List releases in a GitHub repository, limited to 30 items:
    gh release list
  • Display information about a specific release:
    gh release view {{tag}}
  • Create a new release:
    gh release create {{tag}}
  • Delete a specific release:
    gh release delete {{tag}}
  • Download assets from a specific release:
    gh release download {{tag}}
  • Upload assets to a specific release:
    gh release upload {{tag}} {{path/to/file1 path/to/file2 ...}}

ex

Command-line text editor. See also: vim. More information: https://www.vim.org.
  • Open a file:
    ex {{path/to/file}}
  • Save and Quit:
    wq<Enter>
  • Undo the last operation:
    undo<Enter>
  • Search for a pattern in the file:
    /{{search_pattern}}<Enter>
  • Perform a regular expression substitution in the whole file:
    %s/{{regular_expression}}/{{replacement}}/g<Enter>
  • Insert text:
    i<Enter>{{text}}<C-c>
  • Switch to Vim:
    visual<Enter>

phpspec

A Behaviour Driven Development tool for PHP. More information: https://phpspec.net.
  • Create a specification for a class:
    phpspec describe {{class_name}}
  • Run all specifications in the "spec" directory:
    phpspec run
  • Run a single specification:
    phpspec run {{path/to/class_specification_file}}
  • Run specifications using a specific configuration file:
    phpspec run -c {{path/to/configuration_file}}
  • Run specifications using a specific bootstrap file:
    phpspec run -b {{path/to/bootstrap_file}}
  • Disable code generation prompts:
    phpspec run --no-code-generation
  • Enable fake return values:
    phpspec run --fake

ivpn

Command-line interface for the IVPN client. More information: https://www.ivpn.net.
  • Print the current state of IVPN, including the connection and firewall status:
    ivpn status
  • Print a list of available servers to connect to:
    ivpn servers

vue

Multi-purpose CLI for Vue.js. Some subcommands such as vue build have their own usage documentation. More information: https://cli.vuejs.org.
  • Create a new Vue project interactively:
    vue create {{project_name}}
  • Create a new project with web UI:
    vue ui

bvnc

A GUI tool for browsing for SSH/VNC servers on the local network. See also: bssh and bshell. More information: https://linux.extremeoverclocking.com/man/1/bssh.
  • Browse for VNC servers:
    bvnc
  • Browse for SSH servers:
    bvnc --ssh
  • Browse for both VNC and SSH servers:
    bvnc --shell
  • Browse for VNC servers in a specified domain:
    bvnc --domain={{domain}}

gh gist

Work with GitHub Gists. More information: https://cli.github.com/manual/gh_gist.
  • Create a new Gist from a space-separated list of files:
    gh gist create {{path/to/file1 path/to/file2 ...}}
  • Create a new Gist with a specific [desc]ription:
    gh gist create {{path/to/file1 path/to/file2 ...}} --desc "{{description}}"
  • Edit a Gist:
    gh gist edit {{id|url}}
  • List up to 42 Gists owned by the currently logged in user:
    gh gist list --limit {{42}}
  • View a Gist in the default browser without rendering Markdown:
    gh gist view {{id|url}} --web --raw

doctl auth

Authenticate doctl with one or more API tokens. More information: https://docs.digitalocean.com/reference/doctl/reference/auth/.
  • Open a prompt to enter an API token and label its context:
    doctl auth init --context {{token_label}}
  • List authentication contexts (API tokens):
    doctl auth list
  • Switch contexts (API tokens):
    doctl auth switch --context {{token_label}}
  • Remove a stored authentication context (API token):
    doctl auth remove --context {{token_label}}
  • Show available commands:
    doctl auth --help

clojure

This command is an alias of clj.
  • View documentation for the original command:
    tldr clj

scheme

MIT Scheme language interpreter and REPL (interactive shell). More information: https://www.gnu.org/software/mit-scheme.
  • Start a REPL (interactive shell):
    scheme
  • Run a scheme program (with no REPL output):
    scheme --quiet < {{script.scm}}
  • Load a scheme program into the REPL:
    scheme --load {{script.scm}}
  • Load scheme expressions into the REPL:
    scheme --eval "{{(define foo 'x)}}"
  • Open the REPL in quiet mode:
    scheme --quiet

ps

Information about running processes. More information: https://manned.org/ps.
  • List all running processes:
    ps aux
  • List all running processes including the full command string:
    ps auxww
  • Search for a process that matches a string:
    ps aux | grep {{string}}
  • List all processes of the current user in extra full format:
    ps --user $(id -u) -F
  • List all processes of the current user as a tree:
    ps --user $(id -u) f
  • Get the parent PID of a process:
    ps -o ppid= -p {{pid}}
  • Sort processes by memory consumption:
    ps --sort size

clang-format

Tool to auto-format C/C++/Java/JavaScript/Objective-C/Protobuf/C# code. More information: https://clang.llvm.org/docs/ClangFormat.html.
  • Format a file and print the result to stdout:
    clang-format {{path/to/file}}
  • Format a file in-place:
    clang-format -i {{path/to/file}}
  • Format a file using a predefined coding style:
    clang-format --style={{LLVM|GNU|Google|Chromium|Microsoft|Mozilla|WebKit}} {{path/to/file}}
  • Format a file using the .clang-format file in one of the parent directories of the source file:
    clang-format --style=file {{path/to/file}}
  • Generate a custom .clang-format file:
    clang-format --style={{LLVM|GNU|Google|Chromium|Microsoft|Mozilla|WebKit}} --dump-config > {{.clang-format}}

gocryptfs

Encrypted overlay filesystem written in Go. More information: https://github.com/rfjakob/gocryptfs.
  • Initialize an encrypted filesystem:
    gocryptfs -init {{path/to/cipher_dir}}
  • Mount an encrypted filesystem:
    gocryptfs {{path/to/cipher_dir}} {{path/to/mount_point}}
  • Mount with the explicit master key instead of password:
    gocryptfs --masterkey {{path/to/cipher_dir}} {{path/to/mount_point}}
  • Change the password:
    gocryptfs --passwd {{path/to/cipher_dir}}
  • Make an encrypted snapshot of a plain directory:
    gocryptfs --reverse {{path/to/plain_dir}} {{path/to/cipher_dir}}

tokei

A program that prints out statistics about code. More information: https://github.com/XAMPPRocky/tokei.
  • Get a report on the code in a directory and all subdirectories:
    tokei {{path/to/directory}}
  • Get a report for a directory excluding .min.js files:
    tokei {{path/to/directory}} -e {{*.min.js}}
  • Print out statistics for individual files in a directory:
    tokei {{path/to/directory}} --files
  • Get a report for all files of type Rust and Markdown:
    tokei {{path/to/directory}} -t={{Rust}},{{Markdown}}

podman ps

List Podman containers. More information: https://docs.podman.io/en/latest/markdown/podman-ps.1.html.
  • List currently running podman containers:
    podman ps
  • List all podman containers (running and stopped):
    podman ps --all
  • Show the latest created container (includes all states):
    podman ps --latest
  • Filter containers that contain a substring in their name:
    podman ps --filter "name={{name}}"
  • Filter containers that share a given image as an ancestor:
    podman ps --filter "ancestor={{image}}:{{tag}}"
  • Filter containers by exit status code:
    podman ps --all --filter "exited={{code}}"
  • Filter containers by status (created, running, removing, paused, exited and dead):
    podman ps --filter "status={{status}}"
  • Filter containers that mount a specific volume or have a volume mounted in a specific path:
    podman ps --filter "volume={{path/to/directory}}" --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Mounts}}"

pulumi

Define infrastructure on any cloud using familiar programming languages. More information: https://www.pulumi.com/docs/reference/cli.
  • Create a new project using a template:
    pulumi new
  • Create a new stack using an isolated deployment target:
    pulumi stack init
  • Configure variables (e.g. keys, regions, etc.) interactively:
    pulumi config
  • Preview and deploy changes to a program and/or infrastructure:
    pulumi up
  • Preview deployment changes without performing them (dry-run):
    pulumi preview
  • Destroy a program and its infrastructure:
    pulumi destroy

zdiff

Invoke diff on gzipped files. More information: https://manned.org/zdiff.
  • Compare two files, uncompressing them if necessary:
    zdiff {{path/to/file1.gz}} {{path/to/file2.gz}}
  • Compare a file to a gzipped archive with the same name:
    zdiff {{path/to/file}}

bedtools

A swiss-army knife of tools for genomic-analysis tasks. Used to intersect, group, convert and count data in BAM, BED, GFF/GTF, VCF format. More information: https://bedtools.readthedocs.io.
  • Intersect two files regarding the sequences' strand and save the result to the specified file:
    bedtools intersect -a {{path/to/file_1}} -b {{path/to/file_2}} -s > {{path/to/output_file}}
  • Intersect two files with a left outer join, i.e. report each feature from {{file_1}} and NULL if no overlap with {{file_2}}:
    bedtools intersect -a {{path/to/file_1}} -b {{path/to/file_2}} -lof > {{path/to/output_file}}
  • Using more efficient algorithm to intersect two pre-sorted files:
    bedtools intersect -a {{path/to/file_1}} -b {{path/to/file_2}} -sorted > {{path/to/output_file}}
  • Group file {{path/to/file}} based on the first three and the fifth column and summarize the sixth column by summing it up:
    bedtools groupby -i {{path/to/file}} -c 1-3,5 -g 6 -o sum
  • Convert bam-formatted file to a bed-formatted one:
    bedtools bamtobed -i {{path/to/file}}.bam > {{path/to/file}}.bed
  • Find for all features in {{file_1}}.bed the closest one in {{file_2}}.bed and write their distance in an extra column (input files must be sorted):
    bedtools closest -a {{path/to/file_1}}.bed -b {{path/to/file_2}}.bed -d

mocha

Execute Mocha JavaScript test runner. More information: https://mochajs.org.
  • Run tests with default configuration or as configured in mocha.opts:
    mocha
  • Run tests contained at a specific location:
    mocha {{directory/with/tests}}
  • Run tests that match a specific grep pattern:
    mocha --grep {{regular_expression}}
  • Run tests on changes to JavaScript files in the current directory and once initially:
    mocha --watch
  • Run tests with a specific reporter:
    mocha --reporter {{reporter}}

mysqld

Start the MySQL database server. More information: https://dev.mysql.com/doc/refman/en/mysqld.html.
  • Start the MySQL database server:
    mysqld
  • Start the server, printing error messages to the console:
    mysqld --console
  • Start the server, saving logging output to a custom log file:
    mysqld --log={{path/to/file.log}}
  • Print the default arguments and their values and exit:
    mysqld --print-defaults
  • Start the server, reading arguments and values from a file:
    mysqld --defaults-file={{path/to/file}}
  • Start the server and listen on a custom port:
    mysqld --port={{port}}
  • Show all help options and exit:
    mysqld --verbose --help

bashmarks

Save and jump to commonly used directories using 1 character commands. More information: https://github.com/huyng/bashmarks.
  • List available bookmarks:
    l
  • Save the current directory as "bookmark_name":
    s {{bookmark_name}}
  • Go to a bookmarked directory:
    g {{bookmark_name}}
  • Print a bookmarked directory's contents:
    p {{bookmark_name}}
  • Delete a bookmark:
    d {{bookmark_name}}

git whatchanged

Show what has changed with recent commits or files. See also git log. More information: https://git-scm.com/docs/git-whatchanged.
  • Display logs and changes for recent commits:
    git whatchanged
  • Display logs and changes for recent commits within the specified time frame:
    git whatchanged --since="{{2 hours ago}}"
  • Display logs and changes for recent commits for specific files or directories:
    git whatchanged {{path/to/file_or_directory}}

xo

A pluggable, zero-configuration linting utility for JavaScript. More information: https://github.com/xojs/xo.
  • Lint files in the "src" directory:
    xo
  • Lint a given set of files:
    xo {{file1}}.js {{file2}}.js
  • Automatically fix any lint issues found:
    xo --fix
  • Lint using spaces as indentation instead of tabs:
    xo --space
  • Lint using the "prettier" code style:
    xo --prettier

pass otp

A pass extension for managing one-time-password (OTP) tokens. More information: https://github.com/tadfisher/pass-otp#readme.
  • Prompt for an otpauth URI token and create a new pass file:
    pass otp insert {{path/to/pass}}
  • Prompt for an otpauth URI token and append to an existing pass file:
    pass otp append {{path/to/pass}}
  • Print a 2FA code using the OTP token in a pass file:
    pass otp {{path/to/pass}}
  • Copy and don't print a 2FA code using the OTP token in a pass file:
    pass otp --clip {{path/to/pass}}
  • Display a QR code using the OTP token stored in a pass file:
    pass otp uri --qrcode {{path/to/pass}}
  • Prompt for an OTP secret value specifying issuer and account (at least one must be specified) and append to existing pass file:
    pass otp append --secret --issuer {{issuer_name}} --account {{account_name}} {{path/to/pass}}

pio package

Manage packages in the registry. Packages can only be removed within 72 hours (3 days) from the date that they are published. More information: https://docs.platformio.org/en/latest/core/userguide/package/.
  • Create a package tarball from the current directory:
    pio package pack --output {{path/to/package.tar.gz}}
  • Create and publish a package tarball from the current directory:
    pio package publish
  • Publish the current directory and restrict public access to it:
    pio package publish --private
  • Publish a package:
    pio package publish {{path/to/package.tar.gz}}
  • Publish a package with a custom release date (UTC):
    pio package publish {{path/to/package.tar.gz}} --released-at "{{2021-04-08 21:15:38}}"
  • Remove all versions of a published package from the registry:
    pio package unpublish {{package}}
  • Remove a specific version of a published package from the registry:
    pio package unpublish {{package}}@{{version}}
  • Undo the removal, putting all versions or a specific version of the package back into the registry:
    pio package unpublish --undo {{package}}@{{version}}

dotnet ef

Perform design-time development tasks for Entity Framework Core. More information: https://learn.microsoft.com/ef/core/cli/dotnet.
  • Update the database to a specified migration:
    dotnet ef database update {{migration}}
  • Drop the database:
    dotnet ef database drop
  • List available DbContext types:
    dotnet ef dbcontext list
  • Generate code for a DbContext and entity types for a database:
    dotnet ef dbcontext scaffold {{connection_string}} {{provider}}
  • Add a new migration:
    dotnet ef migrations add {{name}}
  • Remove the last migration, rolling back the code changes that were done for the latest migration:
    dotnet ef migrations remove
  • List available migrations:
    dotnet ef migrations list
  • Generate a SQL script from migrations range:
    dotnet ef migrations script {{from_migration}} {{to_migration}}

just

Save and run project-specific commands. More information: https://github.com/casey/just.
  • Run a recipe specified in the justfile:
    just {{recipe}}
  • Initialize new justfile in project root:
    just --init
  • Edit justfile in the default editor:
    just -e
  • List available recipes in the justfile:
    just -l
  • Print justfile:
    just --dump

psql

PostgreSQL command-line client. More information: https://www.postgresql.org/docs/current/app-psql.html.
  • Connect to the database. By default, it connects to the local socket using port 5432 with the currently logged in user:
    psql {{database}}
  • Connect to the database on given server host running on given port with given username, without a password prompt:
    psql -h {{host}} -p {{port}} -U {{username}} {{database}}
  • Connect to the database; user will be prompted for password:
    psql -h {{host}} -p {{port}} -U {{username}} -W {{database}}
  • Execute a single SQL query or PostgreSQL command on the given database (useful in shell scripts):
    psql -c '{{query}}' {{database}}
  • Execute commands from a file on the given database:
    psql {{database}} -f {{file.sql}}

tlmgr path

Add or remove symlinks for TeX Live executables, man pages and info pages. This command has to be re-run for files added in the future. More information: https://www.tug.org/texlive/tlmgr.html.
  • Add symlinks to TeX Live files:
    sudo tlmgr path add
  • Remove symlinks to TeX Live files:
    sudo tlmgr path remove



wasm2c

Convert a file from the WebAssembly binary format to a C source file and header. More information: https://github.com/WebAssembly/wabt.
  • Convert a file to a C source file and header and display it to the console:
    wasm2c {{file.wasm}}
  • Write the output to a given file (file.h gets additionally generated):
    wasm2c {{file.wasm}} -o {{file.c}}

git daemon

A really simple server for Git repositories. More information: https://git-scm.com/docs/git-daemon.
  • Launch a Git daemon with a whitelisted set of directories:
    git daemon --export-all {{path/to/directory1}} {{path/to/directory2}}
  • Launch a Git daemon with a specific base directory and allow pulling from all sub-directories that look like Git repositories:
    git daemon --base-path={{path/to/directory}} --export-all --reuseaddr
  • Launch a Git daemon for the specified directory, verbosely printing log messages and allowing Git clients to write to it:
    git daemon {{path/to/directory}} --enable=receive-pack --informative-errors --verbose

sphinx-build

Sphinx documentation generator. More information: http://www.sphinx-doc.org/en/master/man/sphinx-build.html.
  • Build documentation:
    sphinx-build -b {{html|epub|text|latex|man|...}} {{path/to/source_dir}} {{path/to/build_dir}}
  • Build documentations intended for readthedocs.io (requires the sphinx-rtd-theme pip package):
    sphinx-build -b {{html}} {{path/to/docs_dir}} {{path/to/build_dir}}

minifab

Utility tool that automates the setup and deployment of Hyperledger Fabric networks. More information: https://github.com/hyperledger-labs/minifabric.
  • Bring up the default Hyperledger Fabric network:
    minifab up -i {{minifab_version}}
  • Bring down the Hyperledger Fabric network:
    minifab down
  • Install chaincode onto a specified channel:
    minifab install -n {{chaincode_name}}
  • Install a specific chaincode version onto a channel:
    minifab install -n {{chaincode_name}} -v {{chaincode_version}}
  • Initialize the chaincode after installation/upgrade:
    minifab approve,commit,initialize,discover
  • Invoke a chaincode method with the specified arguments:
    minifab invoke -n {{chaincode_name}} -p '"{{method_name}}", "{{argument1}}", "{{argument2}}", ...'
  • Make a query on the ledger:
    minifab blockquery {{block_number}}
  • Quickly run an application:
    minifab apprun -l {{app_programming_language}}

docker compose

Run and manage multi container docker applications. More information: https://docs.docker.com/compose/reference/.
  • List all running containers:
    docker compose ps
  • Create and start all containers in the background using a docker-compose.yml file from the current directory:
    docker compose up --detach
  • Start all containers, rebuild if necessary:
    docker compose up --build
  • Start all containers by specifying a project name and using an alternate compose file:
    docker compose -p {{project_name}} --file {{path/to/file}} up
  • Stop all running containers:
    docker compose stop
  • Stop and remove all containers, networks, images, and volumes:
    docker compose down --rmi all --volumes
  • Follow logs for all containers:
    docker compose logs --follow
  • Follow logs for a specific container:
    docker compose logs --follow {{container_name}}

tb

Manage tasks and notes across multiple boards. More information: https://github.com/klaussinani/taskbook.
  • Add a new task to a board:
    tb --task {{task_description}} @{{board_name}}
  • Add a new note to a board:
    tb --note {{note_description}} @{{board_name}}
  • Edit item's priority:
    tb --priority @{{item_id}} {{priority}}
  • Check/uncheck item:
    tb --check {{item_id}}
  • Archive all checked items:
    tb --clear
  • Move item to a board:
    tb --move @{{item_id}} {{board_name}}

jenv

Command-line tool to manage the "JAVA_HOME" environment variable. More information: https://www.jenv.be/.
  • Add a Java version to jEnv:
    jenv add {{path/to/jdk_home}}
  • Display the current JDK version used:
    jenv version
  • Display all managed JDKs:
    jenv versions
  • Set the global JDK version:
    jenv global {{java_version}}
  • Set the JDK version for the current shell session:
    jenv shell {{java_version}}
  • Enable a jEnv plugin:
    jenv enable-plugin {{plugin_name}}

git

Distributed version control system. Some subcommands such as commit, add, branch, checkout, push, etc. have their own usage documentation. More information: https://git-scm.com/.
  • Check the Git version:
    git --version
  • Show general help:
    git --help
  • Show help on a Git subcommand (like clone, add, push, log, etc.):
    git help {{subcommand}}
  • Execute a Git subcommand:
    git {{subcommand}}
  • Execute a Git subcommand on a custom repository root path:
    git -C {{path/to/repo}} {{subcommand}}
  • Execute a Git subcommand with a given configuration set:
    git -c '{{config.key}}={{value}}' {{subcommand}}

maza

Local ad blocker. Like Pi-hole but local and using the operating system. More information: https://github.com/tanrax/maza-ad-blocking.
  • Update the Maza database:
    maza update
  • Start Maza:
    sudo maza start
  • Stop Maza:
    sudo maza stop
  • Show the status of Maza:
    maza status

calligraflow

Calligra's flowchart and diagram application. See also: calligrastage, calligrawords, calligrasheets. More information: https://manned.org/calligraflow.
  • Launch the flowchart and diagram application:
    calligraflow
  • Open a specific file:
    calligraflow {{path/to/file}}
  • Display help or version:
    calligraflow --{{help|version}}

tail

Display the last part of a file. See also: head. More information: https://www.gnu.org/software/coreutils/tail.
  • Show last 'count' lines in file:
    tail --lines {{count}} {{path/to/file}}
  • Print a file from a specific line number:
    tail --lines +{{count}} {{path/to/file}}
  • Print a specific count of bytes from the end of a given file:
    tail --bytes {{count}} {{path/to/file}}
  • Print the last lines of a given file and keep reading file until Ctrl + C:
    tail --follow {{path/to/file}}
  • Keep reading file until Ctrl + C, even if the file is inaccessible:
    tail --retry --follow {{path/to/file}}
  • Show last 'num' lines in 'file' and refresh every 'n' seconds:
    tail --lines {{count}} --sleep-interval {{seconds}} --follow {{path/to/file}}

xzgrep

Search files possibly compressed with xz, lzma, gzip, bzip2, lzop, or zstd using regular expressions. See also: grep. More information: https://manned.org/xzgrep.
  • Search for a pattern within a file:
    xzgrep "{{search_pattern}}" {{path/to/file}}
  • Search for an exact string (disables regular expressions):
    xzgrep --fixed-strings "{{exact_string}}" {{path/to/file}}
  • Search for a pattern in all files showing line numbers of matches:
    xzgrep --line-number "{{search_pattern}}" {{path/to/file}}
  • Use extended regular expressions (supports ?, +, {}, () and |), in case-insensitive mode:
    xzgrep --extended-regexp --ignore-case "{{search_pattern}}" {{path/to/file}}
  • Print 3 lines of context around, before, or after each match:
    xzgrep --{{context|before-context|after-context}}={{3}} "{{search_pattern}}" {{path/to/file}}
  • Print file name and line number for each match with color output:
    xzgrep --with-filename --line-number --color=always "{{search_pattern}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    xzgrep --only-matching "{{search_pattern}}" {{path/to/file}}

csh

The shell (command interpreter) with C-like syntax. See also: tcsh. More information: https://www.mkssoftware.com/docs/man1/csh.1.asp.
  • Start an interactive shell session:
    csh
  • Start an interactive shell session without loading startup configs:
    csh -f
  • Execute specific [c]ommands:
    csh -c "{{echo 'csh is executed'}}"
  • Execute a specific script:
    csh {{path/to/script.csh}}

calc

An interactive arbitrary-precision calculator in the terminal. More information: https://github.com/lcn2/calc.
  • Start calc in interactive mode:
    calc
  • Perform a calculation in non-interactive mode:
    calc '{{85 * (36 / 4)}}'
  • Perform a calculation without any output formatting (for use with pipes):
    calc -p '{{4/3 * pi() * 5^3}}'
  • Perform a calculation and then switch to [i]nteractive mode:
    calc -i '{{sqrt(2)}}'
  • Start calc in a specific permission [m]ode (0 to 7, defaults to 7):
    calc -m {{mode}}
  • View an introduction to calc:
    calc help intro
  • View an overview of calc:
    calc help overview
  • Open the calc manual:
    calc help

nasm

The Netwide Assembler, a portable 80x86 assembler. More information: https://nasm.us.
  • Assemble source.asm into a binary file source, in the (default) raw binary format:
    nasm {{source.asm}}
  • Assemble source.asm into a binary file output_file, in the specified format:
    nasm -f {{format}} {{source.asm}} -o {{output_file}}
  • List valid output formats (along with basic nasm help):
    nasm -hf
  • Assemble and generate an assembly listing file:
    nasm -l {{list_file}} {{source.asm}}
  • Add a directory (must be written with trailing slash) to the include file search path before assembling:
    nasm -i {{path/to/include_dir/}} {{source.asm}}

git repl

Git REPL (read-evaluate-print-loop) - an interactive Git shell. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-repl.
  • Start an interactive Git shell:
    git repl
  • Run a Git command while in the interactive Git shell:
    {{git_subcommand}} {{command_arguments}}
  • Run an external (non-Git) command while in the interactive Git shell:
    !{{command}} {{command_arguments}}
  • Exit the interactive Git shell (or press Ctrl + D):
    exit

dvc freeze

Freeze stages in the DVC pipeline. This prevents DVC from tracking changes in stage dependencies and re-execution until unfreeze. See also dvs unfreeze. More information: https://dvc.org/doc/command-reference/freeze.
  • Freeze 1 or more specified stages:
    dvc freeze {{stage_name_a}} [{{stage_name_b}} ...]

redis-server

Persistent key-value database. More information: https://redis.io.
  • Start Redis server, using the default port (6379), and write logs to stdout:
    redis-server
  • Start Redis server, using the default port, as a background process:
    redis-server --daemonize yes
  • Start Redis server, using the specified port, as a background process:
    redis-server --port {{port}} --daemonize yes
  • Start Redis server with a custom configuration file:
    redis-server {{path/to/redis.conf}}
  • Start Redis server with verbose logging:
    redis-server --loglevel {{warning|notice|verbose|debug}}

indent

Change the appearance of a C/C++ program by inserting or deleting whitespace. More information: https://www.gnu.org/software/indent/.
  • Format C/C++ source according to the Linux style guide, automatically back up the original files, and replace with the indented versions:
    indent --linux-style {{path/to/source.c}} {{path/to/another_source.c}}
  • Format C/C++ source according to the GNU style, saving the indented version to a different file:
    indent --gnu-style {{path/to/source.c}} -o {{path/to/indented_source.c}}
  • Format C/C++ source according to the style of Kernighan & Ritchie (K&R), no tabs, 3 spaces per indent, and wrap lines at 120 characters:
    indent --k-and-r-style --indent-level3 --no-tabs --line-length120 {{path/to/source.c}} -o {{path/to/indented_source.c}}

lpinfo

List connected printers and installed drivers for the CUPS print server. More information: https://www.cups.org/doc/man-lpinfo.html.
  • List all the currently connected printers:
    lpinfo -v
  • List all the currently installed printer drivers:
    lpinfo -m
  • Search installed printer drivers by make and model:
    lpinfo --make-and-model "{{printer_model}}" -m

base64

Encode or decode file or stdin to/from Base64, to stdout. More information: https://www.gnu.org/software/coreutils/base64.
  • Encode the contents of a file as base64 and write the result to stdout:
    base64 {{path/to/file}}
  • Decode the base64 contents of a file and write the result to stdout:
    base64 --decode {{path/to/file}}
  • Encode from stdin:
    {{somecommand}} | base64
  • Decode from stdin:
    {{somecommand}} | base64 --decode

jello

A command-line JSON processor using Python syntax. More information: https://github.com/kellyjonbrazil/jello.
  • Pretty-print JSON or JSON-Lines data from stdin to stdout:
    cat {{file.json}} | jello
  • Output a schema of JSON or JSON Lines data from stdin to stdout (useful for grep):
    cat {{file.json}} | jello -s
  • Output all elements from arrays (or all the values from objects) in JSON or JSON-Lines data from stdin to stdout:
    cat {{file.json}} | jello -l
  • Output the first element in JSON or JSON-Lines data from stdin to stdout:
    cat {{file.json}} | jello _[0]
  • Output the value of a given key of each element in JSON or JSON-Lines data from stdin to stdout:
    cat {{file.json}} | jello '[i.{{key_name}} for i in _]'
  • Output the value of multiple keys as a new JSON object (assuming the input JSON has the keys key_name and other_key_name):
    cat {{file.json}} | jello '{"{{my_new_key}}": _.{{key_name}}, "{{my_other_key}}": _.{{other_key_name}}}'
  • Output the value of a given key to a string (and disable JSON output):
    cat {{file.json}} | jello -r '"{{some text}}: " + _.{{key_name}}'

todoman

A simple, standards-based, cli todo manager. todoman is a common name for the command todo, but not a command itself. More information: https://todoman.readthedocs.io/.
  • View documentation for the original command:
    tldr todo

csvcut

Filter and truncate CSV files. Like Unix's cut command, but for tabular data. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvcut.html.
  • Print indices and names of all columns:
    csvcut -n {{data.csv}}
  • Extract the first and third columns:
    csvcut -c {{1,3}} {{data.csv}}
  • Extract all columns except the fourth one:
    csvcut -C {{4}} {{data.csv}}
  • Extract the columns named "id" and "first name" (in that order):
    csvcut -c {{id,"first name"}} {{data.csv}}

u3d

A set of tools to interact with Unity. More information: https://github.com/DragonBox/u3d.
  • Open the project in the current directory using the correct Unity version:
    u3d
  • List installed versions of Unity:
    u3d list
  • List available versions of Unity that can be downloaded:
    u3d available
  • Download and install latest stable Unity version:
    u3d install latest_stable
  • Download and install Unity version and editor [p]ackages:
    u3d install {{2021.2.0f1}} -p {{Unity,iOS,Android}}

monop

Finds and displays signatures of Types and methods inside .NET assemblies. More information: https://manned.org/monop.
  • Show the structure of a Type built-in of the .NET Framework:
    monop {{System.String}}
  • List the types in an assembly:
    monop -r:{{path/to/assembly.exe}}
  • Show the structure of a Type in a specific assembly:
    monop -r:{{path/to/assembly.dll}} {{Namespace.Path.To.Type}}
  • Only show members defined in the specified Type:
    monop -r:{{path/to/assembly.dll}} --only-declared {{Namespace.Path.To.Type}}
  • Show private members:
    monop -r:{{path/to/assembly.dll}} --private {{Namespace.Path.To.Type}}
  • Hide obsolete members:
    monop -r:{{path/to/assembly.dll}} --filter-obsolete {{Namespace.Path.To.Type}}
  • List the other assemblies that a specified assembly references:
    monop -r:{{path/to/assembly.dll}} --refs

ruby

Ruby programming language interpreter. See also: gem, bundler, rake, irb. More information: https://www.ruby-lang.org.
  • Execute a Ruby script:
    ruby {{script.rb}}
  • Execute a single Ruby command in the command-line:
    ruby -e {{command}}
  • Check for syntax errors on a given Ruby script:
    ruby -c {{script.rb}}
  • Start the built-in HTTP server on port 8080 in the current directory:
    ruby -run -e httpd
  • Show the version of Ruby you are using:
    ruby -v

docker rmi

Remove one or more Docker images. More information: https://docs.docker.com/engine/reference/commandline/rmi/.
  • Show help:
    docker rmi
  • Remove one or more images given their names:
    docker rmi {{image1 image2 ...}}
  • Force remove an image:
    docker rmi --force {{image}}
  • Remove an image without deleting untagged parents:
    docker rmi --no-prune {{image}}

touch

Create files and set access/modification times. More information: https://manned.org/man/freebsd-13.1/touch.
  • Create specific files:
    touch {{path/to/file1 path/to/file2 ...}}
  • Set the file [a]ccess or [m]odification times to the current one and don't [c]reate file if it doesn't exist:
    touch -c -{{a|m}} {{path/to/file1 path/to/file2 ...}}
  • Set the file [t]ime to a specific value and don't [c]reate file if it doesn't exist:
    touch -c -t {{YYYYMMDDHHMM.SS}} {{path/to/file1 path/to/file2 ...}}
  • Set the file time of a specific file to the time of anothe[r] file and don't [c]reate file if it doesn't exist:
    touch -c -r {{~/.emacs}} {{path/to/file1 path/to/file2 ...}}

btm

An alternative to top. Aims to be lightweight, cross-platform and more graphical than top. More information: https://github.com/ClementTsang/bottom.
  • Show the default layout (CPU, memory, temperatures, disk, network, and processes):
    btm
  • Enable basic mode, removing charts and condensing data (similar to top):
    btm --basic
  • Use big dots instead of small ones in charts:
    btm --dot_marker
  • Show also battery charge and health status:
    btm --battery
  • Refresh every 250 milliseconds and show the last 30 seconds in the charts:
    btm --rate 250 --default_time_value 30000

wpa_supplicant

Manage protected wireless networks. More information: https://manned.org/wpa_supplicant.1.
  • Join a protected wireless network:
    wpa_supplicant -i {{interface}} -c {{path/to/wpa_supplicant_conf.conf}}
  • Join a protected wireless network and run it in a daemon:
    wpa_supplicant -B -i {{interface}} -c {{path/to/wpa_supplicant_conf.conf}}

convert

ImageMagick image conversion tool. More information: https://imagemagick.org/script/convert.php.
  • Convert an image from JPG to PNG:
    convert {{image.jpg}} {{image.png}}
  • Scale an image 50% its original size:
    convert {{image.png}} -resize 50% {{image2.png}}
  • Scale an image keeping the original aspect ratio to a maximum dimension of 640x480:
    convert {{image.png}} -resize 640x480 {{image2.png}}
  • Horizontally append images:
    convert {{image1.png}} {{image2.png}} {{image3.png}} +append {{image123.png}}
  • Vertically append images:
    convert {{image1.png}} {{image2.png}} {{image3.png}} -append {{image123.png}}
  • Create a GIF from a series of images with 100ms delay between them:
    convert {{image1.png}} {{image2.png}} {{image3.png}} -delay {{10}} {{animation.gif}}
  • Create an image with nothing but a solid background:
    convert -size {{800x600}} "xc:{{#ff0000}}" {{image.png}}
  • Create a favicon from several images of different sizes:
    convert {{image1.png}} {{image2.png}} {{image3.png}} {{image.ico}}

babel

A transpiler which converts code from JavaScript ES6/ES7 syntax to ES5 syntax. More information: https://babeljs.io/.
  • Transpile a specified input file and output to stdout:
    babel {{path/to/file}}
  • Transpile a specified input file and output to a specific file:
    babel {{path/to/input_file}} --out-file {{path/to/output_file}}
  • Transpile the input file every time it is changed:
    babel {{path/to/input_file}} --watch
  • Transpile a whole directory of files:
    babel {{path/to/input_directory}}
  • Ignore specified comma-separated files in a directory:
    babel {{path/to/input_directory}} --ignore {{ignored_files}}
  • Transpile and output as minified JavaScript:
    babel {{path/to/input_file}} --minified
  • Choose a set of presets for output formatting:
    babel {{path/to/input_file}} --presets {{presets}}
  • Output all available options:
    babel --help

crystal

Tool for managing Crystal source code. More information: https://crystal-lang.org/reference/using_the_compiler.
  • Run a Crystal file:
    crystal {{path/to/file.cr}}
  • Compile a file and all dependencies to a single executable:
    crystal build {{path/to/file.cr}}
  • Start a local interactive server for testing the language:
    crystal play
  • Create a project directory for a Crystal application:
    crystal init app {{application_name}}
  • Display all help options:
    crystal help

uptime

Tell how long the system has been running and other information. More information: https://www.gnu.org/software/coreutils/uptime.
  • Print current time, uptime, number of logged-in users and other information:
    uptime
  • Show only the amount of time the system has been booted for:
    uptime --pretty
  • Print the date and time the system booted up at:
    uptime --since
  • Show version information:
    uptime --version

clockwork-cli

A command-line interface for the Clockwork PHP debugging framework. More information: https://github.com/ptrofimov/clockwork-cli.
  • Monitor Clockwork logs for the current project:
    clockwork-cli
  • Monitor Clockwork logs for a specific project:
    clockwork-cli {{path/to/directory}}
  • Monitor Clockwork logs for multiple projects:
    clockwork-cli {{path/to/directory1 path/to/directory2 …}}

keybase

Key directory that maps social media identities to encryption keys in a publicly auditable manner. More information: https://keybase.io/docs/command_line.
  • Follow another user:
    keybase follow {{username}}
  • Add a new proof:
    keybase prove {{service}} {{service_username}}
  • Sign a file:
    keybase sign --infile {{input_file}} --outfile {{output_file}}
  • Verify a signed file:
    keybase verify --infile {{input_file}} --outfile {{output_file}}
  • Encrypt a file:
    keybase encrypt --infile {{input_file}} --outfile {{output_file}} {{receiver}}
  • Decrypt a file:
    keybase decrypt --infile {{input_file}} --outfile {{output_file}}
  • Revoke current device, log out, and delete local data:
    keybase deprovision

tcsh

C shell with file name completion and command-line editing. See also: csh. More information: https://manned.org/tcsh.
  • Start an interactive shell session:
    tcsh
  • Start an interactive shell session without loading startup configs:
    tcsh -f
  • Execute specific [c]ommands:
    tcsh -c "{{echo 'tcsh is executed'}}"
  • Execute a specific script:
    tcsh {{path/to/script.tcsh}}
  • Check a specific script for syntax errors:
    tcsh -n {{path/to/script.tcsh}}
  • Execute specific commands from stdin:
    {{echo "echo 'tcsh is executed'"}} | tcsh

go build

Compile Go sources. More information: https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies.
  • Compile a 'package main' file (output will be the filename without extension):
    go build {{path/to/main.go}}
  • Compile, specifying the output filename:
    go build -o {{path/to/binary}} {{path/to/source.go}}
  • Compile a package:
    go build -o {{path/to/binary}} {{path/to/package}}
  • Compile a main package into an executable, enabling data race detection:
    go build -race -o {{path/to/executable}} {{path/to/main/package}}

git pull

Fetch branch from a remote repository and merge it to local repository. More information: https://git-scm.com/docs/git-pull.
  • Download changes from default remote repository and merge it:
    git pull
  • Download changes from default remote repository and use fast-forward:
    git pull --rebase
  • Download changes from given remote repository and branch, then merge them into HEAD:
    git pull {{remote_name}} {{branch}}

tts

Synthesize speech. More information: https://github.com/coqui-ai/TTS#command-line-tts.
  • Run text-to-speech with the default models, writing the output to "tts_output.wav":
    tts --text "{{text}}"
  • List provided models:
    tts --list_models
  • Query info for a model by idx:
    tts --model_info_by_idx {{model_type/model_query_idx}}
  • Query info for a model by name:
    tts --model_info_by_name {{model_type/language/dataset/model_name}}
  • Run a text-to-speech model with its default vocoder model:
    tts --text "{{text}}" --model_name {{model_type/language/dataset/model_name}}
  • Run your own text-to-speech model (using the Griffin-Lim vocoder):
    tts --text "{{text}}" --model_path {{path/to/model.pth}} --config_path {{path/to/config.json}} --out_path {{path/to/file.wav}}

latexmk

Compile LaTeX source files into finished documents. Automatically does multiple runs when needed. More information: https://mg.readthedocs.io/latexmk.html.
  • Compile a DVI (Device Independent file) document from every source:
    latexmk
  • Compile a DVI document from a specific source file:
    latexmk {{source.tex}}
  • Compile a PDF document:
    latexmk -pdf {{source.tex}}
  • Force the generation of a document even if there are errors:
    latexmk -f {{source.tex}}
  • Clean up temporary TEX files created for a specific TEX file:
    latexmk -c {{source.tex}}
  • Clean up all temporary TEX files in the current directory:
    latexmk -c

tailscale ssh

SSH to a Tailscale machine (Linux Only). More information: https://tailscale.com/kb/1193/tailscale-ssh.
  • Advertise/Disable SSH on the host:
    sudo tailscale up --ssh={{true|false}}
  • SSH to a specific host which has Tailscale-SSH enabled:
    tailscale ssh {{username}}@{{host}}

locust

Load-testing tool to determine number of concurrent users a system can handle. More information: https://locust.io.
  • Load-test "example.com" with web interface using locustfile.py:
    locust --host={{http://example.com}}
  • Use a different test file:
    locust --locustfile={{test_file.py}} --host={{http://example.com}}
  • Run test without web interface, spawning 1 user a second until there are 100 users:
    locust --no-web --clients={{100}} --hatch-rate={{1}} --host={{http://example.com}}
  • Start Locust in master mode:
    locust --master --host={{http://example.com}}
  • Connect Locust slave to master:
    locust --slave --host={{http://example.com}}
  • Connect Locust slave to master on a different machine:
    locust --slave --master-host={{master_hostname}} --host={{http://example.com}}

xh

Friendly and fast tool for sending HTTP requests. More information: https://github.com/ducaale/xh.
  • Send a GET request:
    xh {{httpbin.org/get}}
  • Send a POST request with a JSON body (key-value pairs are added to a top-level JSON object - e.g. {"name": "john", "age": 25}):
    xh post {{httpbin.org/post}} {{name=john}} {{age:=25}}
  • Send a GET request with query parameters (e.g. first_param=5&second_param=true):
    xh get {{httpbin.org/get}} {{first_param==5}} {{second_param==true}}
  • Send a GET request with a custom header:
    xh get {{httpbin.org/get}} {{header-name:header-value}}
  • Make a GET request and save the response body to a file:
    xh --download {{httpbin.org/json}} --output {{path/to/file}}

nix-shell

Start an interactive shell based on a Nix expression. See also: tldr nix3 shell. More information: https://nixos.org/manual/nix/stable/command-ref/nix-shell.html.
  • Start with nix expression in shell.nix or default.nix in the current directory:
    nix-shell
  • Run shell command in non-interactive shell and exit:
    nix-shell --run "{{command}} {{argument1 argument2 ...}}"
  • Start with expression in default.nix in the current directory:
    nix-shell {{default.nix}}
  • Start with packages loaded from nixpkgs:
    nix-shell --packages {{package1 package2 ...}}
  • Start with packages loaded from specific nixpkgs revision:
    nix-shell --packages {{package1 package2 ...}} -I nixpkgs={{https://github.com/NixOS/nixpkgs/archive/nixpkgs_revision.tar.gz}}
  • Evaluate rest of file in specific interpreter, for use in #!-scripts (see https://nixos.org/manual/nix/stable/#use-as-a-interpreter):
    nix-shell -i {{interpreter}} --packages {{package1 package2 ...}}

msbuild

The Microsoft build tool for Visual Studio project solutions. More information: https://learn.microsoft.com/visualstudio/msbuild.
  • Build the first project file in the current directory:
    msbuild
  • Build a specific project file:
    msbuild {{path/to/project_file}}
  • Set one or more semicolon-separated targets to build:
    msbuild {{path/to/project_file}} /target:{{targets}}
  • Set one or more semicolon-separated properties:
    msbuild {{path/to/project_file}} /property:{{name=value}}
  • Set the build tools version to use:
    msbuild {{path/to/project_file}} /toolsversion:{{version}}
  • Display detailed information at the end of the log about how the project was configured:
    msbuild {{path/to/project_file}} /detailedsummary
  • Display detailed help information:
    msbuild /help

uuencode

Encode binary files into ASCII for transport via mediums that only support simple ASCII encoding. More information: https://manned.org/uuencode.
  • Encode a file and print the result to stdout:
    uuencode {{path/to/input_file}} {{output_file_name_after_decoding}}
  • Encode a file and write the result to a file:
    uuencode -o {{path/to/output_file}} {{path/to/input_file}} {{output_file_name_after_decoding}}
  • Encode a file using Base64 instead of the default uuencode encoding and write the result to a file:
    uuencode -m -o {{path/to/output_file}} {{path/to/input_file}} {{output_file_name_after_decoding}}

R

R language interpreter. More information: https://www.r-project.org.
  • Start a REPL (interactive shell):
    R
  • Check R version:
    R --version
  • Start R in vanilla mode (i.e. a blank session that doesn't save the workspace at the end):
    R --vanilla
  • Execute a file:
    R -f {{path/to/file.R}}
  • Execute an R expression and then exit:
    R -e {{expr}}
  • Run R with a debugger:
    R -d {{debugger}}
  • Check R packages from package sources:
    R CMD check {{path/to/package_source}}

pt

Platinum Searcher. A code search tool similar to ag. More information: https://github.com/monochromegane/the_platinum_searcher.
  • Find files containing "foo" and print the files with highlighted matches:
    pt {{foo}}
  • Find files containing "foo" and display count of matches in each file:
    pt -c {{foo}}
  • Find files containing "foo" as a whole word and ignore its case:
    pt -wi {{foo}}
  • Find "foo" in files with a given extension using a regular expression:
    pt -G='{{\.bar$}}' {{foo}}
  • Find files whose contents match the regular expression, up to 2 directories deep:
    pt --depth={{2}} -e '{{^ba[rz]*$}}'

pyflakes

Checks Python source code files for errors. More information: https://pypi.org/project/pyflakes.
  • Check a single Python file:
    pyflakes check {{path/to/file}}.py
  • Check Python files in a specific directory:
    pyflakes checkPath {{path/to/directory}}
  • Check Python files in a directory recursively:
    pyflakes checkRecursive {{path/to/directory}}
  • Check all Python files found in multiple directories:
    pyflakes iterSourceCode {{path/to/directory_1}} {{path/to/directory_2}}

ocrmypdf

Generate a searchable PDF or PDF/A from a scanned PDF or an image of text. More information: https://ocrmypdf.readthedocs.io/en/latest/cookbook.html.
  • Create a new searchable PDF/A file from a scanned PDF or image file:
    ocrmypdf {{path/to/input_file}} {{path/to/output.pdf}}
  • Replace a scanned PDF file with a searchable PDF file:
    ocrmypdf {{path/to/file.pdf}} {{path/to/file.pdf}}
  • Skip pages of a mixed-format input PDF file that already contain text:
    ocrmypdf --skip-text {{path/to/input.pdf}} {{path/to/output.pdf}}
  • Clean, de-skew, and rotate pages of a poor scan:
    ocrmypdf --clean --deskew --rotate-pages {{path/to/input_file}} {{path/to/output.pdf}}
  • Set the metadata of the searchable PDF file:
    ocrmypdf --title "{{title}}" --author "{{author}}" --subject "{{subject}}" --keywords "{{keyword; key phrase; ...}}" {{path/to/input_file}} {{path/to/output.pdf}}
  • Display help:
    ocrmypdf --help

weasyprint

Render HTML to PDF or PNG. More information: https://weasyprint.org/.
  • Render an HTML file to PDF:
    weasyprint {{path/to/input.html}} {{path/to/output}}.pdf
  • Render an HTML file to PNG, including an additional user stylesheet:
    weasyprint {{path/to/input.html}} {{path/to/output}}.png --stylesheet {{path/to/stylesheet.css}}
  • Output additional debugging information when rendering:
    weasyprint {{path/to/input.html}} {{path/to/output}}.pdf --verbose
  • Specify a custom resolution when outputting to PNG:
    weasyprint {{path/to/input.html}} {{path/to/output}}.png --resolution {{300}}
  • Specify a base URL for relative URLs in the input HTML file:
    weasyprint {{path/to/input.html}} {{path/to/output}}.png --base-url {{url_or_filename}}

py-spy

A sampling profiler for Python programs. More information: https://github.com/benfred/py-spy.
  • Show a live view of the functions that take the most execution time of a running process:
    py-spy top --pid {{pid}}
  • Start a program and show a live view of the functions that take the most execution time:
    py-spy top -- python {{path/to/file.py}}
  • Produce an SVG flame graph of the function call execution time:
    py-spy record -o {{path/to/profile.svg}} --pid {{pid}}
  • Dump the call stack of a running process:
    py-spy dump --pid {{pid}}

xml unescape

Unescape special XML characters, e.g. &lt;a1&gt;<a1>. More information: http://xmlstar.sourceforge.net/docs.php.
  • Unescape special XML characters from a string:
    xml unescape "{{&lt;a1&gt;}}"
  • Unescape special XML characters from stdin:
    echo "{{&lt;a1&gt;}}" | xml unescape
  • Display help for the unescape subcommand:
    xml escape --help

mktorrent

Create BitTorrent metainfo files. More information: https://github.com/Rudde/mktorrent.
  • Create a torrent with 2^21 KB as the piece size:
    mktorrent -a {{tracker_announce_url}} -l {{21}} -o {{path/to/example.torrent}} {{path/to/file_or_directory}}
  • Create a private torrent with a 2^21 KB piece size:
    mktorrent -p -a {{tracker_announce_url}} -l {{21}} -o {{path/to/example.torrent}} {{path/to/file_or_directory}}
  • Create a torrent with a comment:
    mktorrent -c "{{comment}}" -a {{tracker_announce_url}} -l {{21}} -o {{path/to/example.torrent}} {{path/to/file_or_directory}}
  • Create a torrent with multiple trackers:
    mktorrent -a {{tracker_announce_url,tracker_announce_url_2}} -l {{21}} -o {{path/to/example.torrent}} {{path/to/file_or_directory}}
  • Create a torrent with web seed URLs:
    mktorrent -a {{tracker_announce_url}} -w {{web_seed_url}} -l {{21}} -o {{path/to/example.torrent}} {{path/to/file_or_directory}}

lpr

CUPS tool for printing files. See also: lpstat and lpadmin. More information: https://www.cups.org/doc/man-lpr.html.
  • Print a file to the default printer:
    lpr {{path/to/file}}
  • Print 2 copies:
    lpr -# {{2}} {{path/to/file}}
  • Print to a named printer:
    lpr -P {{printer}} {{path/to/file}}
  • Print either a single page (e.g. 2) or a range of pages (e.g. 2–16):
    lpr -o page-ranges={{2|2-16}} {{path/to/file}}
  • Print double-sided either in portrait (long) or in landscape (short):
    lpr -o sides={{two-sided-long-edge|two-sided-short-edge}} {{path/to/file}}
  • Set page size (more options may be available depending on setup):
    lpr -o media={{a4|letter|legal}} {{path/to/file}}
  • Print multiple pages per sheet:
    lpr -o number-up={{2|4|6|9|16}} {{path/to/file}}

pg_isready

Check the connection status of a PostgreSQL server. More information: https://www.postgresql.org/docs/current/app-pg-isready.html.
  • Check connection:
    pg_isready
  • Check connection with a specific hostname and port:
    pg_isready --host={{hostname}} --port={{port}}
  • Check connection displaying a message only when the connection fails:
    pg_isready --quiet

jstack

Java stack trace tool. More information: https://manned.org/jstack.
  • Print Java stack traces for all threads in a Java process:
    jstack {{java_pid}}
  • Print mixed mode (Java/C++) stack traces for all threads in a Java process:
    jstack -m {{java_pid}}
  • Print stack traces from Java core dump:
    jstack {{/usr/bin/java}} {{file.core}}

openssl genpkey

OpenSSL command to generate asymmetric key pairs. More information: https://www.openssl.org/docs/manmaster/man1/openssl-genpkey.html.
  • Generate an RSA private key of 2048 bits, saving it to a specific file:
    openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:{{2048}} -out {{filename.key}}
  • Generate an elliptic curve private key using the curve prime256v1, saving it to a specific file:
    openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:{{prime256v1}} -out {{filename.key}}
  • Generate an ED25519 elliptic curve private key, saving it to a specific file:
    openssl genpkey -algorithm {{ED25519}} -out {{filename.key}}

mpg321

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3. Mpg321 was written (sometime in 1999) to be a drop-in replacement for the (previously) non-free mpg123 player. More information: http://mpg321.sourceforge.net/.
  • Play an audio source exactly N times (N=0 means forever):
    mpg321 -l {{N}} {{path/to/file_a|URL}} {{path/to/file_b|URL}} {{...}}
  • Play a directory recursively:
    mpg321 -B {{path/to/directory}}
  • Enable Basic Keys ( * or / - Increase or decrease volume, n - Skip song, m - Mute/unmute.) while playing:
    mpg321 -K {{path/to/file_a|URL}} {{path/to/file_b|URL}} {{...}}
  • Play files randomly until interrupted:
    mpg321 -Z {{path/to/file_a|URL}} {{path/to/file_b|URL}} {{...}}
  • Shuffle the files before playing them once:
    mpg321 -z {{path/to/file_a|URL}} {{path/to/file_b|URL}} {{...}}
  • Play all files in the current directory and subdirectories, randomly (until interrupted), with Basic Keys enabled:
    mpg321 -B -Z -K .

rekor-cli

Immutable tamper resistant ledger of metadata generated within a software projects supply chain. More information: https://github.com/sigstore/rekor.
  • Upload an artifact to Rekor:
    rekor-cli upload --artifact {{path/to/file.ext}} --signature {{path/to/file.ext.sig}} --pki-format={{x509}} --public-key={{path/to/key.pub}}
  • Get information regarding entries in the Transparency Log:
    rekor-cli get --uuid={{0e81b4d9299e2609e45b5c453a4c0e7820ac74e02c4935a8b830d104632fd2d1}}
  • Search the Rekor index to find entries by Artifact:
    rekor-cli search --artifact {{path/to/file.ext}}
  • Search the Rekor index to find entries by a specific hash:
    rekor-cli search --sha {{6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b}}

bazel

Open-source build and test tool similar to Make, Maven, and Gradle. More information: https://bazel.build/reference/command-line-reference.
  • Build the specified target in the workspace:
    bazel build {{target}}
  • Remove output files and stop the server if running:
    bazel clean
  • Stop the bazel server:
    bazel shutdown
  • Display runtime info about the bazel server:
    bazel info
  • Display help:
    bazel help
  • Display version:
    bazel version

nmap

Network exploration tool and security/port scanner. Some features only activate when Nmap is run with root privileges. More information: https://nmap.org.
  • Check if an IP address is up, and guess the remote host's operating system:
    nmap -O {{ip_or_hostname}}
  • Try to determine whether the specified hosts are up (ping scan) and what their names and MAC addresses are:
    sudo nmap -sn {{ip_or_hostname}} {{optional_another_address}}
  • Also enable scripts, service detection, OS fingerprinting and traceroute:
    nmap -A {{address_or_addresses}}
  • Scan a specific list of ports (use '-p-' for all ports from 1 to 65535):
    nmap -p {{port1,port2,...,portN}} {{address_or_addresses}}
  • Perform service and version detection of the top 1000 ports using default NSE scripts; writing results ('-oN') to output file:
    nmap -sC -sV -oN {{top-1000-ports.txt}} {{address_or_addresses}}
  • Scan target(s) carefully using 'default and safe' NSE scripts:
    nmap --script "default and safe" {{address_or_addresses}}
  • Scan web server running on standard ports 80 and 443 using all available 'http-*' NSE scripts:
    nmap --script "http-*" {{address_or_addresses}} -p 80,443
  • Perform a stealthy very slow scan ('-T0') trying to avoid detection by IDS/IPS and use decoy ('-D') source IP addresses:
    nmap -T0 -D {{decoy1_ipaddress,decoy2_ipaddress,...,decoyN_ipaddress}} {{address_or_addresses}}


rev

Reverse a line of text. More information: https://manned.org/rev.
  • Reverse the text string "hello":
    echo "hello" | rev
  • Reverse an entire file and print to stdout:
    rev {{path/to/file}}

amass

In-depth Attack Surface Mapping and Asset Discovery tool. Some subcommands such as amass db have their own usage documentation. More information: https://github.com/OWASP/Amass.
  • Execute an Amass subcommand:
    amass {{subcommand}}
  • Show general help:
    amass -help
  • Show help on an Amass subcommand (like intel, enum, etc.):
    amass -help {{subcommand}}
  • Display version:
    amass -version

mmls

Display the partition layout of a volume system. More information: https://wiki.sleuthkit.org/index.php?title=Mmls.
  • Display the partition table stored in an image file:
    mmls {{path/to/image_file}}
  • Display the partition table with an additional column for the partition size:
    mmls -B -i {{path/to/image_file}}
  • Display the partition table in a split EWF image:
    mmls -i ewf {{image.e01}} {{image.e02}}
  • Display nested partition tables:
    mmls -t {{nested_table_type}} -o {{offset}} {{path/to/image_file}}

packer

Build automated machine images. More information: https://www.packer.io/.
  • Build an image:
    packer build {{path/to/config.json}}
  • Check the syntax of a Packer image config:
    packer validate {{path/to/config.json}}

git hash-object

Computes the unique hash key of content and optionally creates an object with specified type. More information: https://git-scm.com/docs/git-hash-object.
  • Compute the object ID without storing it:
    git hash-object {{path/to/file}}
  • Compute the object ID and store it in the Git database:
    git hash-object -w {{path/to/file}}
  • Compute the object ID specifying the object type:
    git hash-object -t {{blob|commit|tag|tree}} {{path/to/file}}
  • Compute the object ID from stdin:
    cat {{path/to/file}} | git hash-object --stdin

exrex

Generate all/random matching strings for a regular expression. It can also simplify regular expressions. More information: https://github.com/asciimoo/exrex.
  • Generate all possible strings that match a regular expression:
    exrex '{{regular_expression}}'
  • Generate a random string that matches a regular expression:
    exrex --random '{{regular_expression}}'
  • Generate at most 100 strings that match a regular expression:
    exrex --max-number {{100}} '{{regular_expression}}'
  • Generate all possible strings that match a regular expression, joined by a custom delimiter string:
    exrex --delimiter "{{, }}" '{{regular_expression}}'
  • Print count of all possible strings that match a regular expression:
    exrex --count '{{regular_expression}}'
  • Simplify a regular expression:
    exrex --simplify '{{ab|ac}}'
  • Print eyes:
    exrex '{{[oO0](_)[oO0]}}'
  • Print a boat:
    exrex '{{( {20}(\| *\\|-{22}|\|)|\.={50}| ( ){0,5}\\\.| {12}~{39})}}'

ccomps

Decompose graphs into their connected components. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/ccomps.1.pdf.
  • Decompose one or more graphs into their connected components:
    ccomps {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Print the number of nodes, edges, and connected components in one or more graphs:
    ccomps -v -s {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Write each connected component to numbered filenames based on output.gv:
    ccomps -x -o {{path/to/output.gv}} {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Display help for ccomps:
    ccomps -?

znew

Recompress files from .Z to .gz format. More information: https://manned.org/znew.
  • Recompress a file from .Z to .gz format:
    znew {{path/to/file1.Z}}
  • Recompress multiple files and display the achieved size reduction % per file:
    znew -v {{path/to/file1.Z}} {{path/to/file2.Z}} {{path/to/file3.Z}}
  • Recompress a file using the slowest compression method (for optimal compression):
    znew -9 {{path/to/file1.Z}}
  • Recompress a file, [K]eeping the .Z file if it is smaller than the .gz file:
    znew -K {{path/to/file1.Z}}

dolt blame

Displays commit information for each row of a Dolt table. More information: http://github.com/dolthub/dolt.
  • Display the latest commit for each row of a table:
    dolt blame {{table}}
  • Display the latest commits for each row of a table when the specified commit was made:
    dolt blame {{commit}} {{table}}
  • View help:
    dolt blame --help

doctl balance

Show the balance of a Digital Ocean account. More information: https://docs.digitalocean.com/reference/doctl/reference/balance/.
  • Get balance of the account associated with the current context:
    doctl balance get
  • Get the balance of an account associated with an access token:
    doctl balance get --access-token {{access_token}}
  • Get the balance of an account associated with a specified context:
    doctl balance get --context

sqlite3

The command-line interface to SQLite 3, which is a self-contained file-based embedded SQL engine. More information: https://sqlite.org.
  • Start an interactive shell with a new database:
    sqlite3
  • Open an interactive shell against an existing database:
    sqlite3 {{path/to/database.sqlite3}}
  • Execute an SQL statement against a database and then exit:
    sqlite3 {{path/to/database.sqlite3}} '{{SELECT * FROM some_table;}}'

edgepaint

Colorize edges of a graph layout to clarify crossing edges. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/edgepaint.1.pdf.
  • Colorize edges of one or more graph layouts (that already have layout information) to clarify crossing edges:
    edgepaint {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Colorize edges using a color scheme. (See https://graphviz.org/doc/info/colors.html#brewer):
    edgepaint -color-scheme={{accent7}} {{path/to/layout.gv}} > {{path/to/output.gv}}
  • Lay out a graph and colorize its edges, then convert to a PNG image:
    dot {{path/to/input.gv}} | edgepaint | dot -T {{png}} > {{path/to/output.png}}
  • Display help for edgepaint:
    edgepaint -?

direnv

Shell extension to load and unload environment variables depending on the current directory. More information: https://github.com/direnv/direnv.
  • Grant direnv permission to load the .envrc present in the current directory:
    direnv allow {{.}}
  • Revoke the authorization to load the .envrc present in the current directory:
    direnv deny {{.}}
  • Edit the .envrc file in the default text editor and reload the environment on exit:
    direnv edit {{.}}
  • Trigger a reload of the environment:
    direnv reload
  • Print some debug status information:
    direnv status

fc-match

Match available fonts. More information: https://manned.org/fc-match.
  • Return a sorted list of best matching fonts:
    fc-match -s '{{DejaVu Serif}}'


gh extension

Manage extensions for the GitHub CLI. More information: https://cli.github.com/manual/gh_extension.
  • Initialize a new GitHub CLI extension project in a directory of the same name:
    gh extension create {{extension_name}}
  • Install an extension from a GitHub repository:
    gh extension install {{owner}}/{{repository}}
  • List installed extensions:
    gh extension list
  • Upgrade a specific extension:
    gh extension upgrade {{extension_name}}
  • Upgrade all extensions:
    gh extension upgrade --all
  • List installed extensions:
    gh extension list
  • Remove an extension:
    gh extension remove {{extension_name}}
  • Display help about a subcommand:
    gh extension {{subcommand}} --help

mamba repoquery

Efficiently query conda and mamba package repositories and package dependencies. More information: https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery.
  • Search for all available versions of a particular package:
    mamba repoquery search {{package}}
  • Search for all packages satisfying specific constraints:
    mamba repoquery search {{sphinx<5}}
  • List the dependencies of a package installed in the currently activated environment, in a tree format:
    mamba repoquery depends --tree {{scipy}}
  • Print packages in the current environment that require a particular package to be installed (i.e. inverse of depends):
    mamba repoquery whoneeds {{ipython}}

nvm

Install, uninstall, or switch between Node.js versions under the fish shell. Supports version numbers like "12.8" or "v16.13.1", and labels like "stable", "system", etc. More information: https://github.com/jorgebucaran/nvm.fish.
  • Install a specific version of Node.js:
    nvm install {{node_version}}
  • Use a specific version of Node.js in the current shell:
    nvm use {{node_version}}
  • Set the default Node.js version:
    set nvm_default_version {{node_version}}
  • List all available Node.js versions and highlight the default one:
    nvm list
  • Uninstall a given Node.js version:
    nvm uninstall {{node_version}}

sshpass

An ssh password provider. It works by creating a TTY, feeding the password into it, and then redirecting stdin to the ssh session. More information: https://manned.org/sshpass.
  • Connect to a remote server using a password supplied on a file descriptor (in this case, stdin):
    sshpass -d {{0}} ssh {{user}}@{{hostname}}
  • Connect to a remote server with the password supplied as an option, and automatically accept unknown ssh keys:
    sshpass -p {{password}} ssh -o StrictHostKeyChecking=no {{user}}@{{hostname}}
  • Connect to a remote server using the first line of a file as the password, automatically accept unknown ssh keys, and launch a command:
    sshpass -f {{path/to/file}} ssh -o StrictHostKeyChecking=no {{user}}@{{hostname}} "{{command}}"

tox

Automate Python testing across multiple Python versions. Use tox.ini to configure environments and test command. More information: https://github.com/tox-dev/tox.
  • Run tests on all test environments:
    tox
  • Create a tox.ini configuration:
    tox-quickstart
  • List the available environments:
    tox --listenvs-all
  • Run tests on a specific environment (e.g. Python 3.6):
    tox -e {{py36}}
  • Force the virtual environment to be recreated:
    tox --recreate -e {{py27}}

link

Create a hard link to an existing file. For more options, see the ln command. More information: https://www.gnu.org/software/coreutils/link.
  • Create a hard link from a new file to an existing file:
    link {{path/to/existing_file}} {{path/to/new_file}}

typst

Compile a Typst file to PDF. Note: Specifying the output location is optional. More information: https://github.com/typst/typst.
  • List all discoverable fonts in the system and the given directory:
    typst --font-path {{path/to/fonts_directory}} fonts
  • Compile a Typst file:
    typst compile {{path/to/source.typ}} {{path/to/output.pdf}}
  • Watch a Typst file and recompile on changes:
    typst watch {{path/to/source.typ}} {{path/to/output.pdf}}

jps

Show JVM process status of current user. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/jps.html.
  • List all JVM processes:
    jps
  • List all JVM processes with only PID:
    jps -q
  • Display the arguments passed to the processes:
    jps -m
  • Display the full package name of all processes:
    jps -l
  • Display the arguments passed to the JVM:
    jps -v


openai

CLI tool providing access to the OpenAI API. More information: https://github.com/openai/openai-python.
  • List models:
    openai api models.list
  • Create a completion:
    openai api completions.create --model {{ada}} --prompt {{"Hello world"}}
  • Create a chat completion:
    openai api chat_completions.create --model {{gpt-3.5-turbo}} --message {{user "Hello world"}}
  • Generate images via DALL·E API:
    openai api image.create --prompt {{"two dogs playing chess, cartoon"}} --num-images {{1}}

gobuster

Brute-forces hidden paths on web servers and more. More information: https://github.com/OJ/gobuster.
  • Discover directories and files that match in the wordlist:
    gobuster dir --url {{https://example.com/}} --wordlist {{path/to/file}}
  • Discover subdomains:
    gobuster dns --domain {{example.com}} --wordlist {{path/to/file}}
  • Discover Amazon S3 buckets:
    gobuster s3 --wordlist {{path/to/file}}
  • Discover other virtual hosts on the server:
    gobuster vhost --url {{https://example.com/}} --wordlist {{path/to/file}}
  • Fuzz the value of a parameter:
    gobuster fuzz --url {{https://example.com/?parameter=FUZZ}} --wordlist {{path/to/file}}
  • Fuzz the name of a parameter:
    gobuster fuzz --url {{https://example.com/?FUZZ=value}} --wordlist {{path/to/file}}

ansible-vault

Encrypts & decrypts values, data structures and files within Ansible projects. More information: https://docs.ansible.com/ansible/latest/user_guide/vault.html#id17.
  • Create a new encrypted vault file with a prompt for a password:
    ansible-vault create {{vault_file}}
  • Create a new encrypted vault file using a vault key file to encrypt it:
    ansible-vault create --vault-password-file={{password_file}} {{vault_file}}
  • Encrypt an existing file using an optional password file:
    ansible-vault encrypt --vault-password-file={{password_file}} {{vault_file}}
  • Encrypt a string using Ansible's encrypted string format, displaying interactive prompts:
    ansible-vault encrypt_string
  • View an encrypted file, using a password file to decrypt:
    ansible-vault view --vault-password-file={{password_file}} {{vault_file}}
  • Re-key already encrypted vault file with a new password file:
    ansible-vault rekey --vault-password-file={{old_password_file}} --new-vault-password-file={{new_password_file}} {{vault_file}}

pystun3

Classic STUN client written in Python. More information: https://github.com/talkiq/pystun3.
  • Make a STUN request:
    pystun3
  • Make a STUN request and specify the stun server:
    pystun3 --stun-host {{stun.1und1.de}}
  • Make a STUN request and specify the source port:
    pystun3 --source-port {{7932}}

lzgrep

This command is an alias of xzgrep.
  • View documentation for the original command:
    tldr xzgrep

monodis

The Mono Common Intermediate Language (CIL) disassembler. More information: https://www.mono-project.com/docs/tools+libraries/tools/monodis/.
  • Disassemble an assembly to textual CIL:
    monodis {{path/to/assembly.exe}}
  • Save the output to a file:
    monodis --output={{path/to/output.il}} {{path/to/assembly.exe}}
  • Show information about an assembly:
    monodis --assembly {{path/to/assembly.dll}}
  • List the references of an assembly:
    monodis --assemblyref {{path/to/assembly.exe}}
  • List all the methods in an assembly:
    monodis --method {{path/to/assembly.exe}}
  • Show a list of resources embedded within an assembly:
    monodis --manifest {{path/to/assembly.dll}}
  • Extract all the embedded resources to the current directory:
    monodis --mresources {{path/to/assembly.dll}}

watchexec

Run arbitrary commands when files change. More information: https://github.com/watchexec/watchexec.
  • Call ls -la when any file in the current directory changes:
    watchexec {{ls -la}}
  • Run make when any JavaScript, CSS and HTML file in the current directory changes:
    watchexec --exts {{js,css,html}} make
  • Run make when any file in the lib or src directory changes:
    watchexec --watch {{lib}} --watch {{src}} {{make}}
  • Call/restart my_server when any file in the current directory changes, sending SIGKILL to stop the child process:
    watchexec --restart --stop-signal {{SIGKILL}} {{my_server}}

xml elements

Extract elements and display the structure of an XML document. More information: http://xmlstar.sourceforge.net/docs.php.
  • Extract elements from an XML document (producing XPATH expressions):
    xml elements {{path/to/input.xml|URI}} > {{path/to/elements.xpath}}
  • Extract elements and their attributes from an XML document:
    xml elements -a {{path/to/input.xml|URI}} > {{path/to/elements.xpath}}
  • Extract elements and their attributes and values from an XML document:
    xml elements -v {{path/to/input.xml|URI}} > {{path/to/elements.xpath}}
  • Print sorted unique elements from an XML document to see its structure:
    xml elements -u {{path/to/input.xml|URI}}
  • Print sorted unique elements from an XML document up to a depth of 3:
    xml elements -d{{3}} {{path/to/input.xml|URI}}
  • Display help for the elements subcommand:
    xml elements --help

complete

Provides argument autocompletion to shell commands. More information: https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html.
  • Apply a function that performs autocompletion to a command:
    complete -F {{function}} {{command}}
  • Apply a command that performs autocompletion to another command:
    complete -C {{autocomplete_command}} {{command}}
  • Apply autocompletion without appending a space to the completed word:
    complete -o nospace -F {{function}} {{command}}

elm

Compile and run Elm source files. More information: https://elm-lang.org.
  • Initialize an Elm project, generates an elm.json file:
    elm init
  • Start interactive Elm shell:
    elm repl
  • Compile an Elm file, output the result to an index.html file:
    elm make {{source}}
  • Compile an Elm file, output the result to a JavaScript file:
    elm make {{source}} --output={{destination}}.js
  • Start local web server that compiles Elm files on page load:
    elm reactor
  • Install Elm package from https://package.elm-lang.org:
    elm install {{author}}/{{package}}

quilt

Tool to manage a series of patches. More information: https://savannah.nongnu.org/projects/quilt.
  • Import an existing patch from a file:
    quilt import {{path/to/filename.patch}}
  • Create a new patch:
    quilt new {{filename.patch}}
  • Add a file to the current patch:
    quilt add {{path/to/file}}
  • After editing the file, refresh the current patch with the changes:
    quilt refresh
  • Apply all the patches in the series file:
    quilt push -a
  • Remove all applied patches:
    quilt pop -a

prosodyctl

The control tool for the Prosody XMPP server. More information: https://prosody.im/doc/prosodyctl.
  • Show the status of the Prosody server:
    sudo prosodyctl status
  • Reload the server's configuration files:
    sudo prosodyctl reload
  • Add a user to the Prosody XMPP server:
    sudo prosodyctl adduser {{[email protected]}}
  • Set a user's password:
    sudo prosodyctl passwd {{[email protected]}}
  • Permanently delete a user:
    sudo prosodyctl deluser {{[email protected]}}

ern

Electrode Native platform command-line client. More information: https://native.electrode.io/reference/index-6.
  • Create a new ern application (MiniApp):
    ern create-miniapp {{application_name}}
  • Run one or more MiniApps in the iOS/Android Runner application:
    ern run-{{ios|android}}
  • Create an Electrode Native container:
    ern create-container --miniapps {{/path/to/miniapp_directory}} --platform {{ios|android}}
  • Publish an Electrode Native container to a local Maven repository:
    ern publish-container --publisher {{maven}} --platform {{android}} --extra {{'{"groupId":"com.walmart.ern","artifactId":"quickstart"}'}}
  • Transform an iOS container into a pre-compiled binary framework:
    ern transform-container --platform {{ios}} --transformer {{xcframework}}
  • List all installed versions of Electrode Native:
    ern platform versions
  • Set a logging level:
    ern platform config set logLevel {{trace|debug}}

ping6

Send ICMP ECHO_REQUEST packets to network hosts via IPv6 address. More information: https://manned.org/ping6.
  • Ping a host:
    ping6 {{host}}
  • Ping a host only a specific number of times:
    ping6 -c {{count}} {{host}}
  • Ping a host, specifying the interval in seconds between requests (default is 1 second):
    ping6 -i {{seconds}} {{host}}
  • Ping a host without trying to lookup symbolic names for addresses:
    ping6 -n {{host}}
  • Ping a host and ring the bell when a packet is received (if your terminal supports it):
    ping6 -a {{host}}

llvd

Linkedin Learning Video Downloader. More information: https://github.com/knowbee/llvd.
  • Download a [c]ourse using cookie-based authentication:
    llvd -c {{course-slug}} --cookies
  • Download a course at a specific [r]esolution:
    llvd -c {{course-slug}} -r 720
  • Download a course with [ca]ptions (subtitles):
    llvd -c {{course-slug}} --caption
  • Download a course [p]ath with [t]hrottling between 10 to 30 seconds:
    llvd -p {{path-slug}} -t {{10,30}} --cookies

xml validate

Validate XML documents. More information: http://xmlstar.sourceforge.net/docs.php.
  • Validate one or more XML documents for well-formedness only:
    xml validate {{path/to/input1.xml|URI}} {{input2.xml ...}}
  • Validate one or more XML documents against a Document Type Definition (DTD):
    xml validate --dtd {{path/to/schema.dtd}} {{path/to/input1.xml|URI}} {{input2.xml ...}}
  • Validate one or more XML documents against an XML Schema Definition (XSD):
    xml validate --xsd {{path/to/schema.xsd}} {{path/to/input1.xml|URI}} {{input2.xml ...}}
  • Validate one or more XML documents against a Relax NG schema (RNG):
    xml validate --relaxng {{path/to/schema.rng}} {{path/to/input1.xml|URI}} {{input2.xml ...}}
  • Display help for the validate subcommand:
    xml validate --help

satis

The command-line utility for the Satis static Composer repository. More information: https://github.com/composer/satis.
  • Initialize a Satis configuration:
    satis init {{satis.json}}
  • Add a VCS repository to the Satis configuration:
    satis add {{repository_url}}
  • Build the static output from the configuration:
    satis build {{satis.json}} {{path/to/output_directory}}
  • Build the static output by updating only the specified repository:
    satis build --repository-url {{repository_url}} {{satis.json}} {{path/to/output_directory}}
  • Remove useless archive files:
    satis purge {{satis.json}} {{path/to/output_directory}}

transfersh

An unofficial command-line client for transfer.sh. More information: https://github.com/AlpixTM/transfersh.
  • Upload a file to transfer.sh:
    transfersh {{path/to/file}}
  • Upload a file showing a progress bar (requires Python package requests_toolbelt):
    transfersh --progress {{path/to/file}}
  • Upload a file using a different file name:
    transfersh --name {{filename}} {{path/to/file}}
  • Upload a file to a custom transfer.sh server:
    transfersh --servername {{upload.server.name}} {{path/to/file}}
  • Upload all files from a directory recursively:
    transfersh --recursive {{path/to/directory/}}
  • Upload a specific directory as an uncompressed tar:
    transfersh -rt {{path/to/directory}}

tee

Read from stdin and write to stdout and files (or commands). More information: https://www.gnu.org/software/coreutils/tee.
  • Copy stdin to each file, and also to stdout:
    echo "example" | tee {{path/to/file}}
  • Append to the given files, do not overwrite:
    echo "example" | tee -a {{path/to/file}}
  • Print stdin to the terminal, and also pipe it into another program for further processing:
    echo "example" | tee {{/dev/tty}} | {{xargs printf "[%s]"}}
  • Create a directory called "example", count the number of characters in "example" and write "example" to the terminal:
    echo "example" | tee >(xargs mkdir) >(wc -c)

mh_lint

Attempt to find bugs in MATLAB or Octave code. Please note that this tool is neither sound nor complete. More information: https://misshit.org.
  • Check the current directory:
    mh_lint
  • Check a specific directory recursively:
    mh_lint {{path/to/directory}}
  • Check a MATLAB file:
    mh_lint {{path/to/file.m}}
  • Check an Octave file:
    mh_lint --octave {{path/to/file.m}}



lzop

Compress or decompress files with LZO compression. More information: https://www.lzop.org/.
  • Compress a file into a new file with the .lzo suffix:
    lzop {{path/to/file}}
  • Decompress a file:
    lzop -d {{path/to/file}}.lzo
  • Compress a file, while specifying the compression level. 0 = Worst, 9 = Best (Default level is 3):
    lzop -{{level}} {{path/to/file}}

podman-compose

Run and manage Compose Specification container definition. More information: https://github.com/containers/podman-compose.
  • List all running containers:
    podman-compose ps
  • Create and start all containers in the background using a local docker-compose.yml:
    podman-compose up -d
  • Start all containers, building if needed:
    podman-compose up --build
  • Start all containers using an alternate compose file:
    podman-compose {{path/to/file}} up
  • Stop all running containers:
    podman-compose stop
  • Remove all containers, networks, and volumes:
    podman-compose down --volumes
  • Follow logs for a container (omit all container names):
    podman-compose logs --follow {{container_name}}
  • Run a one-time command in a service with no ports mapped:
    podman-compose run {{service_name}} {{command}}

sort

Sort lines of text files. More information: https://www.gnu.org/software/coreutils/sort.
  • Sort a file in ascending order:
    sort {{path/to/file}}
  • Sort a file in descending order:
    sort --reverse {{path/to/file}}
  • Sort a file in case-insensitive way:
    sort --ignore-case {{path/to/file}}
  • Sort a file using numeric rather than alphabetic order:
    sort --numeric-sort {{path/to/file}}
  • Sort /etc/passwd by the 3rd field of each line numerically, using ":" as a field separator:
    sort --field-separator={{:}} --key={{3n}} {{/etc/passwd}}
  • Sort a file preserving only unique lines:
    sort --unique {{path/to/file}}
  • Sort a file, printing the output to the specified output file (can be used to sort a file in-place):
    sort --output={{path/to/file}} {{path/to/file}}
  • Sort numbers with exponents:
    sort --general-numeric-sort {{path/to/file}}



sync

Flushes all pending write operations to the appropriate disks. More information: https://www.gnu.org/software/coreutils/sync.
  • Flush all pending write operations on all disks:
    sync
  • Flush all pending write operations on a single file to disk:
    sync {{path/to/file}}

nim

The Nim compiler. Processes, compiles and links Nim language source files. More information: https://nim-lang.org/docs/nimc.html.
  • Compile a source file:
    nim compile {{path/to/file.nim}}
  • Compile and run a source file:
    nim compile -r {{path/to/file.nim}}
  • Compile a source file with release optimizations enabled:
    nim compile -d:release {{path/to/file.nim}}
  • Build a release binary optimized for low file size:
    nim compile -d:release --opt:size {{path/to/file.nim}}
  • Generate HTML documentation for a module (output will be placed in the current directory):
    nim doc {{path/to/file.nim}}
  • Check a file for syntax and semantics:
    nim check {{path/to/file.nim}}

llvm-gcc

This command is an alias of clang.
  • View documentation for the original command:
    tldr clang

fish

The Friendly Interactive SHell, a command-line interpreter designed to be user friendly. More information: https://fishshell.com.
  • Start an interactive shell session:
    fish
  • Start an interactive shell session without loading startup configs:
    fish --no-config
  • Execute specific commands:
    fish --command "{{echo 'fish is executed'}}"
  • Execute a specific script:
    fish {{path/to/script.fish}}
  • Check a specific script for syntax errors:
    fish --no-execute {{path/to/script.fish}}
  • Execute specific commands from stdin:
    {{echo "echo 'fish is executed'"}} | fish
  • Start an interactive shell session in private mode, where the shell does not access old history or save new history:
    fish --private
  • Define and export an environmental variable that persists across shell restarts (builtin):
    set --universal --export {{variable_name}} {{variable_value}}

svn

Subversion command-line client tool. More information: https://subversion.apache.org.
  • Check out a working copy from a repository:
    svn co {{url/to/repository}}
  • Bring changes from the repository into the working copy:
    svn up
  • Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit:
    svn add {{PATH}}
  • Send changes from your working copy to the repository:
    svn ci -m {{commit_log_message}} [{{PATH}}]
  • Display changes from the last 10 revisions, showing modified files for each revision:
    svn log -vl {{10}}
  • Show detailed help:
    svn help

git verify-commit

Check for GPG verification of commits. If no commits are verified, nothing will be printed, regardless of options specified. More information: https://git-scm.com/docs/git-verify-commit.
  • Check commits for a GPG signature:
    git verify-commit {{commit_hash1 optional_commit_hash2 ...}}
  • Check commits for a GPG signature and show details of each commit:
    git verify-commit {{commit_hash1 optional_commit_hash2 ...}} --verbose
  • Check commits for a GPG signature and print the raw details:
    git verify-commit {{commit_hash1 optional_commit_hash2 ...}} --raw

fossil rm

Remove files or directories from Fossil version control. See also fossil forget. More information: https://fossil-scm.org/home/help/rm.
  • Remove a file or directory from Fossil version control:
    fossil rm {{path/to/file_or_directory}}
  • Remove a file or directory from Fossil version control, and also delete it from the disk:
    fossil rm --hard {{path/to/file_or_directory}}
  • Re-add all previously removed and uncommitted files to Fossil version control:
    fossil rm --reset

warp-cli

Official command-line client for Cloudflare's WARP service. More information: https://developers.cloudflare.com/warp-client/.
  • Register the current device to WARP (must be run before first connection):
    warp-cli register
  • Connect to WARP:
    warp-cli connect
  • Disconnect from WARP:
    warp-cli disconnect
  • Display the WARP connection status:
    warp-cli status
  • Display help:
    warp-cli help
  • Display help for a subcommand:
    warp-cli help {{subcommand}}

tcc

A tiny C compiler that can run C source files as scripts and otherwise has command-line options similar to gcc. More information: https://bellard.org/tcc/tcc-doc.html.
  • Compile and link 2 source files to generate an executable:
    tcc -o {{executable_name}} {{path/to/file1.c}} {{path/to/file2.c}}
  • Directly run an input file like a script and pass arguments to it:
    tcc -run {{path/to/source_file.c}} {{arguments}}
  • Interpret C source files with a shebang inside the file:
    #!/full/path/to/tcc -run

most

Open one or several files for interactive reading, allowing scrolling and search. More information: https://manned.org/most.
  • Open a file:
    most {{path/to/file}}
  • Open several files:
    most {{path/to/file1}} {{path/to/file2}}
  • Open a file at the first occurrence of "string":
    most {{path/to/file}} +/{{string}}
  • Move through opened files:
    :O n
  • Jump to the 100th line:
    {{100}}j
  • Edit current file:
    e
  • Split the current window in half:
    <CTRL-x> o
  • Exit:
    Q

ngs

Scripting language created specifically for Ops. More information: https://github.com/ngs-lang/ngs.
  • Execute a code snippet:
    ngs -e "{{echo('ngs is executed')}}"
  • Execute a script:
    ngs {{path/to/script.ngs}}
  • Print the version:
    ngs --version

go fmt

Format Go source files. Prints the filenames that are changed. More information: https://pkg.go.dev/cmd/go#hdr-Gofmt__reformat__package_sources.
  • Format Go source files in the current directory:
    go fmt
  • Format a specific Go package in your import path ($GOPATH/src):
    go fmt {{path/to/package}}
  • Format the package in the current directory and all subdirectories (note the ...):
    go fmt {{./...}}
  • Print what format commands would've been run, without modifying anything:
    go fmt -n
  • Print which format commands are run as they are run:
    go fmt -x

fswatch

A cross-platform file change monitor. More information: https://emcrisostomo.github.io/fswatch.
  • Run a Bash command on file creation, update or deletion:
    fswatch {{path/to/file}} | xargs -n 1 {{bash_command}}
  • Watch one or more files and/or directories:
    fswatch {{path/to/file}} {{path/to/directory}} {{path/to/another_directory/**/*.js}} | xargs -n 1 {{bash_command}}
  • Print the absolute paths of the changed files:
    fswatch {{path/to/directory}} | xargs -n 1 -I {} echo {}
  • Filter by event type:
    fswatch --event {{Updated|Deleted|Created}} {{path/to/directory}} | xargs -n 1 {{bash_command}}

reflac

Recompress FLAC files in-place while preserving metadata. More information: https://github.com/chungy/reflac.
  • Recompress a directory of FLAC files:
    reflac {{path/to/directory}}
  • Enable maximum compression (very slow):
    reflac --best {{path/to/directory}}
  • Display filenames as they are processed:
    reflac --verbose {{path/to/directory}}
  • Recurse into subdirectories:
    reflac --recursive {{path/to/directory}}
  • Preserve file modification times:
    reflac --preserve {{path/to/directory}}

d8

Developer shell for the V8 JavaScript engine. More information: https://v8.dev/docs/d8.
  • Start a REPL (interactive shell):
    d8
  • Run a JavaScript file:
    d8 {{path/to/file.js}}
  • Evaluate a JavaScript expression:
    d8 -e "{{code}}

gitmoji

An interactive command-line tool for using emojis on commits. More information: https://github.com/carloscuesta/gitmoji-cli.
  • Start the commit wizard:
    gitmoji --commit
  • Initialize the git hook (so gitmoji will be run every time git commit is run):
    gitmoji --init
  • Remove the git hook:
    gitmoji --remove
  • List all available emojis and their descriptions:
    gitmoji --list
  • Search emoji list for a list of keywords:
    gitmoji --search {{keyword1}} {{keyword2}}
  • Update cached list of emojis from main repository:
    gitmoji --update
  • Configure global preferences:
    gitmoji --config

vectorize-pixelart

Convert PNG pixel art graphics to SVG/EPS vector images. More information: https://github.com/und3f/vectorize-pixelart.
  • Convert a PNG to a vector image format:
    vectorize-pixelart {{path/to/input.png}} {{path/to/output.svg|.eps}}

cmatrix

Shows a scrolling Matrix like screen in the terminal. More information: https://github.com/abishekvashok/cmatrix.
  • Enable asynchronous scrolling:
    cmatrix -a
  • Display red text:
    cmatrix -C {{red}}
  • Enable rainbow mode:
    cmatrix -r
  • Set screen update delay to 2 centiseconds (20 milliseconds):
    cmatrix -u {{2}}

cupsd

Server daemon for the CUPS print server. More information: https://www.cups.org/doc/man-cupsd.html.
  • Start cupsd in the background, aka. as a daemon:
    cupsd
  • Start cupsd on the [f]oreground:
    cupsd -f
  • [l]aunch cupsd on-demand (commonly used by launchd or systemd):
    cupsd -l
  • Start cupsd using the specified [c]upsd.conf configuration file:
    cupsd -c {{path/to/cupsd.conf}}
  • Start cupsd using the specified cups-file[s].conf configuration file:
    cupsd -s {{path/to/cups-files.conf}}
  • [t]est the [c]upsd.conf configuration file for errors:
    cupsd -t -c {{path/to/cupsd.conf}}
  • [t]est the cups-file[s].conf configuration file for errors:
    cupsd -t -s {{path/to/cups-files.conf}}
  • Display all available options:
    cupsd -h

clamscan

A command-line virus scanner. More information: https://docs.clamav.net/manual/Usage/Scanning.html#clamscan.
  • Scan a file for vulnerabilities:
    clamscan {{path/to/file}}
  • Scan all files recursively in a specific directory:
    clamscan -r {{path/to/directory}}
  • Scan data from stdin:
    {{command}} | clamscan -
  • Specify a virus database file or directory of files:
    clamscan --database {{path/to/database_file_or_directory}}
  • Scan the current directory and output only infected files:
    clamscan --infected
  • Output the scan report to a log file:
    clamscan --log {{path/to/log_file}}
  • Move infected files to a specific directory:
    clamscan --move {{path/to/quarantine_directory}}
  • Remove infected files:
    clamscan --remove yes

slimrb

Convert Slim files to HTML. More information: https://rdoc.info/gems/slim/frames#slim-command-slimrb.
  • Convert a Slim file to HTML:
    slimrb {{input.slim}} {{output.html}}
  • Convert a Slim file and output to prettified HTML:
    slimrb --pretty {{input.slim}} {{output.html}}
  • Convert a Slim file to ERB:
    slimrb --erb {{input.slim}} {{output.erb}}


git merge-into

Merge one branch into another branch. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-merge-into.
  • Merge a source branch into a specific destination branch:
    git merge-into {{source_branch}} {{destination_branch}}
  • Merge current branch into a specific destination branch:
    git merge-into {{destination_branch}}

bgpgrep

Filter and print BGP data within MRT dumps. Can read files compressed with gzip, bzip2 and xz. More information: https://codeberg.org/1414codeforge/ubgpsuite.
  • Output all routes:
    bgpgrep {{master6.mrt}}
  • Output all routes received from a specific peer, determined by the peer's AS number:
    bgpgrep {{master4.mrt}} -peer {{64498}}
  • Output all routes received from a specific peer, determined by the peer's IP address:
    bgpgrep {{master4.mrt.bz2}} -peer {{2001:db8:dead:cafe:acd::19e}}
  • Output all routes which have certain ASNs in their AS path:
    bgpgrep {{master6.mrt.bz2}} -aspath '{{64498 64510}}'
  • Output all routes that lead to a specific address:
    bgpgrep {{master6.mrt.bz2}} -supernet '{{2001:db8:dead:cafe:aef::5}}'
  • Output all routes that have communities from a specific AS:
    bgpgrep {{master4.mrt}} -communities \( '{{64497}}:*' \)

neomutt

NeoMutt command-line email client. More information: https://neomutt.org.
  • Open the specified mailbox:
    neomutt -f {{path/to/mailbox}}
  • Start writing an email and specify a subject and a cc recipient:
    neomutt -s "{{subject}}" -c {{[email protected]}} {{[email protected]}}
  • Send an email with files attached:
    neomutt -a {{path/to/file1 path/to/file2 ...}} -- {{[email protected]}}
  • Specify a file to include as the message body:
    neomutt -i {{path/to/file}} {{[email protected]}}
  • Specify a draft file containing the header and the body of the message, in RFC 5322 format:
    neomutt -H {{path/to/file}} {{[email protected]}}

ls

List directory contents. More information: https://www.gnu.org/software/coreutils/ls.
  • List files one per line:
    ls -1
  • List all files, including hidden files:
    ls -a
  • List all files, with trailing / added to directory names:
    ls -F
  • Long format list (permissions, ownership, size, and modification date) of all files:
    ls -la
  • Long format list with size displayed using human-readable units (KiB, MiB, GiB):
    ls -lh
  • Long format list sorted by size (descending):
    ls -lS
  • Long format list of all files, sorted by modification date (oldest first):
    ls -ltr
  • Only list directories:
    ls -d */

zstdmt

This command is an alias of zstd --threads 0 (which sets the number of working threads to the number of physical CPU cores).
  • View documentation for the original command:
    tldr zstd

tex

Compile a DVI document from TeX source files. More information: https://www.tug.org/begin.html.
  • Compile a DVI document:
    tex {{source.tex}}
  • Compile a DVI document, specifying an output directory:
    tex -output-directory={{path/to/directory}} {{source.tex}}
  • Compile a DVI document, exiting on each error:
    tex -halt-on-error {{source.tex}}

aireplay-ng

Inject packets into a wireless network. Part of aircrack-ng. More information: https://www.aircrack-ng.org/doku.php?id=aireplay-ng.
  • Send a specific number of disassociate packets given an access point's MAC address, a client's MAC address and an interface:
    sudo aireplay-ng --deauth {{count}} --bssid {{ap_mac}} --dmac {{client_mac}} {{interface}}

tlmgr conf

Manage the TeX Live configuration. More information: https://www.tug.org/texlive/tlmgr.html.
  • Show the current TeX Live configuration:
    tlmgr conf
  • Show the current texmf, tlmgr, or updmap configuration:
    tlmgr conf {{texmf|tlmgr|updmap}}
  • Show only a specific configuration option:
    tlmgr conf {{texmf|tlmgr|updmap}} {{configuration_key}}
  • Set a specific configuration option:
    tlmgr conf {{texmf|tlmgr|updmap}} {{configuration_key}} {{value}}
  • Delete a specific configuration option:
    tlmgr conf {{texmf|tlmgr|updmap}} --delete {{configuration_key}}
  • Disable the execution of system calls via \write18:
    tlmgr conf texmf {{shell_escape}} {{0}}
  • Show all additional texmf trees:
    tlmgr conf auxtrees show

dvc checkout

Checkout data files and directories from cache. More information: https://dvc.org/doc/command-reference/checkout.
  • Checkout the latest version of all target files and directories:
    dvc checkout
  • Checkout the latest version of a specified target:
    dvc checkout {{target}}
  • Checkout a specific version of a target from a different Git commit/tag/branch:
    git checkout {{commit_hash|tag|branch}} {{target}} && dvc checkout {{target}}

podman run

Run a command in a new Podman container. More information: https://docs.podman.io/en/latest/markdown/podman-run.1.html.
  • Run command in a new container from a tagged image:
    podman run {{image:tag}} {{command}}
  • Run command in a new container in background and display its ID:
    podman run --detach {{image:tag}} {{command}}
  • Run command in a one-off container in interactive mode and pseudo-TTY:
    podman run --rm --interactive --tty {{image:tag}} {{command}}
  • Run command in a new container with passed environment variables:
    podman run --env '{{variable}}={{value}}' --env {{variable}} {{image:tag}} {{command}}
  • Run command in a new container with bind mounted volumes:
    podman run --volume {{/path/to/host_path}}:{{/path/to/container_path}} {{image:tag}} {{command}}
  • Run command in a new container with published ports:
    podman run --publish {{host_port}}:{{container_port}} {{image:tag}} {{command}}
  • Run command in a new container overwriting the entrypoint of the image:
    podman run --entrypoint {{command}} {{image:tag}}
  • Run command in a new container connecting it to a network:
    podman run --network {{network}} {{image:tag}}

bzfgrep

Find any fixed strings separated by new lines in bzip2 compressed files using fgrep. More information: https://manned.org/bzfgrep.
  • Search for lines matching the list of search strings separated by new lines in a compressed file (case-sensitive):
    bzfgrep "{{search_string}}" {{path/to/file}}
  • Search for lines matching the list of search strings separated by new lines in a compressed file (case-insensitive):
    bzfgrep --ignore-case "{{search_string}}" {{path/to/file}}
  • Search for lines that do not match the list of search strings separated by new lines in a compressed file:
    bzfgrep --invert-match "{{search_string}}" {{path/to/file}}
  • Print file name and line number for each match:
    bzfgrep --with-filename --line-number "{{search_string}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    bzfgrep --only-matching "{{search_string}}" {{path/to/file}}
  • Recursively search files in a bzip2 compressed tar archive for the given list of strings:
    bzfgrep --recursive "{{search_string}}" {{path/to/file}}

recsel

Print records from a recfile: a human-editable, plain text database. More information: https://www.gnu.org/software/recutils/manual/recutils.html.
  • Extract name and version field:
    recsel -p name,version {{data.rec}}
  • Use "~" to match a string with a given regular expression:
    recsel -e "{{field_name}} ~ '{{regular_expression}}' {{data.rec}}"
  • Use a predicate to match a name and a version:
    recsel -e "name ~ '{{regular_expression}}' && version ~ '{{regular_expression}}'" {{data.rec}}

xar

Manage .xar archives. More information: https://manned.org/xar.
  • Create a xar archive of all files in a given directory:
    xar -cf {{archive.xar}} {{path/to/directory}}
  • List the contents of a given xar archive:
    xar -tf {{archive.xar}}
  • Extract the contents of a given xar archive to the current directory:
    xar -xf {{archive.xar}}

rsync

Transfer files either to or from a remote host (but not between two remote hosts), by default using SSH. To specify a remote path, use host:path/to/file_or_directory. More information: https://download.samba.org/pub/rsync/rsync.1.
  • Transfer a file:
    rsync {{path/to/source}} {{path/to/destination}}
  • Use archive mode (recursively copy directories, copy symlinks without resolving and preserve permissions, ownership and modification times):
    rsync --archive {{path/to/source}} {{path/to/destination}}
  • Compress the data as it is sent to the destination, display verbose and human-readable progress, and keep partially transferred files if interrupted:
    rsync --compress --verbose --human-readable --partial --progress {{path/to/source}} {{path/to/destination}}
  • Recursively copy directories:
    rsync --recursive {{path/to/source}} {{path/to/destination}}
  • Transfer directory contents, but not the directory itself:
    rsync --recursive {{path/to/source}}/ {{path/to/destination}}
  • Recursively copy directories, use archive mode, resolve symlinks and skip files that are newer on the destination:
    rsync --recursive --archive --update --copy-links {{path/to/source}} {{path/to/destination}}
  • Transfer a directory to a remote host running rsyncd and delete files on the destination that do not exist on the source:
    rsync --recursive --delete rsync://{{host}}:{{path/to/source}} {{path/to/destination}}
  • Transfer a file over SSH using a different port than the default (22) and show global progress:
    rsync --rsh 'ssh -p {{port}}' --info=progress2 {{host}}:{{path/to/source}} {{path/to/destination}}

racket

Racket language interpreter. More information: https://racket-lang.org.
  • Start a REPL (interactive shell):
    racket
  • Execute a Racket script:
    racket {{path/to/script.rkt}}
  • Execute a Racket expression:
    racket --eval "{{expression}}"
  • Run module as a script (terminates option list):
    racket --lib {{module_name}} --main {{arguments}}
  • Start a REPL (interactive shell) for the typed/racket hashlang:
    racket -I typed/racket

llvm-ar

This command is an alias of ar.
  • View documentation for the original command:
    tldr ar

gh pr merge

Merge GitHub pull requests. More information: https://cli.github.com/manual/gh_pr_merge.
  • Merge the pull request associated with the current branch interactively:
    gh pr merge
  • Merge the specified pull request, interactively:
    gh pr merge {{pr_number}}
  • Merge the pull request, removing the branch on both the local and the remote:
    gh pr merge --delete-branch
  • Merge the current pull request with the specified merge strategy:
    gh pr merge --{{merge|squash|rebase}}
  • Merge the current pull request with the specified merge strategy and commit message:
    gh pr merge --{{merge|squash|rebase}} --subject {{commit_message}}
  • Squash the current pull request into one commit with the message body and merge:
    gh pr merge --squash --body="{{commit_message_body}}"
  • Display help:
    gh pr merge --help

lambo

A super-powered laravel new for Laravel and Valet. See also lambo new for additional command flags. More information: https://github.com/tighten/lambo.
  • Create a new Laravel application:
    lambo new {{app_name}}
  • Open the configuration in your default editor:
    lambo edit-config
  • Open the configuration in a specific editor:
    lambo edit-config --editor="{{path/to/editor}}"
  • Open the configuration file that is run after new applications have been scaffolded:
    lambo edit-after

polybar-msg

Control polybar using inter-process-messaging (IPC). Note: IPC is disabled by default and can be enabled by setting enable-ipc = true in the Polybar config. More information: https://polybar.rtfd.io/en/stable/user/ipc.html.
  • Quit the bar:
    polybar-msg cmd quit
  • Restart the bar in-place:
    polybar-msg cmd restart
  • Hide the bar (does nothing if the bar is already hidden):
    polybar-msg cmd hide
  • Show the bar again (does nothing if the bar is not hidden):
    polybar-msg cmd show
  • Toggle between hidden/visible:
    polybar-msg cmd toggle
  • Execute a module action (the data string is optional):
    polybar-msg action "#{{module_name}}.{{action_name}}.{{data_string}}"
  • Only send messages to a specific Polybar instance (all instances by default):
    polybar-msg -p {{pid}} {{cmd|action}} {{payload}}

rustup man

View the man page for a given command managed by rustup. More information: https://rust-lang.github.io/rustup.
  • View the man page for a given command from the default toolchain:
    rustup man {{command}}
  • View the man page for a given command from the specified toolchain:
    rustup man --toolchain {{command}}

twopi

Render an image of a radial network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    twopi -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    twopi -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    twopi -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | twopi -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    twopi -?

pdfimages

Utility for extracting images from PDFs. More information: https://manned.org/pdfimages.
  • Extract all images from a PDF file and save them as PNGs:
    pdfimages -png {{path/to/file.pdf}} {{filename_prefix}}
  • Extract images from pages 3 to 5:
    pdfimages -f {{3}} -l {{5}} {{path/to/file.pdf}} {{filename_prefix}}
  • Extract images from a PDF file and include the page number in the output filenames:
    pdfimages -p {{path/to/file.pdf}} {{filename_prefix}}
  • List information about all the images in a PDF file:
    pdfimages -list {{path/to/file.pdf}}

docker-machine

Create and manage machines running Docker. More information: https://docs.docker.com/machine/reference/.
  • List currently running docker machines:
    docker-machine ls
  • Create a new docker machine with specific name:
    docker-machine create {{name}}
  • Get the status of a machine:
    docker-machine status {{name}}
  • Start a machine:
    docker-machine start {{name}}
  • Stop a machine:
    docker-machine stop {{name}}
  • Inspect information about a machine:
    docker-machine inspect {{name}}

electrum

Ergonomic Bitcoin wallet and private key management. More information: https://electrum.org.
  • Create a new wallet:
    electrum -w {{new_wallet.dat}} create
  • Restore an existing wallet from seed offline:
    electrum -w {{recovery_wallet.dat}} restore -o
  • Create a signed transaction offline:
    electrum mktx {{recipient}} {{amount}} -f 0.0000001 -F {{from}} -o
  • Display all wallet receiving addresses:
    electrum listaddresses -a
  • Sign a message:
    electrum signmessage {{address}} {{message}}
  • Verify a message:
    electrum verifymessage {{address}} {{signature}} {{message}}
  • Connect only to a specific electrum-server instance:
    electrum -p socks5:{{127.0.0.1}}:9050 -s {{56ckl5obj37gypcu.onion}}:50001:t -1

nbtscan

Scan networks for NetBIOS name information. More information: https://github.com/resurrecting-open-source-projects/nbtscan.
  • Scan a network for NetBIOS names:
    nbtscan {{192.168.0.1/24}}
  • Scan a single IP address:
    nbtscan {{192.168.0.1}}
  • Display verbose output:
    nbtscan -v {{192.168.0.1/24}}
  • Display output in /etc/hosts format:
    nbtscan -e {{192.168.0.1/24}}
  • Read IP addresses/networks to scan from a file:
    nbtscan -f {{path/to/file.txt}}

phpmd

A PHP mess detector that checks for common potential problems. More information: https://github.com/phpmd/phpmd.
  • Display a list of available rulesets and formats:
    phpmd
  • Scan a file or directory for problems using comma-separated rulesets:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}}
  • Specify the minimum priority threshold for rules:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}} --minimumpriority {{priority}}
  • Include only the specified extensions in analysis:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}} --suffixes {{extensions}}
  • Exclude the specified comma-separated directories:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}} --exclude {{directory_patterns}}
  • Output the results to a file instead of stdout:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}} --reportfile {{path/to/report_file}}
  • Ignore the use of warning-suppressive PHPDoc comments:
    phpmd {{path/to/file_or_directory}} {{xml|text|html}} {{rulesets}} --strict

az provider

Manage resource providers. Part of azure-cli. More information: https://docs.microsoft.com/cli/azure/provider.
  • Register a provider:
    az provider register --namespace {{Microsoft.PolicyInsights}}
  • Unregister a provider:
    az provider unregister --namespace {{Microsoft.Automation}}
  • List all providers for a subscription:
    az provider list
  • Show information about a specific provider:
    az provider show --namespace {{Microsoft.Storage}}
  • List all resource types for a specific provider:
    az provider list --query "[?namespace=='{{Microsoft.Network}}'].resourceTypes[].resourceType"

envoy

A PHP-based task manager for Laravel remote servers. More information: https://laravel.com/docs/envoy.
  • Initialize a configuration file:
    envoy init {{host_name}}
  • Run a task:
    envoy run {{task_name}}
  • Run a task from a specific project:
    envoy run --path {{path/to/directory}} {{task_name}}
  • Run a task and continue on failure:
    envoy run --continue {{task_name}}
  • Dump a task as a Bash script for inspection:
    envoy run --pretend {{task_name}}
  • Connect to the specified server via SSH:
    envoy ssh {{server_name}}

aws cloudwatch

Monitor AWS resources to gain system-wide visibility into resource utilization, application performance, and operational health. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/index.html.
  • List dashboards for your account:
    aws cloudwatch list-dashboards
  • Display details for the specified dashboard:
    aws cloudwatch get-dashboard --dashboard-name {{dashboard_name}}
  • List metrics:
    aws cloudwatch list-metrics
  • List alarms:
    aws cloudwatch describe-alarms
  • Create or update an alarm and associate it with a metric:
    aws cloudwatch put-metric-alarm --alarm-name {{alarm_name}} --evaluation-periods {{evaluation_periods}} --comparison-operator {{comparison_operator}}
  • Delete the specified alarms:
    aws cloudwatch delete-alarms --alarm_names {{alarm_names}}
  • Delete the specified dashboards:
    aws cloudwatch delete-dashboards --dashboard-names {{dashboard_names}}

zsteg

Steganography detection tool for PNG and BMP file formats. It detects LSB steganography, ZLIB-compressed data, OpenStego, Camouflage and LSB with the Eratosthenes set. More information: https://github.com/zed-0xff/zsteg.
  • Detect embedded data in a PNG:
    zsteg {{path/to/image.png}}
  • Detect embedded data in a BMP image, using all known methods:
    zsteg --all {{path/to/image.bmp}}
  • Detect embedded data in a PNG, iterating pixels vertically and using MSB first:
    zsteg --msb --order yx {{path/to/image.png}}
  • Detect embedded data in a BMP image, specifying the bits to consider:
    zsteg --bits {{1,2,3|1-3}} {{path/to/image.bmp}}
  • Detect embedded data in a PNG, extracting only prime pixels and inverting bits:
    zsteg --prime --invert {{path/to/image.png}}
  • Detect embedded data in a BMP image, specifying the minimum length of the strings to be found and the find mode:
    zsteg --min-str-len {{10}} --strings {{first|all|longest|none}} {{path/to/image.bmp}}

podman build

Daemonless tool for building container images. Podman provides a Docker-CLI comparable command-line. Simply put: alias docker=podman. More information: https://docs.podman.io/en/latest/markdown/podman-build.1.html.
  • Create an image using a Dockerfile or Containerfile in the specified directory:
    podman build {{path/to/directory}}
  • Create an image with a specified tag:
    podman build --tag {{image_name:version}} {{path/to/directory}}
  • Create an image from a non-standard file:
    podman build --file {{Containerfile.different}} .
  • Create an image without using any previously cached images:
    podman build --no-cache {{path/to/directory}}
  • Create an image suppressing all output:
    podman build --quiet {{path/to/directory}}

whisper

Convert audio files to txt, vtt, srt, tsv and json. More information: https://github.com/openai/whisper.
  • Convert a specific audio file to all of the given file formats:
    whisper {{path/to/audio.mp3}}
  • Convert an audio file specifying the output format of the converted file:
    whisper {{path/to/audio.mp3}} --output_format {{txt}}
  • Convert an audio file using a specific model for conversion:
    whisper {{path/to/audio.mp3}} --model {{tiny.en,tiny,base.en,base,small.en,small,medium.en,medium,large-v1,large-v2,large}}
  • Convert an audio file specifying which language the audio file is in to reduce conversion time:
    whisper {{path/to/audio.mp3}} --language {{english}}
  • Convert an audio file and save it to a specific location:
    whisper {{path/to/audio.mp3}} --output_dir "{{path/to/output}}"
  • Convert an audio file in quiet mode:
    whisper {{path/to/audio.mp3}} --verbose {{False}}

git credential-store

git helper to store passwords on disk. More information: https://git-scm.com/docs/git-credential-store.
  • Store Git credentials in a specific file:
    git config credential.helper 'store --file={{path/to/file}}'

sdkmanager

Tool to install packages for the Android SDK. More information: https://developer.android.com/studio/command-line/sdkmanager.
  • List available packages:
    sdkmanager --list
  • Install a package:
    sdkmanager {{package}}
  • Update every installed package:
    sdkmanager --update
  • Uninstall a package:
    sdkmanager --uninstall {{package}}

doctl compute droplet

List, create, and delete virtual machines which are called droplets. More information: https://docs.digitalocean.com/reference/doctl/reference/compute/droplet/.
  • Create a droplet:
    doctl compute droplet create --region {{region}} --image {{os_image}} --size {{vps_type}} {{droplet_name}}
  • Delete a droplet:
    doctl compute droplet delete {{droplet_id|droplet_name}}
  • List droplets:
    doctl compute droplet list

conan

The open source, decentralized and cross-platform package manager to create and share all your native binaries. Some subcommands such as conan frogarian have their own usage documentation. More information: https://conan.io/.
  • Install packages based on conanfile.txt:
    conan install {{.}}
  • Install packages and create configuration files for a specific generator:
    conan install -g {{generator}}
  • Install packages, building from source:
    conan install {{.}} --build
  • Search for locally installed packages:
    conan search {{package}}
  • Search for remote packages:
    conan search {{package}} -r {{remote}}
  • List remotes:
    conan remote list

macchina

Display information about your computer. More information: https://github.com/Macchina-CLI/macchina.
  • List out system information, with either default settings or those specified in your configuration file:
    macchina
  • Specify a custom configuration file path:
    macchina --config {{path/to/configuration_file}}
  • List system information, but lengthen uptime, shell and kernel output:
    macchina --long-uptime --long-shell --long-kernel
  • Check for any errors/system failures encountered when trying to fetch system information:
    macchina --doctor
  • List original artists of all the ASCII art:
    macchina --ascii-artists

terraform

Create and deploy infrastructure as code to cloud providers. More information: https://www.terraform.io/.
  • Initialize a new or existing Terraform configuration:
    terraform init
  • Verify that the configuration files are syntactically valid:
    terraform validate
  • Format configuration according to Terraform language style conventions:
    terraform fmt
  • Generate and show an execution plan:
    terraform plan
  • Build or change infrastructure:
    terraform apply
  • Destroy Terraform-managed infrastructure:
    terraform destroy

pdfunite

PDF merging utility. More information: https://github.com/mtgrosser/pdfunite.
  • Merge 2 PDFs into a single PDF:
    pdfunite {{path/to/fileA.pdf}} {{path/to/fileB.pdf}} {{path/to/merged_output.pdf}}
  • Merge a directory of PDFs into a single PDF:
    pdfunite {{path/to/directory/*.pdf}} {{path/to/merged_output.pdf}}


peludna-prognoza

Fetch pollen measurement data for Croatian cities from your terminal using Pliva's allergies data API. More information: https://github.com/vladimyr/peludna-prognoza.
  • Start an interactive search for a city and fetch data for it:
    peludna-prognoza
  • Fetch data for a city:
    peludna-prognoza "{{city}}"
  • Display data in a machine-readable format:
    peludna-prognoza "{{city}}" --{{json|xml}}
  • Display the pollen measurement page for a city at https://plivazdravlje.hr in the default web browser:
    peludna-prognoza "{{city}}" --web

git worktree

Manage multiple working trees attached to the same repository. More information: https://git-scm.com/docs/git-worktree.
  • Create a new directory with the specified branch checked out into it:
    git worktree add {{path/to/directory}} {{branch}}
  • Create a new directory with a new branch checked out into it:
    git worktree add {{path/to/directory}} -b {{new_branch}}
  • List all the working directories attached to this repository:
    git worktree list
  • Remove a worktree (after deleting worktree directory):
    git worktree prune

waifu2x-ncnn-vulkan

Image upscaler for manga/anime-style images using NCNN neural network framework. More information: https://github.com/nihui/waifu2x-ncnn-vulkan.
  • Upscale an image:
    waifu2x-ncnn-vulkan -i {{path/to/input_file}} -o {{path/to/output_file}}
  • Upscale an image by a custom scale factor and denoise it:
    waifu2x-ncnn-vulkan -i {{path/to/input_file}} -o {{path/to/output_file}} -s {{1|2|4|8|16|32}} -n {{-1|0|1|2|3}}
  • Save the upscaled image in a specific format:
    waifu2x-ncnn-vulkan -i {{path/to/input_file}} -o {{path/to/output_file}} -f {{jpg|png|webp}}

now

Cloud platform for serverless deployment. This command is deprecated. See vercel, the updated version of this tool. More information: https://zeit.co/now.
  • Deploy the current directory:
    now
  • Display a list of deployments:
    now list
  • Display information related to a deployment:
    now inspect {{deployment_url}}
  • Remove a deployment:
    now remove {{deployment_id}}
  • Log in into an account or create a new one:
    now login
  • Initialize an example project (a new directory will be created):
    now init

alex

A tool that catches insensitive, inconsiderate writing. It helps you find gender favouring, polarising, race related, religion inconsiderate, or other unequal phrasing in text. More information: https://github.com/get-alex/alex.
  • Analyze text from stdin:
    echo {{His network looks good}} | alex --stdin
  • Analyze all files in the current directory:
    alex
  • Analyze a specific file:
    alex {{textfile.md}}
  • Analyze all Markdown files except example.md:
    alex *.md !{{example.md}}

az repos

Manage Azure DevOps repos. Part of azure-cli. More information: https://learn.microsoft.com/en-us/cli/azure/repos?view=azure-cli-latest.
  • List all repos in a specific project:
    az repos list --project {{project_name}}
  • Add policy on a specific branch of a specific repository to restrict basic merge:
    az repos policy merge-strategy create --repository-id {{repository_id_in_repos_list}} --branch {{branch_name}} --blocking --enabled --allow-no-fast-forward false --allow-rebase true --allow-rebase-merge true --allow-squash true
  • Add build validation on a specific repository, using an existing build pipeline, to be triggered automatically on source update:
    az repos policy build create --repository-id {{repository_id}} --build-definition-id {{build_pipeline_id}} --branch main --blocking --enabled --queue-on-source-update-only true --display-name {{name}} --valid-duration {{minutes}}
  • List all active Pull Requests on a specific repository within a specific project:
    az repos pr list --project {{project_name}} --repository {{repository_name}} --status active

osage

Render an image of a clustered network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    osage -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    osage -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    osage -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | osage -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    osage -?

virt-install

Create virtual machines with libvirt and begin OS installation. More information: https://virt-manager.org/.
  • Create a virtual machine with 1 GB RAM and 12 GB storage and start a Debian installation:
    virt-install --name {{vm_name}} --memory {{1024}} --disk path={{path/to/image.qcow2}},size={{12}} --cdrom {{path/to/debian.iso}}
  • Create a x86-64, KVM-accelerated, UEFI-based virtual machine with the Q35 chipset, 4 GiB RAM, 16 GiB RAW storage, and start a Fedora installation:
    virt-install --name {{vm_name}} --arch {{x86_64}} --virt-type {{kvm}} --machine {{q35}} --boot {{uefi}} --memory {{4096}} --disk path={{path/to/image.raw}},size={{16}} --cdrom {{path/to/fedora.iso}}
  • Create a diskless live virtual machine without an emulated sound device or a USB controller. Don't start an installation and don't autoconnect to console but attach a cdrom to it (might be useful for when using a live CD like tails):
    virt-install --name {{vm_name}} --memory {{512}} --disk {{none}} --controller {{type=usb,model=none}} --sound {{none}} --autoconsole {{none}} --install {{no_install=yes}} --cdrom {{path/to/tails.iso}}
  • Create a virtual machine with 16 GiB RAM, 250 GiB storage, 8 cores with hyperthreading, a specific CPU topology, and a CPU model that shares most features with the host CPU:
    virt-install --name {{vm_name}} --cpu {{host-model}},topology.sockets={{1}},topology.cores={{4}},topology.threads={{2}} --memory {{16384}} --disk path={{path/to/image.qcow2}},size={{250}} --cdrom {{path/to/debian.iso}}
  • Create a virtual machine and kickstart an automated deployment based on Fedora 35 using only remote resources (no ISO required):
    virt-install --name {{vm_name}} --memory {{2048}} --disk path={{path/to/image.qcow2}},size={{20}} --location={{https://download.fedoraproject.org/pub/fedora/linux/releases/35/Everything/x86_64/os/}} --extra-args={{"inst.ks=https://path/to/valid/kickstart.org"}}

pass

Tool for storing and reading passwords or other sensitive data. All data is GPG-encrypted, and managed with a Git repository. More information: https://www.passwordstore.org.
  • Initialize (or re-encrypt) the storage using one or more GPG IDs:
    pass init {{gpg_id_1}} {{gpg_id_2}}
  • Save a new password and additional information (press Ctrl + D on a new line to complete):
    pass insert --multiline {{path/to/data}}
  • Edit an entry:
    pass edit {{path/to/data}}
  • Copy a password (first line of the data file) to the clipboard:
    pass -c {{path/to/data}}
  • List the whole store tree:
    pass
  • Generate a new random password with a given length, and copy it to the clipboard:
    pass generate -c {{path/to/data}} {{num}}
  • Initialize a new Git repository (any changes done by pass will be committed automatically):
    pass git init
  • Run a Git command on behalf of the password storage:
    pass git {{command}}

cs fetch

Fetch fetches the JARs of one or more dependencies. More information: https://get-coursier.io/docs/cli-fetch.
  • Fetch a specific version of a jar:
    cs fetch {{group_id}}:{{artifact_id}}:{{artifact_version}}
  • Fetch a package and evaluate the classpath corresponding to the selected package in an env var:
    CP="$(cs fetch --classpath org.scalameta::scalafmt-cli:latest.release)"
  • Fetch a source of a specific jar:
    cs fetch --sources {{group_id}}:{{artifact_id}}:{{artifact_version}}
  • Fetch the javadoc jars:
    cs fetch --javadoc {{group_id}}:{{artifact_id}}:{{artifact_version}}
  • Fetch dependency with javadoc jars and source jars:
    cs fetch --default={{true}} --sources --javadoc {{group_id}}:{{artifact_id}}:{{artifact_version}}
  • Fetch jars coming from dependency files:
    cs fetch {{--dependency-file path/to/file1 --dependency-file path/to/file2 ...}}

dvc init

Initialize a new local DVC repository. More information: https://dvc.org/doc/command-reference/init.
  • Initialize a new local repository:
    dvc init
  • Initialize DVC without Git:
    dvc init --no-scm
  • Initialize DVC in a subdirectory:
    cd {{path/to/subdir}} && dvc init --sudir

pyats shell

Start a pre-loaded pyATS interactive Python Shell to save time in prototyping. More information: https://pubhub.devnetcloud.com/media/genie-docs/docs/cli/genie_shell.html.
  • Open pyATS shell with a defined Testbed file:
    pyats shell --testbed-file {{path/to/testbed.yaml}}
  • Open pyATS shell with a defined Pickle file:
    pyats shell --pickle-file {{path/to/pickle.file}}
  • Open pyATS with IPython disabled:
    pyats shell --no-ipython

xmlstarlet

A command-line XML/XSLT toolkit. Note: You will likely need to know XPath: https://developer.mozilla.org/en-US/docs/Web/XPath. More information: https://xmlstar.sourceforge.net/docs.php.
  • Format an XML document and print to stdout:
    xmlstarlet format {{path/to/file.xml}}
  • XML document can also be piped from stdin:
    {{cat path/to/file.xml}} | xmlstarlet format
  • Print all nodes that match a given XPath:
    xmlstarlet select --template --copy-of {{xpath}} {{path/to/file.xml}}
  • Insert an attribute to all matching nodes, and print to stdout (source file is unchanged):
    xmlstarlet edit --insert {{xpath}} --type attr --name {{attribute_name}} --value {{attribute_value}} {{path/to/file.xml}}
  • Update the value of all matching nodes in place (source file is changed):
    xmlstarlet edit --inplace --update {{xpath}} --value {{new_value}} {{file.xml}}
  • Delete all matching nodes in place (source file is changed):
    xmlstarlet edit --inplace --delete {{xpath}} {{file.xml}}
  • Escape or unescape special XML characters in a given string:
    xmlstarlet [un]escape {{string}}
  • List a given directory as XML (omit argument to list current directory):
    xmlstarlet ls {{path/to/directory}}

ionic

A framework to build hybrid mobile apps. More information: https://ionicframework.com/docs/cli.
  • Create a new project:
    ionic start
  • Start a local dev server for app dev/testing:
    ionic serve
  • Generate new app component, directive, page, pipe, provider or tabs:
    ionic g {{page}}
  • Show versions of Ionic, Cordova, environment, etc.:
    ionic info
  • Run app on an Android/iOS device:
    ionic cordova run {{android|ios}} --device
  • Check the health of an Ionic app:
    ionic doctor {{check}}

sox

Sound eXchange: play, record and convert audio files. Audio formats are identified by the extension. More information: http://sox.sourceforge.net.
  • Merge two audio files into one:
    sox -m {{input_audiofile1}} {{input_audiofile2}} {{output_audiofile}}
  • Trim an audio file to the specified times:
    sox {{input_audiofile}} {{output_audiofile}} trim {{start}} {{end}}
  • Normalize an audio file (adjust volume to the maximum peak level, without clipping):
    sox --norm {{input_audiofile}} {{output_audiofile}}
  • Reverse and save an audio file:
    sox {{input_audiofile}} {{output_audiofile}} reverse
  • Print statistical data of an audio file:
    sox {{input_audiofile}} -n stat
  • Increase the volume of an audio file by 2x:
    sox -v 2.0 {{input_audiofile}} {{output_audiofile}}

bq

The bq command-line tool is a Python-based command-line tool for BigQuery. More information: https://cloud.google.com/bigquery/docs/reference/bq-cli-reference.
  • Run query against a BigQuery table using standard SQL, add --dry_run flag to estimate the number of bytes read by the query:
    bq query --nouse_legacy_sql 'SELECT COUNT(*) FROM {{DATASET_NAME}}.{{TABLE_NAME}}'
  • Run a parameterized query:
    bq query --use_legacy_sql=false --parameter='ts_value:TIMESTAMP:2016-12-07 08:00:00' 'SELECT TIMESTAMP_ADD(@ts_value, INTERVAL 1 HOUR)'
  • Create a new dataset or table in the US location:
    bq mk --location=US {{dataset_name}}.{{table_name}}
  • List all datasets in a project:
    bq ls --filter labels.{{key}}:{{value}} --max_results {{integer}} --format=prettyjson --project_id {{project_id}}
  • Batch load data from a specific file in formats such as CSV, JSON, Parquet, and Avro to a table:
    bq load --location={{location}} --source_format={{CSV|JSON|PARQUET|AVRO}} {{dataset}}.{{table}} {{path_to_source}}
  • Copy one table to another:
    bq cp {{dataset}}.{{OLD_TABLE}} {{dataset}}.{{new_table}}
  • Print help:
    bq help

screenfetch

Display system information. More information: https://github.com/KittyKatt/screenFetch.
  • Start screenfetch:
    screenfetch
  • Take a screenshot (requires 'scrot'):
    screenfetch -s
  • Specify distribution logo:
    screenfetch -A '{{distribution_name}}'
  • Specify distribution logo and text:
    screenfetch -D '{{distribution_name}}'
  • Strip all color:
    screenfetch -N

npm

JavaScript and Node.js package manager. Manage Node.js projects and their module dependencies. More information: https://www.npmjs.com.
  • Interactively create a package.json file:
    npm init
  • Download all the packages listed as dependencies in package.json:
    npm install
  • Download a specific version of a package and add it to the list of dependencies in package.json:
    npm install {{module_name}}@{{version}}
  • Download a package and add it to the list of dev dependencies in package.json:
    npm install {{module_name}} --save-dev
  • Download a package and install it globally:
    npm install --global {{module_name}}
  • Uninstall a package and remove it from the list of dependencies in package.json:
    npm uninstall {{module_name}}
  • Print a tree of locally installed dependencies:
    npm list
  • List top-level globally installed modules:
    npm list --global --depth={{0}}

ss-local

Run a Shadowsocks client as a SOCKS5 proxy. More information: https://github.com/shadowsocks/shadowsocks-libev/blob/master/doc/ss-local.asciidoc.
  • Run a Shadowsocks proxy by specifying the host, server port, local port, password, and encryption method:
    ss-local -s {{host}} -p {{server_port}} -l {{local port}} -k {{password}} -m {{encrypt_method}}
  • Run a Shadowsocks proxy by specifying the config file:
    ss-local -c {{path/to/config/file.json}}
  • Use a plugin to run the proxy client:
    ss-local --plugin {{plugin_name}} --plugin-opts {{plugin_options}}
  • Enable TCP fast open:
    ss-local --fast-open

ts-node

Run TypeScript code directly, without any compiling. More information: https://typestrong.org/ts-node.
  • Execute a TypeScript file without compiling (node + tsc):
    ts-node {{path/to/file.ts}}
  • Execute a TypeScript file without loading tsconfig.json:
    ts-node --skip-project {{path/to/file.ts}}
  • Evaluate TypeScript code passed as a literal:
    ts-node --eval '{{console.log("Hello World")}}'
  • Execute a TypeScript file in script mode:
    ts-node --script-mode {{path/to/file.ts}}
  • Transpile a TypeScript file to JavaScript without executing it:
    ts-node --transpile-only {{path/to/file.ts}}
  • Display TS-Node help:
    ts-node --help

nice

Execute a program with a custom scheduling priority (niceness). Niceness values range from -20 (the highest priority) to 19 (the lowest). More information: https://www.gnu.org/software/coreutils/nice.
  • Launch a program with altered priority:
    nice -n {{niceness_value}} {{command}}

cmark

Converts CommonMark Markdown formatted text to other formats. More information: https://github.com/commonmark/cmark.
  • Render a CommonMark Markdown file to HTML:
    cmark --to html {{filename.md}}
  • Convert data from stdin to LaTeX:
    cmark --to latex
  • Convert straight quotes to smart quotes:
    cmark --smart --to html {{filename.md}}
  • Validate UTF-8 characters:
    cmark --validate-utf8 {{filename.md}}

husky

Native Git hooks made easy. More information: https://typicode.github.io/husky.
  • Install Husky in the current directory:
    husky install
  • Install Husky into a specific directory:
    husky install {{path/to/directory}}
  • Set a specific command as a pre-push hook for Git:
    husky set {{.husky/pre-push}} "{{command}} {{command_arguments}}"
  • Add a specific command to the current pre-commit hook:
    husky add {{.husky/pre-commit}} "{{command}} {{command_arguments}}"
  • Uninstall Husky hooks from the current directory:
    husky uninstall
  • Display help:
    husky

npm fund

Retrieve funding information from packages. More information: https://docs.npmjs.com/cli/v8/commands/npm-fund.
  • List dependencies with funding URL for the project in the current directory:
    npm fund
  • Open the funding URL for a specific package in the default web browser:
    npm fund {{package}}
  • List dependencies with a funding URL for a specific [w]orkspace for the project in the current directory:
    npm fund -w {{workspace}}

kubectl run

Run pods in Kubernetes. Specifies pod generator to avoid deprecation error in some K8S versions. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#run.
  • Run an nginx pod and expose port 80:
    kubectl run {{nginx-dev}} --image=nginx --port 80
  • Run an nginx pod, setting the TEST_VAR environment variable:
    kubectl run {{nginx-dev}} --image=nginx --env="{{TEST_VAR}}={{testing}}"
  • Show API calls that would be made to create an nginx container:
    kubectl run {{nginx-dev}} --image=nginx --dry-run={{none|server|client}}
  • Run an Ubuntu pod interactively, never restart it, and remove it when it exits:
    kubectl run {{temp-ubuntu}} --image=ubuntu:22.04 --restart=Never --rm -- /bin/bash
  • Run an Ubuntu pod, overriding the default command with echo, and specifying custom arguments:
    kubectl run {{temp-ubuntu}} --image=ubuntu:22.04 --command -- echo {{argument1 argument2 ...}}

git check-attr

For every pathname, list if each attribute is unspecified, set, or unset as a gitattribute on that pathname. More information: https://git-scm.com/docs/git-check-attr.
  • Check the values of all attributes on a file:
    git check-attr --all {{path/to/file}}
  • Check the value of a specific attribute on a file:
    git check-attr {{attribute}} {{path/to/file}}
  • Check the value of a specific attribute on files:
    git check-attr --all {{path/to/file1}} {{path/to/file2}}
  • Check the value of a specific attribute on one or more files:
    git check-attr {{attribute}} {{path/to/file1}} {{path/to/file2}}

dc

An arbitrary precision calculator. Uses reverse polish notation (RPN). See also: bc. More information: https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html.
  • Start an interactive session:
    dc
  • Execute a script:
    dc {{path/to/script.dc}}
  • Calculate an expression with the specified scale:
    dc --expression='{{10}} k {{5 3 /}} p'
  • Calculate 4 times 5 (4 5 *), subtract 17 (17 -), and [p]rint the output:
    dc --expression='4 5 * 17 - p'
  • Set number of decimal places to 7 (7 k), calculate 5 divided by -3 (5 _3 /) and [p]rint:
    dc --expression='7 k 5 _3 / p'
  • Calculate the golden ratio, phi: set number of decimal places to 100 (100 k), square root of 5 (5 v) plus 1 (1 +), divided by 2 (2 /), and [p]rint result:
    dc --expression='100 k 5 v 1 + 2 / p'

knife

Interact with a Chef server from a local Chef repo. More information: https://docs.chef.io/knife.html.
  • Bootstrap a new node:
    knife bootstrap {{fqdn_or_ip}}
  • List all registered nodes:
    knife node list
  • Show a node:
    knife node show {{node_name}}
  • Edit a node:
    knife node edit {{node_name}}
  • Edit a role:
    knife role edit {{role_name}}
  • View a data bag:
    knife data bag show {{data_bag_name}} {{data_bag_item}}
  • Upload a local cookbook to the Chef server:
    knife cookbook upload {{cookbook_name}}

llc

Compiles LLVM Intermediate Representation or bitcode to target-specific assembly language. More information: https://www.llvm.org/docs/CommandGuide/llc.html.
  • Compile a bitcode or IR file to an assembly file with the same base name:
    llc {{path/to/file.ll}}
  • Enable all optimizations:
    llc -O3 {{path/to/input.ll}}
  • Output assembly to a specific file:
    llc --output {{path/to/output.s}}
  • Emit fully relocatable, position independent code:
    llc -relocation-model=pic {{path/to/input.ll}}

nextclade

Bioinformatics tool for virus genome alignment, clade assignment and qc checks. More information: https://docs.nextstrain.org/projects/nextclade/en/stable/user/nextclade-cli.html.
  • Create a TSV report, auto-downloading the latest [d]ataset:
    nextclade run -d {{dataset_name}} {{path/to/fasta}} -t {{path/to/output_tsv}}
  • List all available datasets:
    nextclade dataset list
  • Download the latest SARS-CoV-2 dataset:
    nextclade dataset get --name sars-cov-2 --output-dir {{path/to/directory}}
  • Use a downloaded [D]ataset, producing all [O]utputs:
    nextclade run -D {{path/to/dataset_dir}} -O {{path/to/output_dir}} {{path/to/dataset_dir/sequences.fasta}}
  • Run on multiple files:
    nextclade run -d {{dataset_name}} -t {{path/to/output_tsv}} -- {{path/to/input_fasta_1 path/to/input_fasta_2 ...}}
  • Try reverse complement if sequence does not align:
    nextclade run --retry-reverse-complement -d {{dataset_name}} -t {{path/to/output_tsv}} {{path/to/input_fasta}}


llvm-objdump

This command is an alias of objdump.
  • View documentation for the original command:
    tldr objdump

pgbench

Run a benchmark test on PostgreSQL. More information: https://www.postgresql.org/docs/10/pgbench.html.
  • Initialize a database with a scale factor of 50 times the default size:
    pgbench --initialize --scale={{50}} {{database_name}}
  • Benchmark a database with 10 clients, 2 worker threads, and 10,000 transactions per client:
    pgbench --client={{10}} --jobs={{2}} --transactions={{10000}} {{database_name}}


aws history

Print the command-line history for AWS CLI commands (the record of history of AWS CLI commands must be enabled). More information: https://docs.aws.amazon.com/cli/latest/reference/history/.
  • List commands history with command IDs:
    aws history list
  • Display events related to a specific command given a command ID:
    aws history show {{command_id}}

git checkout

Checkout a branch or paths to the working tree. More information: https://git-scm.com/docs/git-checkout.
  • Create and switch to a new branch:
    git checkout -b {{branch_name}}
  • Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references):
    git checkout -b {{branch_name}} {{reference}}
  • Switch to an existing local branch:
    git checkout {{branch_name}}
  • Switch to the previously checked out branch:
    git checkout -
  • Switch to an existing remote branch:
    git checkout --track {{remote_name}}/{{branch_name}}
  • Discard all unstaged changes in the current directory (see git reset for more undo-like commands):
    git checkout .
  • Discard unstaged changes to a given file:
    git checkout {{path/to/file}}
  • Replace a file in the current directory with the version of it committed in a given branch:
    git checkout {{branch_name}} -- {{path/to/file}}

rcat

This command is an alias of rc.
  • View documentation for the original command:
    tldr rc

gh help

Display help about the GitHub CLI command. More information: https://cli.github.com/manual/gh_help.
  • Display general help:
    gh help
  • Display help for the gh help subcommand:
    gh help --help
  • Display help about environment variables that can be used with gh:
    gh help environment
  • Display a markdown reference of all gh commands:
    gh help reference
  • Display help about formatting JSON output from gh using jq:
    gh help formatting
  • Display help about using gh with MinTTY:
    gh help mintty
  • Display help for a subcommand:
    gh help {{subcommand}}
  • Display help for a subcommand action:
    gh help {{pr}} {{create}}

valgrind

Wrapper for a set of expert tools for profiling, optimizing and debugging programs. Commonly used tools include memcheck, cachegrind, callgrind, massif, helgrind, and drd. More information: http://www.valgrind.org.
  • Use the (default) Memcheck tool to show a diagnostic of memory usage by program:
    valgrind {{program}}
  • Use Memcheck to report all possible memory leaks of program in full detail:
    valgrind --leak-check=full --show-leak-kinds=all {{program}}
  • Use the Cachegrind tool to profile and log CPU cache operations of program:
    valgrind --tool=cachegrind {{program}}
  • Use the Massif tool to profile and log heap memory and stack usage of program:
    valgrind --tool=massif --stacks=yes {{program}}

docker pull

Download Docker images from a registry. More information: https://docs.docker.com/engine/reference/commandline/pull/.
  • Download a specific Docker image:
    docker pull {{image}}:{{tag}}
  • Download a specific Docker image in quiet mode:
    docker pull --quiet {{image}}:{{tag}}
  • Download all tags of a specific Docker image:
    docker pull --all-tags {{image}}
  • Download a Docker images for a specific platform, e.g. linux/amd64:
    docker pull --platform {{linux/amd64}} {{image}}:{{tag}}
  • Display help:
    docker pull --help

pup

Command-line HTML parsing tool. More information: https://github.com/ericchiang/pup.
  • Transform a raw HTML file into a cleaned, indented, and colored format:
    cat {{index.html}} | pup --color
  • Filter HTML by element tag name:
    cat {{index.html}} | pup '{{tag}}'
  • Filter HTML by id:
    cat {{index.html}} | pup '{{div#id}}'
  • Filter HTML by attribute value:
    cat {{index.html}} | pup '{{input[type="text"]}}'
  • Print all text from the filtered HTML elements and their children:
    cat {{index.html}} | pup '{{div}} text{}'
  • Print HTML as JSON:
    cat {{index.html}} | pup '{{div}} json{}'

tabula

Extract tables from PDF files. More information: https://tabula.technology.
  • Extract all tables from a PDF to a CSV file:
    tabula -o {{file.csv}} {{file.pdf}}
  • Extract all tables from a PDF to a JSON file:
    tabula --format JSON -o {{file.json}} {{file.pdf}}
  • Extract tables from pages 1, 2, 3, and 6 of a PDF:
    tabula --pages {{1-3,6}} {{file.pdf}}
  • Extract tables from page 1 of a PDF, guessing which portion of the page to examine:
    tabula --guess --pages {{1}} {{file.pdf}}
  • Extract all tables from a PDF, using ruling lines to determine cell boundaries:
    tabula --spreadsheet {{file.pdf}}
  • Extract all tables from a PDF, using blank space to determine cell boundaries:
    tabula --no-spreadsheet {{file.pdf}}

jrnl

A simple journal application for your command-line. More information: http://jrnl.sh.
  • Insert a new entry with your editor:
    jrnl
  • Quickly insert a new entry:
    jrnl {{today at 3am}}: {{title}}. {{content}}
  • View the last ten entries:
    jrnl -n {{10}}
  • View everything that happened from the start of last year to the start of last march:
    jrnl -from "{{last year}}" -until {{march}}
  • Edit all entries tagged with "texas" and "history":
    jrnl {{@texas}} -and {{@history}} --edit

screen

Hold a session open on a remote server. Manage multiple windows with a single SSH connection. See also tmux and zellij. More information: https://manned.org/screen.
  • Start a new screen session:
    screen
  • Start a new named screen session:
    screen -S {{session_name}}
  • Start a new daemon and log the output to screenlog.x:
    screen -dmLS {{session_name}} {{command}}
  • Show open screen sessions:
    screen -ls
  • Reattach to an open screen:
    screen -r {{session_name}}
  • Detach from inside a screen:
    Ctrl + A, D
  • Kill the current screen session:
    Ctrl + A, K
  • Kill a detached screen:
    screen -X -S {{session_name}} quit

cvs

Concurrent Versions System, a revision control system. More information: https://cvs.nongnu.org.
  • Create a new repository (requires the CVSROOT environment variable to be set externally):
    cvs -d {{path/to/repository}} init
  • Add a project to the repository:
    cvs import -m "{{message}}" {{project_name}} {{version}} {{vendor}}
  • Checkout a project:
    cvs checkout {{project_name}}
  • Show changes made to files:
    cvs diff {{path/to/file}}
  • Add a file:
    cvs add {{path/to/file}}
  • Commit a file:
    cvs commit -m "{{message}}" {{path/to/file}}
  • Update the working directory from the remote repository:
    cvs update

solcjs

A set of JavaScript bindings for the Solidity compiler. More information: https://github.com/ethereum/solc-js.
  • Compile a specific contract to hex:
    solcjs --bin {{path/to/file.sol}}
  • Compile the ABI of a specific contract:
    solcjs --abi {{path/to/file.sol}}
  • Specify a base path to resolve imports from:
    solcjs --bin --base-path {{path/to/directory}} {{path/to/file.sol}}
  • Specify one or more paths to include containing external code:
    solcjs --bin --include-path {{path/to/directory}} {{path/to/file.sol}}
  • Optimise the generated bytecode:
    solcjs --bin --optimize {{path/to/file.sol}}

gdalbuildvrt

Build Virtual Datasets from a list of existing datasets. More information: https://gdal.org/programs/gdalbuildvrt.html.
  • Make a virtual mosaic from all TIFF files contained in a directory:
    gdalbuildvrt {{path/to/output.vrt}} {{path/to/input_directory/*.tif}}
  • Make a virtual mosaic from files whose name is specified in a text file:
    gdalbuildvrt -input_file_list {{path/to/list.txt}} {{path/to/output.vrt}}
  • Make an RGB virtual mosaic from 3 single-band input files:
    gdalbuildvrt -separate {{path/to/rgb.vrt}} {{path/to/red.tif}} {{path/to/green.tif}} {{path/to/blue.tif}}
  • Make a virtual mosaic with blue background color (RGB: 0 0 255):
    gdalbuildvrt -hidenodata -vrtnodata "{{0 0 255}}" {{path/to/output.vrt}} {{path/to/input_directory/*.tif}}

bup

Backup system based on the Git packfile format, providing incremental saves and global deduplication. More information: https://github.com/bup/bup.
  • Initialize a backup repository in the specified local directory:
    bup -d {{path/to/repository}} init
  • Prepare a given directory before taking a backup:
    bup -d {{path/to/repository}} index {{path/to/directory}}
  • Backup a directory to the repository:
    bup -d {{path/to/repository}} save -n {{backup_name}} {{path/to/directory}}
  • Show the backup snapshots currently stored in the repository:
    bup -d {{path/to/repository}} ls
  • Restore a specific backup snapshot to a target directory:
    bup -d {{path/to/repository}} restore -C {{path/to/target_directory}} {{backup_name}}

cmctl

Manage cert-manager resources inside your cluster. Check cert signing status, approve/deny requests, and issue new certificate requests. More information: https://cert-manager.io/docs/usage/cmctl/.
  • Check if the cert-manager API is ready:
    cmctl check api
  • Check the status of a certificate:
    cmctl status certificate {{cert_name}}
  • Create a new certificate request based on an existing certificate:
    cmctl create certificaterequest my-cr --from-certificate-file {{cert.yaml}}
  • Create a new certificate request, fetch the signed certificate, and set a maximum wait time:
    cmctl create certificaterequest my-cr --from-certificate-file {{cert.yaml}} --fetch-certificate --timeout {{20m}}

pueue group

Display, add or remove groups. More information: https://github.com/Nukesor/pueue.
  • Show all groups with their statuses and number of parallel jobs:
    pueue group
  • Add a custom group:
    pueue group --add "{{group_name}}"
  • Remove a group and move its tasks to the default group:
    pueue group --remove "{{group_name}}"

cowsay

Print ASCII art (by default a cow) saying or thinking something. More information: https://github.com/tnalpgge/rank-amateur-cowsay.
  • Print an ASCII cow saying "hello, world":
    cowsay "{{hello, world}}"
  • Print an ASCII cow saying text from stdin:
    echo "{{hello, world}}" | cowsay
  • List all available art types:
    cowsay -l
  • Print the specified ASCII art saying "hello, world":
    cowsay -f {{art}} "{{hello, world}}"
  • Print a dead thinking ASCII cow:
    cowthink -d "{{I'm just a cow, not a great thinker...}}"
  • Print an ASCII cow with custom eyes saying "hello, world":
    cowsay -e {{characters}} "{{hello, world}}"

gitlab

Ruby wrapper for the GitLab API. Some subcommands such as gitlab ctl have their own usage documentation. More information: https://narkoz.github.io/gitlab/.
  • Create a new project:
    gitlab create_project {{project_name}}
  • Get info about a specific commit:
    gitlab commit {{project_name}} {{commit_hash}}
  • Get info about jobs in a CI pipeline:
    gitlab pipeline_jobs {{project_name}} {{pipeline_id}}
  • Start a specific CI job:
    gitlab job_play {{project_name}} {{job_id}}

cdk

A CLI for AWS Cloud Development Kit (CDK). More information: https://docs.aws.amazon.com/cdk/latest/guide/cli.html.
  • List the stacks in the app:
    cdk ls
  • Synthesize and print the CloudFormation template for the specified stack(s):
    cdk synth {{stack_name}}
  • Deploy a space-separated list of stacks:
    cdk deploy {{stack_name}}
  • Destroy a space-separated list of stacks:
    cdk destroy {{stack_name}}
  • Compare the specified stack with the deployed stack or a local CloudFormation template:
    cdk diff {{stack_name}}
  • Create a new CDK project in the current directory for a specified language:
    cdk init -l {{language_name}}
  • Open the CDK API reference in your browser:
    cdk docs

pueue edit

Edit the command or path of a stashed or queued task. More information: https://github.com/Nukesor/pueue.
  • Edit a task, see pueue status to get the task ID:
    pueue edit {{task_id}}
  • Edit the path from which a task is executed:
    pueue edit {{task_id}} --path
  • Edit a command with the specified editor:
    EDITOR={{nano}} pueue edit {{task_id}}

df

Gives an overview of the filesystem disk space usage. More information: https://www.gnu.org/software/coreutils/df.
  • Display all filesystems and their disk usage:
    df
  • Display all filesystems and their disk usage in human-readable form:
    df -h
  • Display the filesystem and its disk usage containing the given file or directory:
    df {{path/to/file_or_directory}}
  • Display statistics on the number of free inodes:
    df -i
  • Display filesystems but exclude the specified types:
    df -x {{squashfs}} -x {{tmpfs}}

jcal

Display calendar information in the Jalali format, with the current day highlighted. More information: http://www.nongnu.org/jcal/.
  • Display a calendar for the current month:
    jcal
  • Display the previous, current, and next months:
    jcal -3
  • Display a calendar for a specific year (4 digits):
    jcal {{year}}
  • Display a calendar for a specific month and year:
    jcal {{year}} {{month}}

emulator

Manage Android emulators. More information: https://developer.android.com/studio/run/emulator-commandline.
  • Start an Android emulator device:
    emulator -avd {{name}}
  • Display the webcams on your development computer that are available for emulation:
    emulator -avd {{name}} -webcam-list
  • Start an emulator overriding the facing back camera setting (use -camera-front for front camera):
    emulator -avd {{name}} -camera-back {{none|emulated|webcamN}}
  • Start an emulator, with a maximum network speed:
    emulator -avd {{name}} -netspeed {{gsm|hscsd|gprs|edge|hsdpa|lte|evdo|full}}
  • Start an emulator with network latency:
    emulator -avd {{name}} -netdelay {{gsm|hscsd|gprs|edge|hsdpa|lte|evdo|none}}
  • Start an emulator, making all TCP connections through a specified HTTP/HTTPS proxy (port number is required):
    emulator -avd {{name}} -http-proxy {{http://example.com:80}}
  • Start an emulator with a given SD card partition image file:
    emulator -avd {{name}} -sdcard {{path/to/sdcard.img}}
  • Display help:
    emulator -help

chars

Display names and codes for various ASCII and Unicode characters and code points. More information: https://github.com/antifuchs/chars.
  • Look up a character by its value:
    chars '{{ß}}'
  • Look up a character by its Unicode code point:
    chars {{U+1F63C}}
  • Look up possible characters given an ambiguous code point:
    chars {{10}}
  • Look up a control character:
    chars "{{^C}}"

airshare

Transfer data between two machines in a local network. More information: https://airshare.rtfd.io/en/latest/cli.html.
  • Share files or directories:
    airshare {{code}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Receive a file:
    airshare {{code}}
  • Host a receiving server (use this to be able to upload files using the web interface):
    airshare --upload {{code}}
  • Send files or directories to a receiving server:
    airshare --upload {{code}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Send files whose paths have been copied to the clipboard:
    airshare --file-path {{code}}
  • Receive a file and copy it to the clipboard:
    airshare --clip-receive {{code}}

shar

Create a shell archive. More information: https://manned.org/man/freebsd/shar.
  • Create a shell script that when executed extracts the given files from itself:
    shar {{path/to/file1 path/to/file2 ...}} > {{path/to/archive.sh}}

history expansion

Reuse and expand the shell history in sh, bash, zsh, rbash and ksh. More information: https://www.gnu.org/software/bash/manual/html_node/History-Interaction.
  • Run the previous command as root (!! is replaced by the previous command):
    sudo !!
  • Run a command with the last argument of the previous command:
    {{command}} !$
  • Run a command with the first argument of the previous command:
    {{command}} !^
  • Run the Nth command of the history:
    !{{n}}
  • Run the command n lines back in the history:
    !-{{n}}
  • Run the most recent command containing string:
    !?{{string}}?
  • Run the previous command, replacing string1 with string2:
    ^{{string1}}^{{string2}}^
  • Perform a history expansion, but print the command that would be run instead of actually running it:
    {{!-n}}:p


unalias

Remove aliases. More information: https://manned.org/unalias.
  • Remove an alias:
    unalias {{alias_name}}
  • Remove all aliases:
    unalias -a

postcss

PostCSS is a tool for transforming styles with JS plugins. More information: https://postcss.org.
  • Parse and transform a CSS file:
    postcss {{path/to/file}}
  • Parse and transform a CSS file and output to a specific file:
    postcss {{path/to/file}} --output {{path/to/file}}
  • Parse and transform a CSS file and output to a specific directory:
    postcss {{path/to/file}} --dir {{path/to/directory}}
  • Parse and transform a CSS file in-place:
    postcss {{path/to/file}} --replace
  • Specify a custom PostCSS parser:
    postcss {{path/to/file}} --parser {{parser}}
  • Specify a custom PostCSS syntax:
    postcss {{path/to/file}} --syntax {{syntax}}
  • Watch for changes to a CSS file:
    postcss {{path/to/file}} --watch
  • Display available options and examples:
    postcss --help

http

HTTPie: HTTP client, aims to be easier to use than cURL. More information: https://httpie.org.
  • Download a URL to a file:
    http --download {{example.org}}
  • Send form-encoded data:
    http --form {{example.org}} {{name='bob'}} {{profile_picture@'bob.png'}}
  • Send JSON object:
    http {{example.org}} {{name='bob'}}
  • Specify an HTTP method:
    http {{HEAD}} {{example.org}}
  • Include an extra header:
    http {{example.org}} {{X-MyHeader:123}}
  • Pass a username and password for server authentication:
    http --auth {{username:password}} {{example.org}}
  • Specify raw request body via stdin:
    cat {{data.txt}} | http PUT {{example.org}}

eol

Show end-of-life dates (EoLs) for a number of products. More information: https://github.com/hugovk/norwegianblue.
  • List all available products:
    eol
  • Get EoLs of one or more products:
    eol {{product1 product2 ...}}
  • Open the product webpage:
    eol {{product}} --web
  • Get EoLs of a one or more products in a specific format:
    eol {{product1 product2 ...}} --format {{html|json|md|markdown|pretty|rst|csv|tsv|yaml}}
  • Get EoLs of one or more products as a single markdown file:
    eol {{product1 product2 ...}} --format {{markdown}} > {{eol_report.md}}
  • Display help:
    eol --help

aws s3api

Create and delete Amazon S3 buckets and edit bucket properties. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/index.html.
  • Create bucket in a specific region:
    aws s3api create-bucket --bucket {{bucket_name}} --region {{region}} --create-bucket-configuration LocationConstraint={{region}}
  • Delete a bucket:
    aws s3api delete-bucket --bucket {{bucket_name}}
  • List buckets:
    aws s3api list-buckets
  • List the objects inside of a bucket and only show each object's key and size:
    aws s3api list-objects --bucket {{bucket_name}} --query '{{Contents[].{Key: Key, Size: Size}}}'
  • Add an object to a bucket:
    aws s3api put-object --bucket {{bucket_name}} --key {{object_key}} --body {{path/to/file}}
  • Download object from a bucket (The output file is always the last argument):
    aws s3api get-object --bucket {{bucket_name}} --key {{object_key}} {{path/to/output_file}}
  • Apply an Amazon S3 bucket policy to a specified bucket:
    aws s3api put-bucket-policy --bucket {{bucket_name}} --policy file://{{path/to/bucket_policy.json}}
  • Download the Amazon S3 bucket policy from a specified bucket:
    aws s3api get-bucket-policy --bucket {{bucket_name}} --query Policy --output {{json|table|text|yaml|yaml-stream}} > {{path/to/bucket_policy}}

cp

Copy files and directories. More information: https://www.gnu.org/software/coreutils/cp.
  • Copy a file to another location:
    cp {{path/to/source_file.ext}} {{path/to/target_file.ext}}
  • Copy a file into another directory, keeping the filename:
    cp {{path/to/source_file.ext}} {{path/to/target_parent_directory}}
  • Recursively copy a directory's contents to another location (if the destination exists, the directory is copied inside it):
    cp -R {{path/to/source_directory}} {{path/to/target_directory}}
  • Copy a directory recursively, in verbose mode (shows files as they are copied):
    cp -vR {{path/to/source_directory}} {{path/to/target_directory}}
  • Copy multiple files at once to a directory:
    cp -t {{path/to/destination_directory}} {{path/to/file1 path/to/file2 ...}}
  • Copy text files to another location, in interactive mode (prompts user before overwriting):
    cp -i {{*.txt}} {{path/to/target_directory}}
  • Follow symbolic links before copying:
    cp -L {{link}} {{path/to/target_directory}}
  • Use the first argument as the destination directory (useful for xargs ... | cp -t <DEST_DIR>):
    cp -t {{path/to/target_directory}} {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}

gpgv

Verify OpenPGP signatures. More information: https://www.gnupg.org/documentation/manuals/gnupg/gpgv.html.
  • Verify a signed file:
    gpgv {{path/to/file}}
  • Verify a signed file using a detached signature:
    gpgv {{path/to/signature}} {{path/to/file}}
  • Add a file to the list of keyrings (a single exported key also counts as a keyring):
    gpgv --keyring {{./alice.keyring}} {{path/to/signature}} {{path/to/file}}

unlink

Remove a link to a file from the filesystem. The file contents is lost if the link is the last one to the file. More information: https://www.gnu.org/software/coreutils/unlink.
  • Remove the specified file if it is the last link:
    unlink {{path/to/file}}

git merge-base

Find a common ancestor of two commits. More information: https://git-scm.com/docs/git-merge-base.
  • Print the best common ancestor of two commits:
    git merge-base {{commit_1}} {{commit_2}}
  • Output all best common ancestors of two commits:
    git merge-base --all {{commit_1}} {{commit_2}}
  • Check if a commit is an ancestor of a specific commit:
    git merge-base --is-ancestor {{ancestor_commit}} {{commit}}

md-to-clip

Converter from tldr-pages to Command Line Interface Pages. See also: clip-view. More information: https://github.com/command-line-interface-pages/v2-tooling/tree/main/md-to-clip.
  • Convert tldr-pages files and save into the same directories:
    md-to-clip {{path/to/page1.md path/to/page2.md ...}}
  • Convert tldr-pages files and save into a specific directory:
    md-to-clip --output-directory {{path/to/directory}} {{path/to/page1.md path/to/page2.md ...}}
  • Convert a tldr-page file to stdout:
    md-to-clip --no-file-save <(echo '{{page-content}}')
  • Convert tldr-pages files while recognizing additional placeholders from a specific config:
    md-to-clip --special-placeholder-config {{path/to/config.yaml}} {{path/to/page1.md path/to/page2.md ...}}
  • Display help:
    md-to-clip --help
  • Display version:
    md-to-clip --version

ffprobe

Multimedia stream analyzer. More information: https://ffmpeg.org/ffprobe.html.
  • Display all available stream info for a media file:
    ffprobe -v error -show_streams {{input.mp4}}
  • Display media duration:
    ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}
  • Display the frame rate of a video:
    ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}
  • Display the width or height of a video:
    ffprobe -v error -select_streams v:0 -show_entries stream={{width|height}} -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}
  • Display the average bit rate of a video:
    ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}

pdflatex

Compile a PDF document from LaTeX source files. More information: https://manned.org/pdflatex.
  • Compile a PDF document:
    pdflatex {{source.tex}}
  • Compile a PDF document specifying an output directory:
    pdflatex -output-directory={{path/to/directory}} {{source.tex}}
  • Compile a PDF document, exiting on each error:
    pdflatex -halt-on-error {{source.tex}}

topgrade

Update all applications on the system. More information: https://github.com/r-darwish/topgrade.
  • Run updates:
    topgrade
  • Say yes to all updates:
    topgrade -y
  • Cleanup temporary/old files:
    topgrade -c
  • Disable a certain update operation:
    topgrade --disable {{operation}}
  • Only perform a certain update operation:
    topgrade --only {{operation}}
  • Edit the config file with default editor:
    topgrade --edit-config


helm

Helm is a package manager for Kubernetes. Some subcommands such as helm install have their own usage documentation. More information: https://helm.sh/.
  • Create a helm chart:
    helm create {{chart_name}}
  • Add a new helm repository:
    helm repo add {{repository_name}}
  • List helm repositories:
    helm repo list
  • Update helm repositories:
    helm repo update
  • Delete a helm repository:
    helm repo remove {{repository_name}}
  • Install a helm chart:
    helm install {{name}} {{repository_name}}/{{chart_name}}
  • Download helm chart as a tar archive:
    helm get {{chart_release_name}}
  • Update helm dependencies:
    helm dependency update

arduino

Arduino Studio - Integrated Development Environment for the Arduino platform. More information: https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc.
  • Build a sketch:
    arduino --verify {{path/to/file.ino}}
  • Build and upload a sketch:
    arduino --upload {{path/to/file.ino}}
  • Build and upload a sketch to an Arduino Nano with an Atmega328p CPU, connected on port /dev/ttyACM0:
    arduino --board {{arduino:avr:nano:cpu=atmega328p}} --port {{/dev/ttyACM0}} --upload {{path/to/file.ino}}
  • Set the preference name to a given value:
    arduino --pref {{name}}={{value}}
  • Build a sketch, put the build results in the build directory, and reuse any previous build results in that directory:
    arduino --pref build.path={{path/to/build_directory}} --verify {{path/to/file.ino}}
  • Save any (changed) preferences to preferences.txt:
    arduino --save-prefs
  • Install the latest SAM board:
    arduino --install-boards "{{arduino:sam}}"
  • Install Bridge and Servo libraries:
    arduino --install-library "{{Bridge:1.0.0,Servo:1.2.0}}"

testssl

Check SSL/TLS protocols and ciphers supported by a server. More information: https://testssl.sh/.
  • Test a server (run every check) on port 443:
    testssl {{example.com}}
  • Test a different port:
    testssl {{example.com:465}}
  • Only check available protocols:
    testssl --protocols {{example.com}}
  • Only check vulnerabilities:
    testssl --vulnerable {{example.com}}
  • Only check HTTP security headers:
    testssl --headers {{example.com}}

npm-name

Check whether a package or organization name is available on npm. More information: https://github.com/sindresorhus/npm-name-cli.
  • Check if a specific package name is available in the npm registry:
    npm-name {{package}}
  • Find similar package names in the npm registry:
    npm-name --similar {{package}}

antibody

"The fastest" shell plugin manager. More information: https://getantibody.github.io.
  • Bundle all plugins for static loading:
    antibody bundle < {{~/.zsh_plugins.txt}} > {{~/.zsh_plugins.sh}}
  • Update all bundles:
    antibody update
  • List all installed plugins:
    antibody list

pueue switch

Switches the queue position of two enqueued or stashed commands. More information: https://github.com/Nukesor/pueue.
  • Switch the priority of two tasks:
    pueue switch {{task_id1}} {{task_id2}}

glab release

Manage GitLab releases. More information: https://glab.readthedocs.io/en/latest/release.
  • List releases in a Gitlab repository, limited to 30 items:
    glab release list
  • Display information about a specific release:
    glab release view {{tag}}
  • Create a new release:
    glab release create {{tag}}
  • Delete a specific release:
    glab release delete {{tag}}
  • Download assets from a specific release:
    glab release download {{tag}}
  • Upload assets to a specific release:
    glab release upload {{tag}} {{path/to/file1}} {{path/to/file2}}

git log

Show a history of commits. More information: https://git-scm.com/docs/git-log.
  • Show the sequence of commits starting from the current one, in reverse chronological order of the Git repository in the current working directory:
    git log
  • Show the history of a particular file or directory, including differences:
    git log -p {{path/to/file_or_directory}}
  • Show an overview of which file(s) changed in each commit:
    git log --stat
  • Show a graph of commits in the current branch using only the first line of each commit message:
    git log --oneline --graph
  • Show a graph of all commits, tags and branches in the entire repo:
    git log --oneline --decorate --all --graph
  • Show only commits whose messages include a given string (case-insensitively):
    git log -i --grep {{search_string}}
  • Show the last N commits from a certain author:
    git log -n {{number}} --author={{author}}
  • Show commits between two dates (yyyy-mm-dd):
    git log --before="{{2017-01-29}}" --after="{{2017-01-17}}"

cheat

Create and view interactive cheat sheets. More information: https://github.com/cheat/cheat.
  • Show example usage of a command:
    cheat {{command}}
  • Edit the cheat sheet for a command:
    cheat -e {{command}}
  • List the available cheat sheets:
    cheat -l
  • Search available the cheat sheets for a specified command name:
    cheat -s {{command}}
  • Get the current cheat version:
    cheat -v

linkchecker

Command-line client to check HTML documents and websites for broken links. More information: https://linkchecker.github.io/linkchecker/.
  • Find broken links on https://example.com/:
    linkchecker {{https://example.com/}}
  • Also check URLs that point to external domains:
    linkchecker --check-extern {{https://example.com/}}
  • Ignore URLs that match a specific regular expression:
    linkchecker --ignore-url {{regular_expression}} {{https://example.com/}}
  • Output results to a CSV file:
    linkchecker --file-output {{csv}}/{{path/to/file}} {{https://example.com/}}

vue init

Legacy project initialization subcommand of the Vue.js framework. More information: https://cli.vuejs.org/guide/creating-a-project.html#pulling-2-x-templates-legacy.
  • Create a new project using one of the default templates:
    vue init {{webpack|webpack-simple|browserify|browserify-simple|simple}} {{project_name}}
  • Create a new project using a local template:
    vue init {{path/to/template_directory}} {{project_name}}
  • Create a new project using a template from GitHub:
    vue init {{username}}/{{repo}} {{project_name}}

mcs

Mono C# Compiler. More information: https://manned.org/mcs.1.
  • Compile the specified files:
    mcs {{path/to/input_file1.cs path/to/input_file2.cs ...}}
  • Specify the output program name:
    mcs -out:{{path/to/file.exe}} {{path/to/input_file1.cs path/to/input_file2.cs ...}}
  • Specify the output program type:
    mcs -target:{{exe|winexe|library|module}} {{path/to/input_file1.cs path/to/input_file2.cs ...}}

kubectl rollout

Manage the rollout of a Kubernetes resource (deployments, daemonsets, and statefulsets). More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#rollout.
  • Start a rolling restart of a resource:
    kubectl rollout restart {{resource_type}}/{{resource_name}}
  • Watch the rolling update status of a resource:
    kubectl rollout status {{resource_type}}/{{resource_name}}
  • Roll back a resource to the previous revision:
    kubectl rollout undo {{resource_type}}/{{resource_name}}
  • View the rollout history of a resource:
    kubectl rollout history {{resource_type}}/{{resource_name}}

htop

Display dynamic real-time information about running processes. An enhanced version of top. More information: https://htop.dev/.
  • Start htop:
    htop
  • Start htop displaying processes owned by a specific user:
    htop --user {{username}}
  • Sort processes by a specified sort_item (use htop --sort help for available options):
    htop --sort {{sort_item}}
  • Start htop with the specified delay between updates, in tenths of a second (i.e. 50 = 5 seconds):
    htop --delay {{50}}
  • See interactive commands while running htop:
    ?
  • Switch to a different tab:
    tab
  • Display help:
    htop --help

hcloud

Show how to use the CLI for Hetzner Cloud. More information: https://github.com/hetznercloud/cli.
  • Show available commands and flags:
    hcloud
  • Show help for hcloud:
    hcloud -h
  • Show available commands and flags for hcloud contexts:
    hcloud context

firefox

A free and open source web browser. More information: https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options.
  • Launch Firefox and open a web page:
    firefox {{https://www.duckduckgo.com}}
  • Open a new window:
    firefox --new-window {{https://www.duckduckgo.com}}
  • Open a private (incognito) window:
    firefox --private-window
  • Search for "wikipedia" using the default search engine:
    firefox --search "{{wikipedia}}"
  • Launch Firefox in safe mode, with all extensions disabled:
    firefox --safe-mode
  • Take a screenshot of a web page in headless mode:
    firefox --headless --screenshot {{path/to/output_file.png}} {{https://example.com/}}
  • Use a specific profile to allow multiple separate instances of Firefox to run at once:
    firefox --profile {{path/to/directory}} {{https://example.com/}}
  • Set Firefox as the default browser:
    firefox --setDefaultBrowser

hsw-cli

The command-line REST tool for the Handshake wallet. More information: https://github.com/handshake-org/hs-client.
  • Unlock the current wallet (timeout in seconds):
    hsw-cli unlock {{passphrase}} {{timeout}}
  • Lock the current wallet:
    hsw-cli lock
  • View the current wallet's details:
    hsw-cli get
  • View the current wallet's balance:
    hsw-cli balance
  • View the current wallet's transaction history:
    hsw-cli history
  • Send a transaction with the specified coin amount to an address:
    hsw-cli send {{address}} {{1.05}}
  • View the current wallet's pending transactions:
    hsw-cli pending
  • View details about a transaction:
    hsw-cli tx {{transaction_hash}}

swig

Generate bindings between C/C++ code and various high level languages such as JavaScript, Python, C#, and more. It uses special .i or .swg files to generate the bindings (C/C++ with SWIG directives, then outputs a C/C++ file that contains all the wrapper code needed to build an extension module. More information: http://www.swig.org.
  • Generate a binding between C++ and Python:
    swig -c++ -python -o {{path/to/output_wrapper.cpp}} {{path/to/swig_file.i}}
  • Generate a binding between C++ and Go:
    swig -go -cgo -intgosize 64 -c++ {{path/to/swig_file.i}}
  • Generate a binding between C and Java:
    swig -java {{path/to/swig_file.i}}
  • Generate a binding between C and Ruby and prefix the Ruby module with {{foo::bar::}}:
    swig -ruby -prefix "{{foo::bar::}}" {{path/to/swig_file.i}}

nop

Check validity and pretty-print graphs in canonical format. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://www.graphviz.org/pdf/nop.1.pdf.
  • Pretty-print one or more graphs in canonical format:
    nop {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Check one or more graphs for validity, producing no output graph:
    nop -p {{path/to/input1.gv}} {{path/to/input2.gv ...}}
  • Display help for nop:
    nop -?

x_x

View Excel and CSV files. More information: https://github.com/kristianperkins/x_x.
  • View an XLSX or CSV file:
    x_x {{file.xlsx|file.csv}}
  • View an XLSX or CSV file, using the first row as table headers:
    x_x -h {{0}} {{file.xlsx|file.csv}}
  • View a CSV file with unconventional delimiters:
    x_x --delimiter={{';'}} --quotechar={{'|'}} {{file.csv}}

deluge

A command-line BitTorrent client. More information: https://deluge-torrent.org.
  • Download a torrent:
    deluge {{url|magnet|path/to/file}}
  • Download a torrent using a specific configuration file:
    deluge -c {{path/to/configuration_file}} {{url|magnet|path/to/file}}
  • Download a torrent and launch the specified user interface:
    deluge -u {{gtk|web|console}} {{url|magnet|path/to/file}}
  • Download a torrent and output the log to a file:
    deluge -l {{path/to/log_file}} {{url|magnet|path/to/file}}

ipaggmanip

Manipulate aggregate statistics produced by ipaggcreate. More information: https://manned.org/ipaggmanip.
  • Combine labels equal in their high-order bits:
    ipaggmanip --prefix {{16}} {{path/to/file}}
  • Remove labels with a count smaller than a given number of bytes and output a random sample of such labels:
    ipaggmanip --cut-smaller {{100}} --cull-labels {{5}} {{path/to/file}}
  • Replace each label's count with 1 if it is non-zero:
    ipaggmanip --posterize {{path/to/file}}

semver

Semantic version string parser. More information: https://github.com/npm/node-semver.
  • Check if a version string respects the semantic versioning format (prints an empty string if it does not match):
    semver {{1.2}}
  • Convert a version string to the semantic versioning format:
    semver --coerce {{1.2}}
  • Test if 1.2.3 matches the ^1.0 range (prints an empty string if it does not match):
    semver {{1.2.3}} --range "{{^1.0}}"
  • Test with multiple ranges:
    semver {{1.2.3}} --range {{">=1.0"}} {{"<2.0"}}
  • Test multiple version strings and return only the ones that match:
    semver {{1.2.3}} {{2.0.0}} --range "{{^1.0}}"

kubeadm

Command-line interface for creating and managing Kubernetes clusters. More information: https://kubernetes.io/docs/reference/setup-tools/kubeadm.
  • Create a Kubernetes master node:
    kubeadm init
  • Bootstrap a Kubernetes worker node and join it to a cluster:
    kubeadm join --token {{token}}
  • Create a new bootstrap token with a TTL of 12 hours:
    kubeadm token create --ttl {{12h0m0s}}
  • Check if the Kubernetes cluster is upgradeable and which versions are available:
    kubeadm upgrade plan
  • Upgrade Kubernetes cluster to a specified version:
    kubeadm upgrade apply {{version}}
  • View the kubeadm ConfigMap containing the cluster's configuration:
    kubeadm config view
  • Revert changes made to the host by 'kubeadm init' or 'kubeadm join':
    kubeadm reset

tlmgr pinning

The pinning action manages the pinning file. More information: https://www.tug.org/texlive/doc/tlmgr.html#pinning.
  • Show the current pinning data:
    tlmgr pinning show
  • Pin the matching the packages to the given repository:
    tlmgr pinning add {{repository}} {{package1 package2 ...}}
  • Remove any packages recorded in the pinning file matching the packages for the given repository:
    tlmgr pinning remove {{repository}} {{package1 package2 ...}}
  • Remove all pinning data for the given repository:
    tlmgr pinning remove {{repository}} --all

virsh pool-start

Start a previously configured but inactive virtual machine storage pool. See also: virsh, virsh-pool-define-as, virsh-pool-destroy. More information: https://manned.org/virsh.
  • Start the storage pool specified by name or UUID (determine using virsh pool-list) and create the underlying storage system if it doesn't exist:
    virsh pool-start --pool {{name|uuid}} --build

banner

Print the given argument as a large ASCII art. More information: https://manned.org/banner.
  • Print the text message as a large banner (quotes are optional):
    banner "{{Hello World}}"
  • Print the text message as a banner with a width of 50 characters:
    banner -w {{50}} "{{Hello World}}"
  • Read text from stdin:
    banner

git browse-ci

Open the current git repository's CI website in the default web browser. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-browse-ci.
  • Open the current repository's CI configuration on its upstream website:
    git browse-ci
  • Open the current repository's CI configuration on its upstream website for a specific remote:
    git browse-ci {{remote}}

entr

Run arbitrary commands when files change. More information: https://manned.org/entr.
  • Rebuild with make if any file in any subdirectory changes:
    {{ag -l}} | entr {{make}}
  • Rebuild and test with make if any .c source files in the current directory change:
    {{ls *.c}} | entr {{'make && make test'}}
  • Send a SIGTERM to any previously spawned ruby subprocesses before executing ruby main.rb:
    {{ls *.rb}} | entr -r {{ruby main.rb}}
  • Run a command with the changed file (/_) as an argument:
    {{ls *.sql}} | entr {{psql -f}} /_

az sshkey

Manage ssh public keys with virtual machines. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/sshkey.
  • Create a new SSH key:
    az sshkey create --name {{name}} --resource-group {{resource_group}}
  • Upload an existing SSH key:
    az sshkey create --name {{name}} --resource-group {{resource_group}} --public-key "{{@path/to/key.pub}}"
  • List all SSH public keys:
    az sshkey list
  • Show information about an SSH public key:
    az sshkey show --name {{name}} --resource-group {{resource_group}}

rubocop

Lint Ruby files. More information: https://docs.rubocop.org/rubocop/usage/basic_usage.html.
  • Check all files in the current directory (including subdirectories):
    rubocop
  • Check one or more specific files or directories:
    rubocop {{path/to/file}} {{path/to/directory}}
  • Write output to file:
    rubocop --out {{path/to/file}}
  • View list of cops (linter rules):
    rubocop --show-cops
  • Exclude a cop:
    rubocop --except {{cop_1}} {{cop_2}}
  • Run only specified cops:
    rubocop --only {{cop_1}} {{cop_2}}
  • Auto-correct files (experimental):
    rubocop --auto-correct

tre

Show the contents of the current directory as a tree. Respects the .gitignore settings by default. More information: https://github.com/dduan/tre.
  • Print directories only:
    tre --directories
  • Print JSON containing files in the tree hierarchy instead of the normal tree diagram:
    tre --json
  • Print files and directories up to the specified depth limit (where 1 means the current directory):
    tre --limit {{depth}}
  • Print all hidden files and directories using the specified colorization mode:
    tre --all --color {{automatic|always|never}}
  • Print files within the tree hierarchy, assigning a shell alias to each file that, when called, will open the associated file using the provided command (or in $EDITOR by default):
    tre --editor {{command}}
  • Print files within the tree hierarchy, excluding all paths that match the provided regular expression:
    tre --exclude {{regular_expression}}
  • Display version:
    tre --version
  • Display help:
    tre --help

truffle

A tool for developing smart contracts for running services on the Ethereum blockchain. More information: https://www.trufflesuite.com/docs/truffle/reference/truffle-commands.
  • Download a pre-built Truffle project (Truffle Box):
    truffle unbox {{box_name}}
  • Compile contract source files in the current directory:
    truffle compile
  • Run JavaScript and Solidity tests:
    truffle test
  • Run migrations to deploy contracts:
    truffle migrate
  • Display help for a subcommand:
    truffle help {{subcommand}}

gh

Work seamlessly with GitHub. Some subcommands such as gh config have their own usage documentation. More information: https://cli.github.com/.
  • Clone a GitHub repository locally:
    gh repo clone {{owner}}/{{repository}}
  • Create a new issue:
    gh issue create
  • View and filter the open issues of the current repository:
    gh issue list
  • View an issue in the default web browser:
    gh issue view --web {{issue_number}}
  • Create a pull request:
    gh pr create
  • View a pull request in the default web browser:
    gh pr view --web {{pr_number}}
  • Check out a specific pull request locally:
    gh pr checkout {{pr_number}}
  • Check the status of a repository's pull requests:
    gh pr status

sha384sum

Calculate SHA384 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-utilities.html.
  • Calculate the SHA384 checksum for one or more files:
    sha384sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of SHA384 checksums to a file:
    sha384sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha384}}
  • Calculate a SHA384 checksum from stdin:
    {{command}} | sha384sum
  • Read a file of SHA384 sums and filenames and verify all files have matching checksums:
    sha384sum --check {{path/to/file.sha384}}
  • Only show a message for missing files or when verification fails:
    sha384sum --check --quiet {{path/to/file.sha384}}
  • Only show a message when verification fails, ignoring missing files:
    sha384sum --ignore-missing --check --quiet {{path/to/file.sha384}}

molecule

Molecule helps testing Ansible roles. More information: https://molecule.readthedocs.io.
  • Create a new Ansible role:
    molecule init role --role-name {{role_name}}
  • Run tests:
    molecule test
  • Start the instance:
    molecule create
  • Configure the instance:
    molecule converge
  • List scenarios of the instance:
    molecule matrix converge
  • Log in into the instance:
    molecule login

ohdear-cli

An unofficial Oh Dear CLI written with Laravel Zero. More information: https://github.com/nunomaduro/ohdear-cli.
  • Display details about the currently authenticated user:
    ohdear-cli me
  • Add a new site to Oh Dear:
    ohdear-cli sites:add {{url}}
  • Display a list of sites and their current status:
    ohdear-cli sites:list
  • Display details about a specific site:
    ohdear-cli sites:show {{site_id}}

grap

A charting preprocessor for the groff (GNU Troff) document formatting system. See also pic and groff. More information: https://manned.org/grap.
  • Process a grap file and save the output file for future processing with pic and groff:
    grap {{path/to/input.grap}} > {{path/to/output.pic}}
  • Typeset a grap file to PDF using the [me] macro package, saving the output to a file:
    grap {{path/to/input.grap}} | pic -T {{pdf}} | groff -{{me}} -T {{pdf}} > {{path/to/output.pdf}}

hostess

Manage the /etc/hosts file. More information: https://github.com/cbednarski/hostess.
  • List domains, target IP addresses and on/off status:
    hostess list
  • Add a domain pointing to your machine to your hosts file:
    hostess add {{local.example.com}} {{127.0.0.1}}
  • Remove a domain from your hosts file:
    hostess del {{local.example.com}}
  • Disable a domain (but don't remove it):
    hostess off {{local.example.com}}

task

Command-line to-do list manager. More information: https://taskwarrior.org/docs/.
  • Add a new task which is due tomorrow:
    task add {{description}} due:{{tomorrow}}
  • Update a task's priority:
    task {{task_id}} modify priority:{{H|M|L}}
  • Complete a task:
    task {{task_id}} done
  • Delete a task:
    task {{task_id}} delete
  • List all open tasks:
    task list
  • List open tasks due before the end of the week:
    task list due.before:{{eow}}
  • Show a graphical burndown chart, by day:
    task burndown.daily
  • List all reports:
    task reports

img2pdf

Command-line lossless converter of raster images to PDF. More information: https://gitlab.mister-muffin.de/josch/img2pdf.
  • Convert multiple images to a single PDF, each image being on its own page:
    img2pdf {{path/to/image1.jpg}} {{path/to/image2.jpg}} --output {{path/to/file.pdf}}
  • Convert only the first frame of a multi-frame image to PDF:
    img2pdf {{path/to/file.gif}} --first-frame-only --output {{path/to/file.pdf}}
  • Auto orient the image, use a page size of A4 in landscape mode, and set a border of 2cm horizontally and 5.1cm vertically:
    img2pdf {{path/to/file.jpg}} --auto-orient --pagesize {{A4^T}} --border {{2cm}}:{{5.1cm}} --output {{path/to/file.pdf}}
  • Shrink only larger images to a 10cm by 15cm rectangle inside a 30x20cm page:
    img2pdf {{path/to/file.tiff}} --pagesize {{30cm}}x{{20cm}} --imgsize {{10cm}}x{{15cm}} --fit {{shrink}} --output {{path/to/file.pdf}}
  • Convert an image to PDF, and specify metadata for the resulting file:
    img2pdf {{path/to/file.png}} --title {{title}} --author {{author}} --creationdate {{1970-01-31}} --keywords {{keyword1 keyword2}} --subject {{subject}} --output {{path/to/file.pdf}}

git annex

Manage files with Git, without checking their contents in. When a file is annexed, its content is moved into a key-value store, and a symlink is made that points to the content. More information: https://git-annex.branchable.com.
  • Initialize a repo with Git annex:
    git annex init
  • Add a file:
    git annex add {{path/to/file_or_directory}}
  • Show the current status of a file or directory:
    git annex status {{path/to/file_or_directory}}
  • Synchronize a local repository with a remote:
    git annex {{remote}}
  • Get a file or directory:
    git annex get {{path/to/file_or_directory}}
  • Display help:
    git annex help

bun

JavaScript runtime and toolkit. Includes a bundler, a test runner, and a package manager. More information: https://bun.sh.
  • Run a JavaScript file or a package.json script:
    bun run {{path/to/file|script_name}}
  • Run unit tests:
    bun test
  • Download and install all the packages listed as dependencies in package.json:
    bun install
  • Add a dependency to package.json:
    bun add {{module_name}}
  • Remove a dependency from package.json:
    bun remove {{module_name}}
  • Create a new Bun project in the current directory:
    bun init
  • Start a REPL (interactive shell):
    bun repl
  • Upgrade Bun to the latest version:
    bun upgrade

git fork

Fork the given GitHub repo. Like git clone but forks first. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-fork.
  • Fork and clone a GitHub repository by its URL:
    git fork {{https://github.com/tldr-pages/tldr}}
  • Fork and clone a GitHub repository by its slug:
    git fork {{tldr-pages/tldr}}

lpass

Command-line interface for the LastPass password manager. More information: https://github.com/lastpass/lastpass-cli.
  • Log in to your LastPass account, by entering your master password when prompted:
    lpass login {{username}}
  • Show login status:
    lpass status
  • List all sites grouped by category:
    lpass ls
  • Generate a new password for gmail.com with the identifier myinbox and add to LastPass:
    lpass generate --username {{username}} --url {{gmail.com}} {{myinbox}} {{password_length}}
  • Show password for a specified entry:
    lpass show {{myinbox}} --password

pg_ctl

Utility for controlling a PostgreSQL server and database cluster. More information: https://www.postgresql.org/docs/current/app-pg-ctl.html.
  • Initialize a new PostgreSQL database cluster:
    pg_ctl -D {{data_directory}} init
  • Start a PostgreSQL server:
    pg_ctl -D {{data_directory}} start
  • Stop a PostgreSQL server:
    pg_ctl -D {{data_directory}} stop
  • Restart a PostgreSQL server:
    pg_ctl -D {{data_directory}} restart
  • Reload the PostgreSQL server configuration:
    pg_ctl -D {{data_directory}} reload

sqlite-utils

Command-line tool used to manipulate SQLite databases in a number of different ways. More information: https://sqlite-utils.datasette.io/en/stable/cli.html.
  • Create a database:
    sqlite-utils create-database {{path/to/database.db}}
  • Create a table:
    sqlite-utils create-table {{path/to/database.db}} {{table_name}} {{id integer name text height float photo blob --pk id}}
  • List tables:
    sqlite-utils tables {{path/to/database.db}}
  • Upsert a record:
    {{echo '[ {"id": 1, "name": "Linus Torvalds"}, {"id": 2, "name": "Steve Wozniak"}, {"id": 3, "name": "Tony Hoare"} ]'}} | sqlite-utils upsert {{path/to/database.db}} {{table_name}} - {{--pk id}}
  • Select records:
    sqlite-utils rows {{path/to/database.db}} {{table_name}}
  • Delete a record:
    sqlite-utils query {{path/to/database.db}} "{{delete from table_name where name = 'Tony Hoare'}}"
  • Drop a table:
    sqlite-utils drop-table {{path/to/database.db}} {{table_name}}
  • Show help information:
    sqlite-utils -h

pssh

Parallel SSH program. More information: https://manned.org/pssh.
  • Run a command on two hosts, and print its output on each server inline:
    pssh -i -H "{{host1}} {{host2}}" {{hostname -i}}
  • Run a command and save the output to separate files:
    pssh -H {{host1}} -H {{host2}} -o {{path/to/output_dir}} {{hostname -i}}
  • Run a command on multiple hosts, specified in a new-line separated file:
    pssh -i -h {{path/to/hosts_file}} {{hostname -i}}
  • Run a command as root (this asks for the root password):
    pssh -i -h {{path/to/hosts_file}} -A -l {{root_username}} {{hostname -i}}
  • Run a command with extra SSH arguments:
    pssh -i -h {{path/to/hosts_file}} -x "{{-O VisualHostKey=yes}}" {{hostname -i}}
  • Run a command limiting the number of parallel connections to 10:
    pssh -i -h {{path/to/hosts_file}} -p {{10}} '{{cd dir; ./script.sh; exit}}'

pkg-config

Provide the details of installed libraries for compiling applications. More information: https://www.freedesktop.org/wiki/Software/pkg-config/.
  • Get the list of libraries and their dependencies:
    pkg-config --libs {{library1 library2 ...}}
  • Get the list of libraries, their dependencies, and proper cflags for gcc:
    pkg-config --cflags --libs {{library1 library2 ...}}
  • Compile your code with libgtk-3, libwebkit2gtk-4.0 and all their dependencies:
    c++ example.cpp $(pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0) -o example

vercel

Deploy and manage your Vercel deployments. More information: https://vercel.com/docs/cli.
  • Deploy the current directory:
    vercel
  • Deploy the current directory to production:
    vercel --prod
  • Deploy a directory:
    vercel {{path/to/project}}
  • Initialize an example project:
    vercel init
  • Deploy with Environment Variables:
    vercel --env {{ENV}}={{var}}
  • Build with Environment Variables:
    vercel --build-env {{ENV}}={{var}}
  • Set default regions to enable the deployment on:
    vercel --regions {{region_id}}
  • Remove a deployment:
    vercel remove {{project_name}}

reflex

Tool to watch a directory and rerun a command when certain files change. More information: https://github.com/cespare/reflex.
  • Rebuild with make if any file changes:
    reflex make
  • Compile and run Go application if any .go file changes:
    reflex --regex='{{\.go$}}' {{go run .}}
  • Ignore a directory when watching for changes:
    reflex --inverse-regex='{{^dir/}}' {{command}}
  • Run command when reflex starts and restarts on file changes:
    reflex --start-service=true {{command}}
  • Substitute the filename that changed in:
    reflex -- echo {}

clido

Save-state TODO app for the terminal. More information: https://codeberg.org/Oglo12/clido/wiki.
  • Create a list:
    clido --new {{name}}
  • Load a list:
    clido --load {{name}}
  • Delete a list:
    clido --remove {{name}}
  • List all lists:
    clido --lists
  • Toggle autowrite:
    clido toggle-autowrite
  • Open a list in a text editor:
    clido edit {{text_editor}}
  • Display version:
    clido -v
  • Display help:
    clido -h

alias

Creates aliases -- words that are replaced by a command string. Aliases expire with the current shell session unless defined in the shell's configuration file, e.g. ~/.bashrc. More information: https://tldp.org/LDP/abs/html/aliases.html.
  • List all aliases:
    alias
  • Create a generic alias:
    alias {{word}}="{{command}}"
  • View the command associated to a given alias:
    alias {{word}}
  • Remove an aliased command:
    unalias {{word}}
  • Turn rm into an interactive command:
    alias {{rm}}="{{rm --interactive}}"
  • Create la as a shortcut for ls --all:
    alias {{la}}="{{ls --all}}"

sam2p

Raster (bitmap) image converter with smart PDF and PostScript (EPS) output. More information: http://pts.50.hu/sam2p/.
  • Concatenate all PDF files into one:
    sam2p *.pdf {{path/to/output.pdf}}

cppcheck

A static analysis tool for C/C++ code. Instead of syntax errors, it focuses on the types of bugs that compilers normally do not detect. More information: http://cppcheck.sourceforge.net.
  • Recursively check the current directory, showing progress on the screen and logging error messages to a file:
    cppcheck . 2> cppcheck.log
  • Recursively check a given directory, and don't print progress messages:
    cppcheck --quiet {{path/to/directory}}
  • Check a given file, specifying which tests to perform (by default only errors are shown):
    cppcheck --enable={{error|warning|style|performance|portability|information|all}} {{path/to/file.cpp}}
  • List available tests:
    cppcheck --errorlist
  • Check a given file, ignoring specific tests:
    cppcheck --suppress={{test_id1}} --suppress={{test_id2}} {{path/to/file.cpp}}
  • Check the current directory, providing paths for include files located outside it (e.g. external libraries):
    cppcheck -I {{include/directory_1}} -I {{include/directory_2}} .
  • Check a Microsoft Visual Studio project (*.vcxproj) or solution (*.sln):
    cppcheck --project={{path/to/project.sln}}

podman image

Manage Docker images. See also podman build, podman import, and podman pull. More information: https://docs.podman.io/en/latest/markdown/podman-image.1.html.
  • List local Docker images:
    podman image ls
  • Delete unused local Docker images:
    podman image prune
  • Delete all unused images (not just those without a tag):
    podman image prune --all
  • Show the history of a local Docker image:
    podman image history {{image}}

tree

Show the contents of the current directory as a tree. More information: http://mama.indstate.edu/users/ice/tree/.
  • Print files and directories up to 'num' levels of depth (where 1 means the current directory):
    tree -L {{num}}
  • Print directories only:
    tree -d
  • Print hidden files too with colorization on:
    tree -a -C
  • Print the tree without indentation lines, showing the full path instead (use -N to not escape non-printable characters):
    tree -i -f
  • Print the size of each file and the cumulative size of each directory, in human-readable format:
    tree -s -h --du
  • Print files within the tree hierarchy, using a wildcard (glob) pattern, and pruning out directories that don't contain matching files:
    tree -P '{{*.txt}}' --prune
  • Print directories within the tree hierarchy, using the wildcard (glob) pattern, and pruning out directories that aren't ancestors of the wanted one:
    tree -P {{directory_name}} --matchdirs --prune
  • Print the tree ignoring the given directories:
    tree -I '{{directory_name1|directory_name2}}'


ipsumdump

Summarise TCP/IP dumps into a human and machine readable ASCII format. More information: https://manned.org/ipsumdump.
  • Print the source and destination IP addresses of all packets in a pcap file:
    ipsumdump --src --dst {{path/to/file.pcap}}
  • Print the timestamps, source address, source port, destination address, destination port and protocol of all packets read from a given network interface:
    ipsumdump --interface {{eth0}} -tsSdDp
  • Print the anonymised source address, anonymised destination address, and IP packet length of all packets in a pcap file:
    ipsumdump --src --dst --length --anonymize {{path/to/file.pcap}}

beanstalkd

A simple and generic work-queue server. More information: https://beanstalkd.github.io/.
  • Start Beanstalk, listening on port 11300:
    beanstalkd
  • Start Beanstalk listening on a custom port and address:
    beanstalkd -l {{ip_address}} -p {{port_number}}
  • Persist work queues by saving them to disk:
    beanstalkd -b {{path/to/persistence_directory}}
  • Sync to the persistence directory every 500 milliseconds:
    beanstalkd -b {{path/to/persistence_directory}} -f {{500}}

info

Reads documentation stored in the info format. More information: https://en.wikipedia.org/wiki/Info_(Unix).
  • Start reading top-level directory menu:
    info
  • Start reading at given menu item node from top-level directory:
    info {{menu_item}}
  • Start reading at second menu item within first menu item manual:
    info {{first_menu_item}} {{second_menu_item}}

rmlint

Identify duplicate files or directories, and other filesystem issues. More information: https://rmlint.readthedocs.io/en/latest/rmlint.1.html.
  • Check a directory for duplicates, empty files, and other issues:
    rmlint {{path/to/directory}}
  • Delete duplicate files found by an execution of rmlint:
    ./rmlint.sh
  • Find duplicate directory trees:
    rmlint --merge-directories {{path/to/directory}}
  • Mark files at lower path [d]epth as originals:
    rmlint --rank-by={{d}} {{path/to/directory}}
  • Mark files with shortest name [l]ength as originals:
    rmlint --rank-by={{l}} {{path/to/directory}}
  • Find only duplicates that have the same filename in addition to the same contents:
    rmlint --match-basename {{path/to/directory}}
  • Find all duplicates with the same extension:
    rmlint --match-extension {{path/to/directory}}

adb shell

Android Debug Bridge Shell: Run remote shell commands on an Android emulator instance or connected Android devices. More information: https://developer.android.com/studio/command-line/adb.
  • Start a remote interactive shell on the emulator or device:
    adb shell
  • Get all the properties from emulator or device:
    adb shell getprop
  • Revert all runtime permissions to their default:
    adb shell pm reset-permissions
  • Revoke a dangerous permission for an application:
    adb shell pm revoke {{package}} {{permission}}
  • Trigger a key event:
    adb shell input keyevent {{keycode}}
  • Clear the data of an application on an emulator or device:
    adb shell pm clear {{package}}
  • Start an activity on emulator or device:
    adb shell am start -n {{package}}/{{activity}}
  • Start the home activity on an emulator or device:
    adb shell am start -W -c android.intent.category.HOME -a android.intent.action.MAIN

mysqlbinlog

Utility for processing MySQL binary log files. More information: https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html.
  • Show events from a specific binary log file:
    mysqlbinlog {{path/to/binlog}}
  • Show entries from a binary log for a specific database:
    mysqlbinlog --database {{database_name}} {{path/to/binlog}}
  • Show events from a binary log between specific dates:
    mysqlbinlog --start-datetime='{{2022-01-01 01:00:00}}' --stop-datetime='{{2022-02-01 01:00:00}}' {{path/to/binlog}}
  • Show events from a binary log between specific positions:
    mysqlbinlog --start-position={{100}} --stop-position={{200}} {{path/to/binlog}}
  • Show binary log from a MySQL server on the given host:
    mysqlbinlog --host={{hostname}} {{path/to/binlog}}

xprop

A tool for displaying window and font properties in an X server. More information: https://manned.org/xprop.
  • Display the name of the root window:
    xprop -root WM_NAME
  • Display the window manager hints for a window:
    xprop -name "{{window_name}}" WM_HINTS
  • Display the point size of a font:
    xprop -font "{{font_name}}" POINT_SIZE
  • Display all the properties of the window with the id 0x200007:
    xprop -id {{0x200007}}

travis

Command-line client to interface with Travis CI. More information: https://github.com/travis-ci/travis.rb.
  • Display the client version:
    travis version
  • Authenticate the CLI client against the server, using an authentication token:
    travis login
  • List repositories the user has permissions on:
    travis repos
  • Encrypt values in .travis.yml:
    travis encrypt {{token}}
  • Generate a .travis.yml file and enable the project:
    travis init

git revert

Create new commits which reverse the effect of earlier ones. More information: https://git-scm.com/docs/git-revert.
  • Revert the most recent commit:
    git revert {{HEAD}}
  • Revert the 5th last commit:
    git revert HEAD~{{4}}
  • Revert a specific commit:
    git revert {{0c01a9}}
  • Revert multiple commits:
    git revert {{branch_name~5..branch_name~2}}
  • Don't create new commits, just change the working tree:
    git revert -n {{0c01a9..9a1743}}

gh label

Work with GitHub labels. More information: https://cli.github.com/manual/gh_label.
  • List labels for the repository in the current directory:
    gh label list
  • View labels for the repository in the current directory in the default web browser:
    gh label list --web
  • Create a label with a specific name, description and color in hexadecimal format for the repository in the current directory:
    gh label create {{name}} --description "{{description}}" --color {{color_hex}}
  • Delete a label for the repository in the current directory, prompting for confirmation:
    gh label delete {{name}}
  • Update the name and description for a specific label for the repository in the current directory:
    gh label edit {{name}} --name {{new_name}} --description "{{description}}"
  • Clone labels from a specific repository into the repository in the current directory:
    gh label clone {{owner}}/{{repository}}
  • Display help for a subcommand:
    gh label {{subcommand}} --help

in-toto-record

Create a signed link metadata file to provide evidence for supply chain steps. More information: https://in-toto.readthedocs.io/en/latest/command-line-tools/in-toto-record.html.
  • Start the record (creates a preliminary link file):
    in-toto-record start -n {{edit-files}} -k {{path/to/key_file}} -m {{.}}
  • Stop the record (expects a preliminary link file):
    in-toto-record stop -n {{edit-files}} -k {{path/to/key_file}} -p {{.}}

chown

Change user and group ownership of files and directories. More information: https://www.gnu.org/software/coreutils/chown.
  • Change the owner user of a file/directory:
    chown {{user}} {{path/to/file_or_directory}}
  • Change the owner user and group of a file/directory:
    chown {{user}}:{{group}} {{path/to/file_or_directory}}
  • Recursively change the owner of a directory and its contents:
    chown -R {{user}} {{path/to/directory}}
  • Change the owner of a symbolic link:
    chown -h {{user}} {{path/to/symlink}}
  • Change the owner of a file/directory to match a reference file:
    chown --reference={{path/to/reference_file}} {{path/to/file_or_directory}}

git create-branch

Create a Git branch in a repository. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-create-branch.
  • Create a local branch:
    git create-branch {{branch_name}}
  • Create a branch locally and on origin:
    git create-branch --remote {{branch_name}}
  • Create a branch locally and on upstream (through forks):
    git create-branch --remote upstream {{branch_name}}

htpasswd

Create and manage htpasswd files to protect web server directories using basic authentication. More information: https://httpd.apache.org/docs/current/programs/htpasswd.html.
  • Create/overwrite htpasswd file:
    htpasswd -c {{path/to/file}} {{username}}
  • Add user to htpasswd file or update existing user:
    htpasswd {{path/to/file}} {{username}}
  • Add user to htpasswd file in batch mode without an interactive password prompt (for script usage):
    htpasswd -b {{path/to/file}} {{username}} {{password}}
  • Delete user from htpasswd file:
    htpasswd -D {{path/to/file}} {{username}}
  • Verify user password:
    htpasswd -v {{path/to/file}} {{username}}
  • Display a string with username (plain text) and password (md5):
    htpasswd -nbm {{username}} {{password}}

sum

Compute checksums and the number of blocks for a file. A predecessor to the more modern cksum. More information: https://www.gnu.org/software/coreutils/sum.
  • Compute a checksum with BSD-compatible algorithm and 1024-byte blocks:
    sum {{path/to/file}}
  • Compute a checksum with System V-compatible algorithm and 512-byte blocks:
    sum --sysv {{path/to/file}}

nrm

npm registry manager. Helps to easily switch between different npm registries. More information: https://github.com/Pana/nrm.
  • List all registries:
    nrm ls
  • Change to a particular registry:
    nrm use {{registry}}
  • Show the response time for all registries:
    nrm test
  • Add a custom registry:
    nrm add {{registry}} {{url}}
  • Delete a registry:
    nrm del {{registry}}

arping

Discover and probe hosts in a network using the ARP protocol. Useful for MAC address discovery. More information: https://github.com/ThomasHabets/arping.
  • Ping a host by ARP request packets:
    arping {{host_ip}}
  • Ping a host on a specific interface:
    arping -I {{interface}} {{host_ip}}
  • Ping a host and stop at the first reply:
    arping -f {{host_ip}}
  • Ping a host a specific number of times:
    arping -c {{count}} {{host_ip}}
  • Broadcast ARP request packets to update neighbours' ARP caches:
    arping -U {{ip_to_broadcast}}
  • Detect duplicated IP addresses in the network by sending ARP requests with a 3 second timeout:
    arping -D -w {{3}} {{ip_to_check}}

rg

Ripgrep is a recursive line-oriented search tool. Aims to be a faster alternative to grep. More information: https://github.com/BurntSushi/ripgrep.
  • Recursively search the current directory for a regular expression:
    rg {{regular_expression}}
  • Search for regular expressions recursively in the current directory, including hidden files and files listed in .gitignore:
    rg --no-ignore --hidden {{regular_expression}}
  • Search for a regular expression only in a subset of directories:
    rg {{regular_expression}} {{set_of_subdirs}}
  • Search for a regular expression in files matching a glob (e.g. README.*):
    rg {{regular_expression}} --glob {{glob}}
  • Search for filenames that match a regular expression:
    rg --files | rg {{regular_expression}}
  • Only list matched files (useful when piping to other commands):
    rg --files-with-matches {{regular_expression}}
  • Show lines that do not match the given regular expression:
    rg --invert-match {{regular_expression}}
  • Search a literal string pattern:
    rg --fixed-strings -- {{string}}

gopass

Standard Unix Password Manager for Teams. Written in Go. More information: https://www.gopass.pw.
  • Initialize the configuration settings:
    gopass init
  • Create a new entry:
    gopass new
  • Show all stores:
    gopass mounts
  • Mount a shared Git store:
    gopass mounts add {{store_name}} {{git_repo_url}}
  • Search interactively using a keyword:
    gopass show {{keyword}}
  • Search using a keyword:
    gopass find {{keyword}}
  • Sync all mounted stores:
    gopass sync
  • Show a particular password entry:
    gopass {{store_name|path/to/directory|[email protected]}}

funzip

Print the content of the first (non-directory) member in an archive without extraction. More information: https://manned.org/funzip.
  • Print the content of the first member in a .zip archive:
    funzip {{path/to/archive.zip}}
  • Print the content in a .gz archive:
    funzip {{path/to/archive.gz}}
  • Decrypt a .zip or .gz archive and print the content:
    funzip -password {{password}} {{path/to/archive}}


ld

Link object files together. More information: https://sourceware.org/binutils/docs-2.38/ld.html.
  • Link a specific object file with no dependencies into an executable:
    ld {{path/to/file.o}} --output {{path/to/output_executable}}
  • Link two object files together:
    ld {{path/to/file1.o}} {{path/to/file2.o}} --output {{path/to/output_executable}}
  • Dynamically link an x86_64 program to glibc (file paths change depending on the system):
    ld --output {{path/to/output_executable}} --dynamic-linker /lib/ld-linux-x86-64.so.2 /lib/crt1.o /lib/crti.o -lc {{path/to/file.o}} /lib/crtn.o

argocd

Command-line interface to control a Argo CD server. Some subcommands such as argocd app have their own usage documentation. More information: https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd/.
  • Login to Argo CD server:
    argocd login --insecure --username {{user}} --password {{password}} {{argocd_server:port}}
  • List applications:
    argocd app list

cut

Cut out fields from stdin or files. More information: https://www.gnu.org/software/coreutils/cut.
  • Print a specific character/field range of each line:
    {{command}} | cut --{{characters|fields}}={{1|1,10|1-10|1-|-10}}
  • Print a range of each line with a specific delimiter:
    {{command}} | cut --delimiter="{{,}}" --{{fields}}={{1}}
  • Print a range of each line of the specific file:
    cut --{{characters}}={{1}} {{path/to/file}}

jadx

Dex to Java decompiler. Produces Java source code from Android Dex and APK files. More information: https://github.com/skylot/jadx.
  • Decompile a Dex file into a directory:
    jadx {{path/to/file}}
  • Decompile a Dex file into a specific directory:
    jadx --output-dir {{path/to/directory}} {{path/to/file}}

dolt config

Read and write local (per repository) and global (per user) Dolt configuration variables. More information: https://docs.dolthub.com/interfaces/cli#dolt-config.
  • List all local and global configuration options and their values:
    dolt config --list
  • Display the value of a local or global configuration variable:
    dolt config --get {{name}}
  • Modify the value of a local configuration variable, creating it if it doesn't exist:
    dolt config --add {{name}} {{value}}
  • Modify the value of a global configuration variable, creating it if it doesn't exist:
    dolt config --global --add {{name}} {{value}}
  • Delete a local configuration variable:
    dolt config --unset {{name}}
  • Delete a global configuration variable:
    dolt config --global --unset {{name}}

cradle deploy

Manage Cradle deployments. More information: https://cradlephp.github.io/docs/3.B.-Reference-Command-Line-Tools.html#deploy.
  • Deploy Cradle to a server:
    cradle deploy production
  • Deploy static assets to Amazon S3:
    cradle deploy s3
  • Deploy static assets including the Yarn "components" directory:
    cradle deploy s3 --include-yarn
  • Deploy static assets including the "upload" directory:
    cradle deploy s3 --include-upload

skaffold

A tool that facilitates continuous development for Kubernetes applications. More information: https://skaffold.dev.
  • Build the artifacts:
    skaffold build -f {{skaffold.yaml}}
  • Build and deploy your app every time your code changes:
    skaffold dev -f {{skaffold.yaml}}
  • Run a pipeline file:
    skaffold run -f {{skaffold.yaml}}
  • Run a diagnostic on Skaffold:
    skaffold diagnose -f {{skaffold.yaml}}
  • Deploy the artifacts:
    skaffold deploy -f {{skaffold.yaml}}

pickle

A PHP extension installer based on Composer. More information: https://github.com/FriendsOfPHP/pickle.
  • Install a specific PHP extension:
    pickle install {{extension_name}}
  • Convert an existing PECL extension configuration to a Pickle configuration file:
    pickle convert {{path/to/directory}}
  • Validate a PECL extension:
    pickle validate {{path/to/directory}}
  • Package a PECL extension for release:
    pickle release {{path/to/directory}}

eslint

A pluggable linting utility for JavaScript and JSX. More information: https://eslint.org.
  • Create the ESLint config file:
    eslint --init
  • Lint one or more files:
    eslint {{path/to/file1.js path/to/file2.js ...}}
  • Fix lint issues:
    eslint --fix
  • Lint using the specified config:
    eslint -c {{path/to/config_file}} {{path/to/file1.js path/to/file2.js}}

sha256sum

Calculate SHA256 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-utilities.html.
  • Calculate the SHA256 checksum for one or more files:
    sha256sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of SHA256 checksums to a file:
    sha256sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha256}}
  • Calculate a SHA256 checksum from stdin:
    {{command}} | sha256sum
  • Read a file of SHA256 sums and filenames and verify all files have matching checksums:
    sha256sum --check {{path/to/file.sha256}}
  • Only show a message for missing files or when verification fails:
    sha256sum --check --quiet {{path/to/file.sha256}}
  • Only show a message when verification fails, ignoring missing files:
    sha256sum --ignore-missing --check --quiet {{path/to/file.sha256}}

gdaldem

Tool to analyze and visualize digital elevation models (DEM). More information: https://gdal.org/programs/gdaldem.
  • Compute the hillshade of a DEM:
    gdaldem hillshade {{path/to/input.tif}} {{path/to/output.tif}}
  • Compute the slope of a DEM:
    gdaldem slope {{path/to/input.tif}} {{path/to/output.tif}}
  • Compute the aspect of a DEM:
    gdaldem aspect {{path/to/input.tif}} {{path/to/output.tif}}

hg clone

Create a copy of an existing repository in a new directory. More information: https://www.mercurial-scm.org/doc/hg.1.html#clone.
  • Clone a repository to a specified directory:
    hg clone {{remote_repository_source}} {{destination_path}}
  • Clone a repository to the head of a specific branch, ignoring later commits:
    hg clone --branch {{branch}} {{remote_repository_source}}
  • Clone a repository with only the .hg directory, without checking out files:
    hg clone --noupdate {{remote_repository_source}}
  • Clone a repository to a specific revision, tag or branch, keeping the entire history:
    hg clone --updaterev {{revision}} {{remote_repository_source}}
  • Clone a repository up to a specific revision without any newer history:
    hg clone --rev {{revision}} {{remote_repository_source}}

git help

Display help information about Git. More information: https://git-scm.com/docs/git-help.
  • Display help about a specific Git subcommand:
    git help {{subcommand}}
  • Display help about a specific Git subcommand in a web browser:
    git help --web {{subcommand}}
  • Display a list of all available Git subcommands:
    git help --all
  • List the available guides:
    git help --guide
  • List all possible configuration variables:
    git help --config

brittany

Pretty-print Haskell source files. More information: https://github.com/lspitzner/brittany#readme.
  • Format a Haskell source file and print the result to stdout:
    brittany {{path/to/file.hs}}
  • Format all Haskell source files in the current directory in-place:
    brittany --write-mode=inplace {{*.hs}}
  • Check whether a Haskell source file needs changes and indicate the result through the programme's exit code:
    brittany --check-mode {{path/to/file.hs}}
  • Format a Haskell source file using the specified amount of spaces per indentation level and line length:
    brittany --indent {{4}} --columns {{100}} {{path/to/file.hs}}
  • Format a Haskell source file according to the style defined in the specified config file:
    brittany --config-file {{path/to/config.yaml}} {{path/to/file.hs}}

jmtpfs

FUSE-based filesystem for accessing MTP devices. More information: https://manned.org/jmtpfs.
  • Mount an MTP device to a directory:
    jmtpfs {{path/to/directory}}
  • Set mount options:
    jmtpfs -o {{allow_other,auto_unmount}} {{path/to/directory}}
  • List available MTP devices:
    jmtpfs --listDevices
  • If multiple devices are present, mount a specific device:
    jmtpfs -device={{bus_id}},{{device_id}} {{path/to/directory}}
  • Unmount MTP device:
    fusermount -u {{path/to/directory}}

git show-index

Show the packed archive index of a Git repository. More information: https://git-scm.com/docs/git-show-index.
  • Read an IDX file for a Git packfile and dump its contents to stdout:
    git show-index {{path/to/file.idx}}
  • Specify the hash algorithm for the index file (experimental):
    git show-index --object-format={{sha1|sha256}} {{path/to/file}}

slackcat

Utility for passing files and command output to Slack. More information: https://github.com/bcicen/slackcat.
  • Post a file to Slack:
    slackcat --channel {{channel_name}} {{path/to/file}}
  • Post a file to Slack with a custom filename:
    slackcat --channel {{channel_name}} --filename={{filename}} {{path/to/file}}
  • Pipe command output to Slack as a text snippet:
    {{command}} | slackcat --channel {{channel_name}} --filename={{snippet_name}}
  • Stream command output to Slack continuously:
    {{command}} | slackcat --channel {{channel_name}} --stream

q

Execute SQL-like queries on .csv and .tsv files. More information: https://harelba.github.io/q.
  • Query .csv file by specifying the delimiter as ',':
    q -d',' "SELECT * from {{path/to/file}}"
  • Query .tsv file:
    q -t "SELECT * from {{path/to/file}}"
  • Query file with header row:
    q -d{{delimiter}} -H "SELECT * from {{path/to/file}}"
  • Read data from stdin; '-' in the query represents the data from stdin:
    {{output}} | q "select * from -"
  • Join two files (aliased as f1 and f2 in the example) on column c1, a common column:
    q "SELECT * FROM {{path/to/file}} f1 JOIN {{path/to/other_file}} f2 ON (f1.c1 = f2.c1)"
  • Format output using an output delimiter with an output header line (note: command will output column names based on the input file header or the column aliases overridden in the query):
    q -D{{delimiter}} -O "SELECT {{column}} as {{alias}} from {{path/to/file}}"

tye

Developer tool that makes developing, testing, and deploying microservices and distributed applications easier. More information: https://github.com/dotnet/tye.
  • Scaffold a tye.yaml file representing the application:
    tye init
  • Run an application locally:
    tye run
  • Build an application's containers:
    tye build
  • Push an application's containers:
    tye push
  • Deploy an application to Kubernetes:
    tye deploy
  • Remove a deployed application from Kubernetes:
    tye undeploy

kahlan

A unit and Behaviour Driven Development test framework for PHP. More information: https://kahlan.github.io.
  • Run all specifications in the "spec" directory:
    kahlan
  • Run specifications using a specific configuration file:
    kahlan --config={{path/to/configuration_file}}
  • Run specifications and output using a reporter:
    kahlan --reporter={{dot|bar|json|tap|verbose}}
  • Run specifications with code coverage (detail can be between 0 and 4):
    kahlan --coverage={{detail_level}}

pretty-bytes

Convert bytes to a human-readable string. More information: https://github.com/sindresorhus/pretty-bytes-cli.
  • Convert numeric bytes value to a human-readable string:
    pretty-bytes {{1337}}
  • Convert numeric bytes value from stdin to a human-readable string:
    echo {{1337}} | pretty-bytes
  • Display help and usage information:
    pretty-bytes --help

firebase

Test, manage, and deploy Firebase projects. More information: https://github.com/firebase/firebase-tools.
  • Log in to https://console.firebase.google.com:
    firebase login
  • List existing Firebase projects:
    firebase projects:list
  • Start an interactive wizard to create a Firebase project in the current directory:
    firebase init
  • Deploy code and assets to the current Firebase project:
    firebase deploy
  • Start a local server to statically host the current Firebase project's assets:
    firebase serve
  • Start an interactive wizard to open one of many links of the current Firebase project in the default web browser:
    firebase open

chgrp

Change group ownership of files and directories. More information: https://www.gnu.org/software/coreutils/chgrp.
  • Change the owner group of a file/directory:
    chgrp {{group}} {{path/to/file_or_directory}}
  • Recursively change the owner group of a directory and its contents:
    chgrp -R {{group}} {{path/to/directory}}
  • Change the owner group of a symbolic link:
    chgrp -h {{group}} {{path/to/symlink}}
  • Change the owner group of a file/directory to match a reference file:
    chgrp --reference={{path/to/reference_file}} {{path/to/file_or_directory}}

pueue status

Display the current status of all tasks. More information: https://github.com/Nukesor/pueue.
  • Show the status of all tasks:
    pueue status
  • Show the status of a specific group:
    pueue status --group {{group_name}}

phpunit

PHPUnit command-line test runner. More information: https://phpunit.de.
  • Run tests in the current directory. Note: Expects you to have a 'phpunit.xml':
    phpunit
  • Run tests in a specific file:
    phpunit {{path/to/TestFile.php}}
  • Run tests annotated with the given group:
    phpunit --group {{name}}
  • Run tests and generate a coverage report in HTML:
    phpunit --coverage-html {{path/to/directory}}

copyq

Clipboard manager with advanced features. More information: https://copyq.readthedocs.io/en/latest/command-line.html.
  • Launch CopyQ to store clipboard history:
    copyq
  • Show current clipboard content:
    copyq clipboard
  • Insert raw text into the clipboard history:
    copyq add -- {{text1}} {{text2}} {{text3}}
  • Insert text containing escape sequences ('\n', '\t') into the clipboard history:
    copyq add {{firstline\nsecondline}}
  • Print the content of the first 3 items in the clipboard history:
    copyq read 0 1 2
  • Copy a file's contents into the clipboard:
    copyq copy < {{file.txt}}
  • Copy a JPEG image into the clipboard:
    copyq copy image/jpeg < {{image.jpg}}

docker save

Export one or more docker images to archive. More information: https://docs.docker.com/engine/reference/commandline/save/.
  • Save an image by redirecting stdout to a tar archive:
    docker save {{image}}:{{tag}} > {{path/to/file.tar}}
  • Save an image to a tar archive:
    docker save --output {{path/to/file.tar}} {{image}}:{{tag}}
  • Save all tags of the image:
    docker save --output {{path/to/file.tar}} {{image_name}}
  • Cherry-pick particular tags of an image to save:
    docker save --output {{path/to/file.tar}} {{image_name:tag1 image_name:tag2 ...}}

hydra

Online password guessing tool. Protocols supported include FTP, HTTP(S), SMTP, SNMP, XMPP, SSH, and more. More information: https://github.com/vanhauser-thc/thc-hydra.
  • Start Hydra's wizard:
    hydra-wizard
  • Guess SSH credentials using a given username and a list of passwords:
    hydra -l {{username}} -P {{path/to/wordlist.txt}} {{host_ip}} {{ssh}}
  • Guess HTTPS webform credentials using two specific lists of usernames and passwords ("https_post_request" can be like "username=^USER^&password=^PASS^"):
    hydra -L {{path/to/usernames.txt}} -P {{path/to/wordlist.txt}} {{host_ip}} {{https-post-form}} "{{url_without_host}}:{{https_post_request}}:{{login_failed_string}}"
  • Guess FTP credentials using usernames and passwords lists, specifying the number of threads:
    hydra -L {{path/to/usernames.txt}} -P {{path/to/wordlist.txt}} -t {{n_tasks}} {{host_ip}} {{ftp}}
  • Guess MySQL credentials using a username and a passwords list, exiting when a username/password pair is found:
    hydra -l {{username}} -P {{path/to/wordlist.txt}} -f {{host_ip}} {{mysql}}
  • Guess RDP credentials using a username and a passwords list, showing each attempt:
    hydra -l {{username}} -P {{path/to/wordlist.txt}} -V {{rdp://host_ip}}
  • Guess IMAP credentials on a range of hosts using a list of colon-separated username/password pairs:
    hydra -C {{path/to/username_password_pairs.txt}} {{imap://[host_range_cidr]}}
  • Guess POP3 credentials on a list of hosts using usernames and passwords lists, exiting when a username/password pair is found:
    hydra -L {{path/to/usernames.txt}} -P {{path/to/wordlist.txt}} -M {{path/to/hosts.txt}} -F {{pop3}}

salt-key

Manages salt minion keys on the salt master. Needs to be run on the salt master, likely as root or with sudo. More information: https://docs.saltstack.com/ref/cli/salt-key.html.
  • List all accepted, unaccepted and rejected minion keys:
    salt-key -L
  • Accept a minion key by name:
    salt-key -a {{MINION_ID}}
  • Reject a minion key by name:
    salt-key -r {{MINION_ID}}
  • Print fingerprints of all public keys:
    salt-key -F

kool

Build software development environments. More information: https://kool.dev/docs/.
  • Create a project using a specific preset:
    kool create {{preset}} {{project_name}}
  • Run a specific script defined in the kool.yml file in the current directory:
    kool run {{script}}
  • Start/stop services in the current directory:
    kool {{start|stop}}
  • Display status of the services in the current directory:
    kool status
  • Update to the latest version:
    kool self-update
  • Print the completion script for the specified shell:
    kool completion {{bash|fish|powershell|zsh}}

xplr

Terminal-based file system explorer. More information: https://xplr.dev.
  • Open a directory:
    xplr {{path/to/directory}}
  • Focus on a file:
    xplr {{path/to/file}}
  • Focus on a directory:
    xplr --force-focus {{path/to/directory}}
  • Open a directory with specific files or directories selected:
    xplr {{path/to/directory}} {{path/to/selected_file_or_directory1}} {{path/to/selected_file_or_directory2}}

fmt

Reformat a text file by joining its paragraphs and limiting the line width to given number of characters (75 by default). More information: https://www.gnu.org/software/coreutils/fmt.
  • Reformat a file:
    fmt {{path/to/file}}
  • Reformat a file producing output lines of (at most) n characters:
    fmt -w {{n}} {{path/to/file}}
  • Reformat a file without joining lines shorter than the given width together:
    fmt -s {{path/to/file}}
  • Reformat a file with uniform spacing (1 space between words and 2 spaces between paragraphs):
    fmt -u {{path/to/file}}

phpcpd

A copy and paste detector for PHP code. More information: https://github.com/sebastianbergmann/phpcpd.
  • Analyze duplicated code for a specific file or directory:
    phpcpd {{path/to/file_or_directory}}
  • Analyze using fuzzy matching for variable names:
    phpcpd --fuzzy {{path/to/file_or_directory}}
  • Specify a minimum number of identical lines (defaults to 5):
    phpcpd --min-lines {{number_of_lines}} {{path/to/file_or_directory}}
  • Specify a minimum number of identical tokens (defaults to 70):
    phpcpd --min-tokens {{number_of_tokens}} {{path/to/file_or_directory}}
  • Exclude a directory from analysis (must be relative to the source):
    phpcpd --exclude {{path/to/excluded_directory}} {{path/to/file_or_directory}}
  • Output the results to a PHP-CPD XML file:
    phpcpd --log-pmd {{path/to/log_file}} {{path/to/file_or_directory}}

scd

File manager focused on shell integration. More information: https://github.com/cshuaimin/scd.
  • Index paths recursively for the very first run:
    scd -ar {{path/to/directory}}
  • Change to a specific directory:
    scd {{path/to/directory}}
  • Change to a path matching specific patterns:
    scd "{{pattern1 pattern2 ...}}"
  • Show selection menu and ranking of 20 most likely directories:
    scd -v
  • Add a specific alias for the current directory:
    scd --alias={{word}}
  • Change to a directory using a specific alias:
    scd {{word}}


help2man

Produce simple man pages from an executable's --help and --version output. More information: https://www.gnu.org/software/help2man.
  • Generate a man page for an executable:
    help2man {{executable}}
  • Specify the "name" paragraph in the man page:
    help2man {{executable}} --name {{name}}
  • Specify the section for the man page (defaults to 1):
    help2man {{executable}} --section {{section}}
  • Output to a file instead of stdout:
    help2man {{executable}} --output {{path/to/file}}
  • Display detailed help:
    help2man --help

lex

Lexical analyzer generator. Given the specification for a lexical analyzer, generates C code implementing it. More information: https://manned.org/lex.1.
  • Generate an analyzer from a Lex file:
    lex {{analyzer.l}}
  • Specify the output file:
    lex -t {{analyzer.l}} > {{analyzer.c}}
  • Compile a C file generated by Lex:
    c99 {{path/to/lex.yy.c}} -o {{executable}}

pueue

A task management tool for sequential and parallel execution of long-running tasks. Some subcommands such as pueue add have their own usage documentation. More information: https://github.com/Nukesor/pueue.
  • Show general help and available subcommands:
    pueue --help
  • Check the version of pueue:
    pueue --version
  • Execute a pueue subcommand:
    pueue {{subcommand}}

vim

Vim (Vi IMproved), a command-line text editor, provides several modes for different kinds of text manipulation. Pressing i in normal mode enters insert mode. Pressing <Esc> goes back to normal mode, which enables the use of Vim commands. See also vimdiff, vimtutor, nvim. More information: https://www.vim.org.
  • Open a file:
    vim {{path/to/file}}
  • Open a file at a specified line number:
    vim +{{line_number}} {{path/to/file}}
  • View Vim's help manual:
    :help<Enter>
  • Save and quit the current buffer:
    :wq<Enter>
  • Enter normal mode and undo the last operation:
    <ESC>u
  • Search for a pattern in the file (press n/N to go to next/previous match):
    /{{search_pattern}}<Enter>
  • Perform a regular expression substitution in the whole file:
    :%s/{{regular_expression}}/{{replacement}}/g<Enter>
  • Display the line numbers:
    :set nu<Enter>

tlmgr key

Manage GPG keys used to verify TeX Live databases. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all keys for TeX Live:
    tlmgr key list
  • Add a key from a specific file:
    sudo tlmgr key add {{path/to/key.gpg}}
  • Add a key from stdin:
    cat {{path/to/key.gpg}} | sudo tlmgr key add -
  • Remove a specific key by its ID:
    sudo tlmgr key remove {{key_id}}

mitmproxy

An interactive man-in-the-middle HTTP proxy. See also: mitmweb. More information: https://docs.mitmproxy.org/stable/concepts-options.
  • Start mitmproxy with default settings:
    mitmproxy
  • Start mitmproxy bound to a custom address and port:
    mitmproxy --listen-host {{ip_address}} --listen-port {{port}}
  • Start mitmproxy using a script to process traffic:
    mitmproxy --scripts {{path/to/script.py}}
  • Export the logs with SSL/TLS master keys to external programs (wireshark, etc.):
    SSLKEYLOGFILE="{{path/to/file}}" mitmproxy

linode-cli nodebalancers

Manage Linode NodeBalancers. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/nodebalancers/.
  • List all NodeBalancers:
    linode-cli nodebalancers list
  • Create a new NodeBalancer:
    linode-cli nodebalancers create --region {{region}}
  • View details of a specific NodeBalancer:
    linode-cli nodebalancers view {{nodebalancer_id}}
  • Update an existing NodeBalancer:
    linode-cli nodebalancers update {{nodebalancer_id}} --label {{new_label}}
  • Delete a NodeBalancer:
    linode-cli nodebalancers delete {{nodebalancer_id}}
  • List configurations for a NodeBalancer:
    linode-cli nodebalancers configs list {{nodebalancer_id}}
  • Add a new configuration to a NodeBalancer:
    linode-cli nodebalancers configs create {{nodebalancer_id}} --port {{port}} --protocol {{protocol}}

ffe

Extract fields from a flat database file and write to another format. A configuration file is required to interpret the input and format the output. More information: http://ff-extractor.sourceforge.net/ffe.html.
  • Display all input data using the specified data configuration:
    ffe --configuration={{path/to/config.ffe}} {{path/to/input}}
  • Convert an input file to an output file in a new format:
    ffe --output={{path/to/output}} -c {{path/to/config.ffe}} {{path/to/input}}
  • Select input structure and print format from definitions in ~/.fferc config file:
    ffe --structure={{structure}} --print={{format}} {{path/to/input}}
  • Write only the selected fields:
    ffe --field-list="{{FirstName,LastName,Age}}" -c {{path/to/config.ffe}} {{path/to/input}}
  • Write only the records that match an expression:
    ffe -e "{{LastName=Smith}}" -c {{path/to/config.ffe}} {{path/to/input}}
  • Display help:
    ffe --help

podman rmi

Remove one or more Podman images. More information: https://docs.podman.io/en/latest/markdown/podman-rmi.1.html.
  • Remove one or more images given their names:
    podman rmi {{image:tag}} {{image2:tag}} {{...}}
  • Force remove an image:
    podman rmi --force {{image}}
  • Remove an image without deleting untagged parents:
    podman rmi --no-prune {{image}}
  • Display help:
    podman rmi

yesod

Helper tool for Yesod, a Haskell-based web framework. All Yesod commands are invoked through the stack project manager. More information: https://github.com/yesodweb/yesod.
  • Create a new scaffolded site, with SQLite as backend, in the my-project directory:
    stack new {{my-project}} {{yesod-sqlite}}
  • Install the Yesod CLI tool within a Yesod scaffolded site:
    stack build yesod-bin cabal-install --install-ghc
  • Start development server:
    stack exec -- yesod devel
  • Touch files with altered Template Haskell dependencies:
    stack exec -- yesod touch
  • Deploy application using Keter (Yesod's deployment manager):
    stack exec -- yesod keter

dolt

Dolt is an SQL database that you can fork, clone, branch, merge, push and pull just like a Git repository. Some subcommands such as dolt commit have their own usage documentation. More information: https://github.com/dolthub/dolt.
  • Execute a dolt subcommand:
    dolt {{subcommand}}
  • List available subcommands:
    dolt help

oc

The OpenShift Container Platform CLI. Allows for application and container management. More information: https://docs.openshift.com/container-platform/3.11/cli_reference/get_started_cli.html.
  • Log in to the OpenShift Container Platform server:
    oc login
  • Create a new project:
    oc new-project {{project_name}}
  • Switch to an existing project:
    oc project {{project_name}}
  • Add a new application to a project:
    oc new-app {{repo_url}} --name {{application}}
  • Open a remote shell session to a container:
    oc rsh {{pod_name}}
  • List pods in a project:
    oc get pods
  • Log out from the current session:
    oc logout

cloudflared

Command-line tool to create a persistent connection to the Cloudflare network. More information: https://developers.cloudflare.com/argo-tunnel/.
  • Authenticate and associate the connection to a domain in the Cloudflare account:
    cloudflared tunnel login
  • Establish a tunnel to a host in Cloudflare from the local server:
    cloudflared tunnel --hostname {{hostname}} localhost:{{port_number}}
  • Establish a tunnel to a host in Cloudflare from the local server, without verifying the local server's certificate:
    cloudflared tunnel --hostname {{hostname}} localhost:{{port_number}} --no-tls-verify
  • Save logs to a file:
    cloudflared tunnel --hostname {{hostname}} http://localhost:{{port_number}} --loglevel {{panic|fatal|error|warn|info|debug}} --logfile {{path/to/file}}
  • Install cloudflared as a system service:
    cloudflared service install

traefik

An HTTP reverse proxy and load balancer. More information: https://traefik.io.
  • Start server with default config:
    traefik
  • Start server with a custom config file:
    traefik --c {{config_file}}.toml
  • Start server with cluster mode enabled:
    traefik --cluster
  • Start server with web UI enabled:
    traefik --web

git config

Manage custom configuration options for Git repositories. These configurations can be local (for the current repository) or global (for the current user). More information: https://git-scm.com/docs/git-config.
  • List only local configuration entries (stored in .git/config in the current repository):
    git config --list --local
  • List only global configuration entries (stored in ~/.gitconfig by default or in $XDG_CONFIG_HOME/git/config if such a file exists):
    git config --list --global
  • List only system configuration entries (stored in /etc/gitconfig), and show their file location:
    git config --list --system --show-origin
  • Get the value of a given configuration entry:
    git config alias.unstage
  • Set the global value of a given configuration entry:
    git config --global alias.unstage "reset HEAD --"
  • Revert a global configuration entry to its default value:
    git config --global --unset alias.unstage
  • Edit the Git configuration for the current repository in the default editor:
    git config --edit
  • Edit the global Git configuration in the default editor:
    git config --global --edit

st-info

Provides information about connected STLink and STM32 devices. More information: https://github.com/texane/stlink.
  • Display amount of program memory available:
    st-info --flash
  • Display amount of SRAM memory available:
    st-info --sram
  • Display summarized information of the device:
    st-info --probe

unflatten

Adjust directed graphs to improve the layout aspect ratio. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://www.graphviz.org/pdf/unflatten.1.pdf.
  • Adjust one or more directed graphs to improve the layout aspect ratio:
    unflatten {{path/to/input1.gv}} {{path/to/input2.gv ...}} > {{path/to/output.gv}}
  • Use unflatten as a preprocessor for dot layout to improve aspect ratio:
    unflatten {{path/to/input.gv}} | dot -T {{png}} {{path/to/output.png}}
  • Display help for unflatten:
    unflatten -?

git var

Prints a Git logical variable's value. See git config, which is preferred over git var. More information: https://git-scm.com/docs/git-var.
  • Print the value of a Git logical variable:
    git var {{GIT_AUTHOR_IDENT|GIT_COMMITTER_IDENT|GIT_EDITOR|GIT_PAGER}}
  • [l]ist all Git logical variables:
    git var -l

zipnote

View, add, or edit a zip archive's comments. Files can also be renamed in the zip archive. More information: https://manned.org/zipnote.
  • View the comments on a zip archive:
    zipnote {{path/to/file.zip}}
  • Extract the comments on a zip archive to a file:
    zipnote {{path/to/file.zip}} > {{path/to/file.txt}}
  • Add/Update comments in a zip archive from a file:
    zipnote -w {{path/to/file.zip}} < {{path/to/file.txt}}

wuzz

Tool to interactively inspect HTTP requests and responses. More information: https://github.com/asciimoo/wuzz.
  • Start wuzz:
    wuzz
  • Display help information:
    F1
  • Send an HTTP request:
    Ctrl + R
  • Switch to the next view:
    Ctrl + J, Tab
  • Switch to the previous view:
    Ctrl + K, Shift + Tab

hg status

Show files that have changed in the working directory. More information: https://www.mercurial-scm.org/doc/hg.1.html#status.
  • Display the status of changed files:
    hg status
  • Display only modified files:
    hg status --modified
  • Display only added files:
    hg status --added
  • Display only removed files:
    hg status --removed
  • Display only deleted (but tracked) files:
    hg status --deleted
  • Display changes in the working directory compared to a specified changeset:
    hg status --rev {{revision}}
  • Display only files matching a specified glob pattern:
    hg status --include {{pattern}}
  • Display files, excluding those that match a specified glob pattern:
    hg status --exclude {{pattern}}

git summary

Display information about a Git repository. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-summary.
  • Display data about a Git repository:
    git summary
  • Display data about a Git repository since a commit-ish:
    git summary {{commit|branch_name|tag_name}}
  • Display data about a Git repository, merging committers using different emails into 1 statistic for each author:
    git summary --dedup-by-email
  • Display data about a Git repository, showing the number of lines modified by each contributor:
    git summary --line

calendar

Display upcoming events from a calendar file. More information: https://www.commandlinux.com/man-page/man1/calendar.1.html.
  • Show events for today and tomorrow (or the weekend on Friday) from the default calendar:
    calendar
  • Look [A]head, showing events for the next 30 days:
    calendar -A {{30}}
  • Look [B]ack, showing events for the previous 7 days:
    calendar -B {{7}}
  • Show events from a custom calendar [f]ile:
    calendar -f {{path/to/file}}

gvpack

Combine several graph layouts (that already have layout information). Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/gvpack.1.pdf.
  • Combine several graph layouts (that already have layout information):
    gvpack {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Combine several graph layouts at the graph level, keeping graphs separate:
    gvpack -g {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Combine several graph layouts at the node level, ignoring clusters:
    gvpack -n {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Combine several graph layouts without packing:
    gvpack -u {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Display help for gvpack:
    gvpack -?

kubectl delete

Delete Kubernetes resources. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#delete.
  • Delete a specific pod:
    kubectl delete pod {{pod_name}}
  • Delete a specific deployment:
    kubectl delete deployment {{deployment_name}}
  • Delete a specific node:
    kubectl delete node {{node_name}}
  • Delete all pods in a specified namespace:
    kubectl delete pods --all --namespace {{namespace}}
  • Delete all deployments and services in a specified namespace:
    kubectl delete deployments,services --all --namespace {{namespace}}
  • Delete all nodes:
    kubectl delete nodes --all
  • Delete resources defined in a YAML manifest:
    kubectl delete --filename {{path/to/manifest.yaml}}

strings

Find printable strings in an object file or binary. More information: https://manned.org/strings.
  • Print all strings in a binary:
    strings {{path/to/file}}
  • Limit results to strings at least length characters long:
    strings -n {{length}} {{path/to/file}}
  • Prefix each result with its offset within the file:
    strings -t d {{path/to/file}}
  • Prefix each result with its offset within the file in hexadecimal:
    strings -t x {{path/to/file}}

maestral

A lightweight Dropbox client for macOS and Linux. More information: https://maestral.app/cli.
  • Start the GUI:
    maestral gui
  • Print current status of Maestral:
    maestral status
  • Pause syncing:
    maestral pause
  • Resume syncing:
    maestral resume
  • Print sync status of a specific file or folder:
    maestral filestatus {{path/to/file_or_directory}}

nth

Name That Hash - Instantly name the type of any hash. More information: https://github.com/hashpals/name-that-hash.
  • Name a hash:
    nth -t {{5f4dcc3b5aa765d61d8327deb882cf99}}
  • Name hashes in a file:
    nth -f {{path/to/hashes}}
  • Output in json format:
    nth -t {{5f4dcc3b5aa765d61d8327deb882cf99}} -g
  • Decode hash in Base64 before naming it:
    nth -t {{NWY0ZGNjM2I1YWE3NjVkNjFkODMyN2RlYjg4MmNmOTkK}} -b64

tailscale up

Connects the client to the Tailscale network. In version 1.8 and above, command-line arguments are stored and reused until they're overwritten or --reset is called. More information: https://tailscale.com/kb/admin/.
  • Connect to Tailscale:
    sudo tailscale up
  • Connect and offer the current machine to be an exit node for internet traffic:
    sudo tailscale up --advertise-exit-node
  • Connect using a specific node for internet traffic:
    sudo tailscale up --exit-node={{exit_node_ip}}
  • Connect and block incoming connections to the current node:
    sudo tailscale up --shields-up
  • Connect and don't accept DNS configuration from the admin panel (defaults to true):
    sudo tailscale up --accept-dns={{false}}
  • Connect and configure Tailscale as a subnet router:
    sudo tailscale up --advertise-routes={{10.0.0.0/24}},{{10.0.1.0/24}}
  • Connect and accept subnet routes from Tailscale:
    sudo tailscale up --accept-routes
  • Reset unspecified settings to their default values and connect:
    sudo tailscale up --reset

curl

Transfers data from or to a server. Supports most protocols, including HTTP, FTP, and POP3. More information: https://curl.se/docs/manpage.html.
  • Download the contents of a URL to a file:
    curl {{http://example.com}} --output {{path/to/file}}
  • Download a file, saving the output under the filename indicated by the URL:
    curl --remote-name {{http://example.com/filename}}
  • Download a file, following location redirects, and automatically continuing (resuming) a previous file transfer and return an error on server error:
    curl --fail --remote-name --location --continue-at - {{http://example.com/filename}}
  • Send form-encoded data (POST request of type application/x-www-form-urlencoded). Use --data @file_name or --data @'-' to read from STDIN:
    curl --data {{'name=bob'}} {{http://example.com/form}}
  • Send a request with an extra header, using a custom HTTP method:
    curl --header {{'X-My-Header: 123'}} --request {{PUT}} {{http://example.com}}
  • Send data in JSON format, specifying the appropriate content-type header:
    curl --data {{'{"name":"bob"}'}} --header {{'Content-Type: application/json'}} {{http://example.com/users/1234}}
  • Pass a username and password for server authentication:
    curl --user myusername:mypassword {{http://example.com}}
  • Pass client certificate and key for a resource, skipping certificate validation:
    curl --cert {{client.pem}} --key {{key.pem}} --insecure {{https://example.com}}

cradle sql

Manage Cradle SQL databases. More information: https://cradlephp.github.io/docs/3.B.-Reference-Command-Line-Tools.html#sql.
  • Rebuild the database schema:
    cradle sql build
  • Rebuild the database schema for a specific package:
    cradle sql build {{package}}
  • Empty the entire database:
    cradle sql flush
  • Empty the database tables for a specific package:
    cradle sql flush {{package}}
  • Populate the tables for all packages:
    cradle sql populate
  • Populate the tables for a specific package:
    cradle sql populate {{package}}

git cp

Copy an existing file to a new location, preserving history. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-cp.
  • Copy an existing file in a Git repo, staying in the same directory:
    git cp {{file}} {{new_file}}
  • Copy an existing file in a Git repo and place it elsewhere:
    git cp {{path/to/file}} {{path/to/new_file}}

spotdl

Download Spotify playlists and songs along with metadata. More information: https://github.com/spotDL/spotify-downloader.
  • Download songs from the provided URLs and embed metadata:
    spotdl {{open.spotify.com/playlist/playlistId open.spotify.com/track/trackId ...}}
  • Start a web interface to download individual songs:
    spotdl web
  • Save only the metadata without downloading anything:
    spotdl save {{open.spotify.com/playlist/playlistId ...}} --save-file {{path/to/save_file.spotdl}}

jobs

Display status of jobs in the current session. More information: https://manned.org/jobs.
  • Show status of all jobs:
    jobs
  • Show status of a particular job:
    jobs %{{job_id}}
  • Show status and process IDs of all jobs:
    jobs -l
  • Show process IDs of all jobs:
    jobs -p

mysqlcheck

Check and repair MySQL tables. More information: https://dev.mysql.com/doc/refman/8.0/en/mysqlcheck.html.
  • Check a table:
    mysqlcheck --check {{table}}
  • Check a table and provide credentials to access it:
    mysqlcheck --check {{table}} --user {{username}} --password {{password}}
  • Repair a table:
    mysqlcheck --repair {{table}}
  • Optimize a table:
    mysqlcheck --optimize {{table}}

optipng

PNG file optimization utility. More information: http://optipng.sourceforge.net.
  • Compress a PNG with default settings:
    optipng {{path/to/file.png}}
  • Compress a PNG with the best compression:
    optipng -o{{7}} {{path/to/file.png}}
  • Compress a PNG with the fastest compression:
    optipng -o{{0}} {{path/to/file.png}}
  • Compress a PNG and add interlacing:
    optipng -i {{1}} {{path/to/file.png}}
  • Compress a PNG and preserve all metadata (including file timestamps):
    optipng -preserve {{path/to/file.png}}
  • Compress a PNG and remove all metadata:
    optipng -strip all {{path/to/file.png}}

conda

Package, dependency and environment management for any programming language. Some subcommands such as conda create have their own usage documentation. More information: https://github.com/conda/conda.
  • Create a new environment, installing named packages into it:
    conda create --name {{environment_name}} {{python=3.9 matplotlib}}
  • List all environments:
    conda info --envs
  • Load an environment:
    conda activate {{environment_name}}
  • Unload an environment:
    conda deactivate
  • Delete an environment (remove all packages):
    conda remove --name {{environment_name}} --all
  • Install packages into the current environment:
    conda install {{python=3.4 numpy}}
  • List currently installed packages in current environment:
    conda list
  • Delete unused packages and caches:
    conda clean --all

az version

Shows the current version of Azure CLI modules and extensions. Part of az, the command-line client for Microsoft Azure. More information: https://learn.microsoft.com/cli/azure/reference-index?view=azure-cli-latest#az-version.
  • Show the current version of Azure CLI modules and extensions in JSON format:
    az version
  • Show the current version of Azure CLI modules and extensions in a given format:
    az version --output {{json|table|tsv}}

notmuch

Command-line based program for indexing, searching, reading, and tagging large collections of email messages. More information: https://notmuchmail.org/manpages/.
  • Configure for first use:
    notmuch setup
  • Add a tag for all messages matching a search term:
    notmuch tag +{{custom_tag}} "{{search_term}}"
  • Remove a tag for all messages matching a search term:
    notmuch tag -{{custom_tag}} "{{search_term}}"
  • Count messages matching the given search term:
    notmuch count --output={{messages|threads}} "{{search_term}}"
  • Search for messages matching the given search term:
    notmuch search --format={{json|text}} --output={{summary|threads|messages|files|tags}} "{{search_term}}"
  • Limit the number of search results to X:
    notmuch search --format={{json|text}} --output={{summary|threads|messages|files|tags}} --limit={{X}} "{{search_term}}"
  • Create a reply template for a set of messages:
    notmuch reply --format={{default|headers-only}} --reply-to={{sender|all}} "{{search_term}}"

rarcrack

Password cracker for rar, zip and 7z archives.
  • Brute force the password for an archive (tries to guess the archive type):
    rarcrack {{path/to/file.zip}}
  • Specify the archive type:
    rarcrack --type {{rar|zip|7z}} {{path/to/file.zip}}
  • Use multiple threads:
    rarcrack --threads {{6}} {{path/to/file.zip}}

gh alias

Manage GitHub CLI command aliases. More information: https://cli.github.com/manual/gh_alias.
  • Display the subcommand help:
    gh alias
  • List all the aliases gh is configured to use:
    gh alias list
  • Create a gh subcommand alias:
    gh alias set {{pv}} '{{pr view}}'
  • Set a shell command as a gh subcommand:
    gh alias set --shell {{alias_name}} {{command}}
  • Delete a command shortcut:
    gh alias delete {{alias_name}}

picard

Next generation MusicBrainz tagging application. More information: https://picard.musicbrainz.org/.
  • Start Picard:
    picard
  • Open a set of files:
    picard {{path/to/file1.mp3}} {{path/to/file2.mp3}}
  • Display the version of Picard installed:
    picard --long-version

audacious

An open-source audio player. More information: https://audacious-media-player.org.
  • Launch the program:
    audacious
  • Enqueue a specific directory of audio files:
    audacious --enqueue {{path/to/directory}}
  • Start or stop playback:
    audacious --play-pause
  • Skip forwards or backwards in the playlist:
    audacious --{{fwd|rew}}
  • Stop playback:
    audacious --stop
  • Start a headless version:
    audacious --headless
  • Exit as soon as playback stops or there is nothing to playback:
    audacious --quit-after-play

gimp

GNU image manipulation program. See also: krita. More information: https://docs.gimp.org/en/gimp-fire-up.html#gimp-concepts-running-command-line.
  • Start GIMP:
    gimp
  • Open specific files:
    gimp {{path/to/image1 path/to/image2 ...}}
  • Open specific files in a new window:
    gimp --new-instance {{path/to/image1 path/to/image2 ...}}
  • Start without a splash screen:
    gimp --no-splash
  • Print errors and warnings to the console instead of showing them in a dialog box:
    gimp --console-messages
  • Enable debugging signal handlers:
    gimp --debug-handlers

awk

A versatile programming language for working on files. More information: https://github.com/onetrueawk/awk.
  • Print the fifth column (a.k.a. field) in a space-separated file:
    awk '{print $5}' {{path/to/file}}
  • Print the second column of the lines containing "foo" in a space-separated file:
    awk '/{{foo}}/ {print $2}' {{path/to/file}}
  • Print the last column of each line in a file, using a comma (instead of space) as a field separator:
    awk -F ',' '{print $NF}' {{path/to/file}}
  • Sum the values in the first column of a file and print the total:
    awk '{s+=$1} END {print s}' {{path/to/file}}
  • Print every third line starting from the first line:
    awk 'NR%3==1' {{path/to/file}}
  • Print different values based on conditions:
    awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' {{path/to/file}}
  • Print all lines where the 10th column value equals the specified value:
    awk '($10 == value)'
  • Print all the lines which the 10th column value is between a min and a max:
    awk '($10 >= min_value && $10 <= max_value)'

aircrack-ng

Crack WEP and WPA/WPA2 keys from handshake in captured packets. Part of Aircrack-ng network software suite. More information: https://www.aircrack-ng.org/doku.php?id=aircrack-ng.
  • Crack key from capture file using [w]ordlist:
    aircrack-ng -w {{path/to/wordlist.txt}} {{path/to/capture.cap}}
  • Crack key from capture file using [w]ordlist and the access point's [e]ssid:
    aircrack-ng -w {{path/to/wordlist.txt}} -e {{essid}} {{path/to/capture.cap}}
  • Crack key from capture file using [w]ordlist and the access point's MAC address:
    aircrack-ng -w {{path/to/wordlist.txt}} --bssid {{mac}} {{path/to/capture.cap}}


gifdiff

Compare two GIFs for identical visual appearance. See also: gifsicle. More information: https://www.lcdf.org/gifsicle.
  • Check how GIFs differ:
    gifdiff {{path/to/first.gif}} {{path/to/second.gif}}
  • Check if GIFs differ:
    gifdiff --brief {{path/to/first.gif}} {{path/to/second.gif}}

rainbowstream

Terminal-based Twitter client supporting realtime tweetstream, trends, sending, search, favorites and user management. Online help with h, up and down arrows for history, tab to auto-complete and 2-tab for suggestion. More information: https://github.com/orakaro/rainbowstream.
  • Open RainbowStream:
    rainbowstream
  • Show your timeline (optional number of tweets to display, default is 5):
    home [{{num_of_last_tweets}}]
  • Show profile of a given user:
    whois @{{user}}
  • Tweet the message as-is:
    t {{message}}
  • Retweet the tweet with given ID (ID is beside the time):
    rt {{tweet_id}}
  • Favorite the tweet with given ID:
    fav {{tweet_id}}
  • Perform a search for a given word (with or without hashtag):
    s {{word}}

eget

Easily install prebuilt binaries from GitHub. More information: https://github.com/zyedidia/eget.
  • Download a prebuilt binary for the current system from a repository on GitHub:
    eget {{zyedidia/micro}}
  • Download from a URL:
    eget {{https://go.dev/dl/go1.17.5.linux-amd64.tar.gz}}
  • Specify the location to place the downloaded files:
    eget {{zyedidia/micro}} --to={{path/to/directory}}
  • Specify a git tag instead of using the latest version:
    eget {{zyedidia/micro}} --tag={{v2.0.10}}
  • Install the latest pre-release instead of the latest stable version:
    eget {{zyedidia/micro}} --pre-release
  • Only download the asset, skipping extraction:
    eget {{zyedidia/micro}} --download-only
  • Only download if there is a newer release then the currently downloaded version:
    eget {{zyedidia/micro}} --upgrade-only

roll

Rolls a user-defined dice sequence. More information: https://manned.org/roll.
  • Roll 3 6-sided dice and sums the results:
    roll {{3d}}
  • Roll 1 8-sided die, add 3 and sum the results:
    roll {{d8 + 3}}
  • Roll 4 6-sided dice, keep the 3 highest results and sum the results:
    roll {{4d6h3}}
  • Roll 2 12-sided dice 2 times and show every roll:
    roll --verbose {{2{2d12}}}
  • Roll 2 20-sided dice until the result is bigger than 10:
    roll "{{2d20>10}}"
  • Roll 2 5-sided dice 3 times and show the total sum:
    roll --sum-series {{3{2d5}}}

zstd

Compress or decompress files with Zstandard compression. More information: https://github.com/facebook/zstd.
  • Compress a file into a new file with the .zst suffix:
    zstd {{path/to/file}}
  • Decompress a file:
    zstd --decompress {{path/to/file.zst}}
  • Decompress to stdout:
    zstd --decompress --stdout {{path/to/file.zst}}
  • Compress a file specifying the compression level, where 1=fastest, 19=slowest and 3=default:
    zstd -{{level}} {{path/to/file}}
  • Unlock higher compression levels (up to 22) using more memory (both for compression and decompression):
    zstd --ultra -{{level}} {{path/to/file}}

pdftex

Compile a PDF document from TeX source files. More information: https://www.tug.org/applications/pdftex/.
  • Compile a PDF document:
    pdftex {{source.tex}}
  • Compile a PDF document, specifying an output directory:
    pdftex -output-directory={{path/to/directory}} {{source.tex}}
  • Compile a PDF document, exiting on each error:
    pdftex -halt-on-error {{source.tex}}

inkview

Inkscape graphical SVG previewer. Also functions as a slideshow viewer. More information: http://wiki.inkscape.org/wiki/index.php/Inkview.
  • Preview an SVG:
    inkview {{path/to/file.svg}}
  • Preview multiple SVGs (use arrow keys to navigate):
    inkview {{path/to/file_a.svg}} {{path/to/file_b.svg}} {{path/to/file_c.svg}}

opusenc

Convert WAV or FLAC audio to Opus. More information: https://opus-codec.org/docs/opus-tools/opusenc.html.
  • Convert WAV to Opus using default options:
    opusenc {{path/to/input.wav}} {{path/to/output}}.opus
  • Convert stereo audio at the highest quality level:
    opusenc --bitrate {{512}} {{path/to/input.wav}} {{path/to/output}}.opus
  • Convert 5.1 surround sound audio at the highest quality level:
    opusenc --bitrate {{1536}} {{path/to/input.flac}} {{path/to/output}}.opus
  • Convert speech audio at the lowest quality level:
    opusenc {{path/to/input.wav}} --downmix-mono --bitrate {{6}} {{path/to/out}}.opus

less

Open a file for interactive reading, allowing scrolling and search. More information: https://greenwoodsoftware.com/less/.
  • Open a file:
    less {{source_file}}
  • Page down/up:
    <Space> (down), b (up)
  • Go to end/start of file:
    G (end), g (start)
  • Forward search for a string (press n/N to go to next/previous match):
    /{{something}}
  • Backward search for a string (press n/N to go to next/previous match):
    ?{{something}}
  • Follow the output of the currently opened file:
    F
  • Open the current file in an editor:
    v
  • Exit:
    q

rss2email

Tool for delivering news from RSS feeds to an email program. More information: https://github.com/rss2email/rss2email.
  • List all feeds:
    r2e list
  • Convert RSS entries to email:
    r2e run
  • Add a feed:
    r2e add {{feed_address}}
  • Add a feed with a specific email address:
    r2e add {{feed_address}} {{[email protected]}}
  • Delete a specific feed:
    r2e delete {{number_of_feed_in_list}}
  • Display help:
    r2e -h

npm-check

Check for outdated, incorrect, and unused npm package dependencies. More information: https://github.com/dylang/npm-check.
  • Display a report of outdated, incorrect, and unused dependencies:
    npm-check
  • Interactively update out-of-date packages:
    npm-check --update
  • Update everything without prompting:
    npm-check --update-all
  • Don't check for unused packages:
    npm-check --skip-unused

id

Display current user and group identity. More information: https://www.gnu.org/software/coreutils/id.
  • Display current user's ID (UID), group ID (GID) and groups to which they belong:
    id
  • Display the current user identity as a number:
    id -u
  • Display the current group identity as a number:
    id -g
  • Display an arbitrary user's ID (UID), group ID (GID) and groups to which they belong:
    id {{username}}

odps resource

Manage resources in ODPS (Open Data Processing Service). See also odps. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Show resources in the current project:
    list resources;
  • Add file resource:
    add file {{filename}} as {{alias}};
  • Add archive resource:
    add archive {{archive.tar.gz}} as {{alias}};
  • Add .jar resource:
    add jar {{package.jar}};
  • Add .py resource:
    add py {{script.py}};
  • Delete resource:
    drop resource {{resource_name}};

umask

Manage the read/write/execute permissions that are masked out (i.e. restricted) for newly created files by the user. More information: https://manned.org/umask.
  • Display the current mask in octal notation:
    umask
  • Display the current mask in symbolic (human-readable) mode:
    umask -S
  • Change the mask symbolically to allow read permission for all users (the rest of the mask bits are unchanged):
    umask {{a+r}}
  • Set the mask (using octal) to restrict no permissions for the file's owner, and restrict all permissions for everyone else:
    umask {{077}}

git stamp

Stamp the last commit message, with the possibility to reference the issues numbers from your bug tracker or link to its review page. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-stamp.
  • Stamp the last commit message referencing it with the issue number from your bug tracker:
    git stamp {{issue_number}}
  • Stamp the last commit message linking it to its review page:
    git stamp {{Review https://example.org/path/to/review}}
  • Stamp the last commit message replacing previous issues with a new one:
    git stamp --replace {{issue_number}}

surfraw

Query a variety of web search engines. Consists of a collection of elvi, each of which knows how to search a specific website. More information: http://surfraw.org.
  • Display the list of supported website search scripts (elvi):
    surfraw -elvi
  • Open the elvi's results page for a specific search in the browser:
    surfraw {{elvi}} "{{search_terms}}"
  • Display an elvi description and its specific options:
    surfraw {{elvi}} -local-help
  • Search using an elvi with specific options and open the results page in the browser:
    surfraw {{elvi}} {{elvi_options}} "{{search_terms}}"
  • Display the URL to the elvi's results page for a specific search:
    surfraw -print {{elvi}} "{{search_terms}}"
  • Search using the alias:
    sr {{elvi}} "{{search_terms}}"

waitress-serve

Pure Python WSGI HTTP Server. More information: https://docs.pylonsproject.org/projects/waitress/en/latest/runner.html.
  • Run a Python web app:
    waitress-serve {{import.path:wsgi_func}}
  • Listen on port 8080 on localhost:
    waitress-serve --listen={{localhost}}:{{8080}} {{import.path:wsgi_func}}
  • Start waitress on a Unix socket:
    waitress-serve --unix-socket={{path/to/socket}} {{import.path:wsgi_func}}
  • Use 4 threads to process requests:
    waitress-serve --threads={{4}} {{import.path:wsgifunc}}
  • Call a factory method that returns a WSGI object:
    waitress-serve --call {{import.path.wsgi_factory}}
  • Set the URL scheme to HTTPS:
    waitress-serve --url-scheme={{https}} {{import.path:wsgi_func}}

acyclic

Make a directed graph acyclic by reversing some edges. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/acyclic.1.pdf.
  • Make a directed graph acyclic by reversing some edges:
    acyclic {{path/to/input.gv}} > {{path/to/output.gv}}
  • Print if a graph is acyclic, has a cycle, or is undirected, producing no output graph:
    acyclic -v -n {{path/to/input.gv}}
  • Display help for acyclic:
    acyclic -?

kubectl describe

Show details of Kubernetes objects and resources. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#describe.
  • Show details of pods in a namespace:
    kubectl describe pods -n {{namespace}}
  • Show details of nodes in a namespace:
    kubectl describe nodes -n {{namespace}}
  • Show the details of a specific pod in a namespace:
    kubectl describe pods {{pod_name}} -n {{namespace}}
  • Show the details of a specific node in a namespace:
    kubectl describe nodes {{node_name}} -n {{namespace}}
  • Show details of Kubernetes objects defined in a YAML manifest:
    kubectl describe -f {{path/to/manifest.yaml}}

fastboot

Communicate with connected Android devices when in bootloader mode (the one place adb doesn't work). More information: https://cs.android.com/android/platform/superproject/+/master:system/core/fastboot.
  • Unlock the bootloader:
    fastboot oem unlock
  • Relock the bootloader:
    fastboot oem lock
  • Reboot the device from fastboot mode into fastboot mode again:
    fastboot reboot bootloader
  • Flash a given image:
    fastboot flash {{file.img}}
  • Flash a custom recovery image:
    fastboot flash recovery {{file.img}}
  • Display connected devices:
    fastboot devices
  • Display all information of a device:
    fastboot getvar all

lein

Manage Clojure projects with declarative configuration. More information: https://leiningen.org.
  • Generate scaffolding for a new project based on a template:
    lein new {{template_name}} {{project_name}}
  • Start a REPL session either with the project or standalone:
    lein repl
  • Run the project's -main function with optional args:
    lein run {{args}}
  • Run the project's tests:
    lein test
  • Package up the project files and all its dependencies into a jar file:
    lein uberjar

ncdu

Disk usage analyzer with an ncurses interface. More information: https://manned.org/ncdu.
  • Analyze the current working directory:
    ncdu
  • Colorize output:
    ncdu --color {{dark|off}}
  • Analyze a given directory:
    ncdu {{path/to/directory}}
  • Save results to a file:
    ncdu -o {{path/to/file}}
  • Exclude files that match a pattern, argument can be given multiple times to add more patterns:
    ncdu --exclude '{{*.txt}}'

pypy

Fast and compliant alternative implementation of the Python language. More information: https://doc.pypy.org.
  • Start a REPL (interactive shell):
    pypy
  • Execute script in a given Python file:
    pypy {{path/to/file.py}}
  • Execute script as part of an interactive shell:
    pypy -i {{path/to/file.py}}
  • Execute a Python expression:
    pypy -c "{{expression}}"
  • Run library module as a script (terminates option list):
    pypy -m {{module}} {{arguments}}
  • Install a package using pip:
    pypy -m pip install {{package}}
  • Interactively debug a Python script:
    pypy -m pdb {{path/to/file.py}}

fastfetch

Display information about your operating system, software and hardware. More information: https://github.com/LinusDierheimer/fastfetch.
  • Display system information:
    fastfetch
  • Set the structure of the fetch:
    fastfetch --structure {{structure}}
  • Load a custom config file:
    fastfetch --load-config {{path/to/config_file}}
  • Set the logo to use:
    fastfetch --logo {{logo}}
  • Set the color of the keys and title:
    fastfetch --color {{blue}}

drupal

Generate boilerplate code, interact with and debug Drupal projects. Some subcommands such as drupal check have their own usage documentation. More information: https://drupalconsole.com/.
  • Install a module:
    drupal module:install {{module_name}}
  • Uninstall a module:
    drupal module:uninstall {{module_name}}
  • Clear all caches:
    drupal cache:rebuild
  • View current Drupal installation status:
    drupal site:status

raco

Racket command-line tools. More information: https://docs.racket-lang.org/raco/.
  • Install a package, automatically installing dependencies:
    raco pkg install --auto {{package_source}}
  • Install the current directory as a package:
    raco pkg install
  • Build (or rebuild) bytecode, documentation, executables, and metadata indexes for collections:
    raco setup {{collection1 collection2 ...}}
  • Run tests in files:
    raco test {{path/to/tests1.rkt path/to/tests2.rkt ...}}
  • Search local documentation:
    raco docs {{search_terms ...}}
  • Display help:
    raco help

pyenv

Switch between multiple versions of Python easily. More information: https://github.com/pyenv/pyenv.
  • List all available commands:
    pyenv commands
  • List all Python versions under the ${PYENV_ROOT}/versions directory:
    pyenv versions
  • List all Python versions that can be installed from upstream:
    pyenv install --list
  • Install a Python version under the ${PYENV_ROOT}/versions directory:
    pyenv install {{2.7.10}}
  • Uninstall a Python version under the ${PYENV_ROOT}/versions directory:
    pyenv uninstall {{2.7.10}}
  • Set Python version to be used globally in the current machine:
    pyenv global {{2.7.10}}
  • Set Python version to be used in the current directory and all directories below it:
    pyenv local {{2.7.10}}

fossil

Distributed version control system. Some subcommands such as fossil commit have their own usage documentation. More information: https://fossil-scm.org/.
  • Check the Fossil version:
    fossil version
  • Show general help (list available subcommands):
    fossil help
  • Show help on a Fossil subcommand (like add, commit, etc.):
    fossil help {{subcommand}}
  • Execute a Fossil subcommand:
    fossil {{subcommand}}

sequelize

Promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. More information: https://sequelize.org/.
  • Create a model with 3 fields and a migration file:
    sequelize model:generate --name {{table_name}} --attributes {{field1:integer,field2:string,field3:boolean}}
  • Run the migration file:
    sequelize db:migrate
  • Revert all migrations:
    sequelize db:migrate:undo:all
  • Create a seed file with the specified name to populate the database:
    sequelize seed:generate --name {{seed_filename}}
  • Populate database using all seed files:
    sequelize db:seed:all

amass track

Track differences between enumerations of the same domain. More information: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md#the-track-subcommand.
  • Show the difference between the last two enumerations of the specified domain:
    amass track -dir {{path/to/database_directory}} -d {{domain_name}} -last 2
  • Show the difference between a certain point in time and the last enumeration:
    amass track -dir {{path/to/database_directory}} -d {{domain_name}} -since {{01/02 15:04:05 2006 MST}}

pio team

Manage PlatformIO teams. More information: https://docs.platformio.org/en/latest/core/userguide/team/.
  • Create a new team with the specified description:
    pio team create --description {{description}} {{organization_name}}:{{team_name}}
  • Delete a team:
    pio team destroy {{organization_name}}:{{team_name}}
  • Add a new user to a team:
    pio team add {{organization_name}}:{{team_name}} {{username}}
  • Remove a user from a team:
    pio team remove {{organization_name}}:{{team_name}} {{username}}
  • List all teams that the user is part of and their members:
    pio team list
  • List all teams in an organization:
    pio team list {{organization_name}}
  • Rename a team:
    pio team update --name {{new_team_name}} {{organization_name}}:{{team_name}}
  • Change the description of a team:
    pio team update --description {{new_description}} {{organization_name}}:{{team_name}}

atrm

Remove jobs scheduled by at or batch commands. To find job numbers use atq. More information: https://manned.org/atrm.
  • Remove job number 10:
    atrm {{10}}
  • Remove many jobs, separated by spaces:
    atrm {{15}} {{17}} {{22}}

diffoscope

Compare files, archives, and directories. More information: https://diffoscope.org.
  • Compare two files:
    diffoscope {{path/to/file1}} {{path/to/file2}}
  • Compare two files without displaying a progress bar:
    diffoscope --no-progress {{path/to/file1}} {{path/to/file2}}
  • Compare two files and write an HTML-report to a file (use - for stdout):
    diffoscope --html {{path/to/outfile|-}} {{path/to/file1}} {{path/to/file2}}
  • Compare two directories excluding files with a name matching a specified pattern:
    diffoscope --exclude {{pattern}} {{path/to/directory1}} {{path/to/directory2}}
  • Compare two directories and control whether directory metadata is considered:
    diffoscope --exclude-directory-metadata {{auto|yes|no|recursive}} {{path/to/directory1}} {{path/to/directory2}}

f3read

Validate .h2w files to test the real capacity of the drive. See also f3write, f3probe, f3fix. More information: http://oss.digirati.com.br/f3/.
  • Validate a device by checking the files in a given directory:
    f3read {{path/to/mount_point}}

ipcs

Display information about resources used in IPC (Inter-process Communication). More information: https://manned.org/ipcs.
  • Specific information about the Message Queue which has the ID 32768:
    ipcs -qi 32768
  • General information about all the IPC:
    ipcs -a

wasm-opt

Optimize WebAssembly binary files. More information: https://github.com/webassembly/binaryen.
  • Apply default optimizations and write to a given file:
    wasm-opt -O {{input.wasm}} -o {{output.wasm}}
  • Apply all optimizations and write to a given file (takes more time, but generates optimal code):
    wasm-opt -O4 {{input.wasm}} -o {{output.wasm}}
  • Optimize a file for size:
    wasm-opt -Oz {{input.wasm}} -o {{output.wasm}}
  • Print the textual representation of the binary to console:
    wasm-opt {{input.wasm}} --print

unzstd

This command is an alias of zstd --decompress.
  • View documentation for the original command:
    tldr zstd

astronomer

Tool that detects illegitimate stars from bot accounts on GitHub projects. More information: https://github.com/Ullaakut/astronomer.
  • Scan a repository:
    astronomer {{tldr-pages/tldr-node-client}}
  • Scan the maximum amount of stars in the repository:
    astronomer {{tldr-pages/tldr-node-client}} --stars {{50}}
  • Scan a repository including comparative reports:
    astronomer {{tldr-pages/tldr-node-client}} --verbose

rbt

RBTools is a set of command-line tools for working with Review Board and RBCommons. More information: https://www.reviewboard.org/docs/rbtools/dev/.
  • Post changes to Review Board:
    rbt post {{change_number}}
  • Display the diff that will be sent to Review Board:
    rbt diff
  • Land a change in a local branch or on a review request:
    rbt land {{branch_name}}
  • Patch your tree with a change on a review request:
    rbt patch {{review_request_id}}
  • Set up RBTool to talk to a repository:
    rbt setup-repo


git shortlog

Summarizes the git log output. More information: https://git-scm.com/docs/git-shortlog.
  • View a summary of all the commits made, grouped alphabetically by author name:
    git shortlog
  • View a summary of all the commits made, sorted by the number of commits made:
    git shortlog -n
  • View a summary of all the commits made, grouped by the committer identities (name and email):
    git shortlog -c
  • View a summary of the last 5 commits (i.e. specify a revision range):
    git shortlog HEAD~{{5}}..HEAD
  • View all users, emails and the number of commits in the current branch:
    git shortlog -sne
  • View all users, emails and the number of commits in all branches:
    git shortlog -sne --all

gh secret set

Create or update GitHub secrets. More information: https://cli.github.com/manual/gh_secret_set.
  • Set a secret for the current repository (user will be prompted for the value):
    gh secret set {{name}}
  • Set a secret from a file for the current repository:
    gh secret set {{name}} < {{path/to/file}}
  • Set a secret for a specific repository:
    gh secret set {{name}} --body {{value}} --repo {{owner}}/{{repository}}
  • Set an organization secret for specific repositories:
    gh secret set {{name}} --org {{organization}} --repos "{{repository1,repository2,...}}"
  • Set an organization secret with a specific visibility:
    gh secret set {{name}} --org {{organization}} --visibility {{all|private|selected}}

protoc

Parse Google Protobuf .proto files and generate output in the specified language. More information: https://developers.google.com/protocol-buffers.
  • Generate Python code from a .proto file:
    protoc --python_out={{path/to/output_directory}} {{input_file.proto}}
  • Generate Java code from a .proto file that imports other .proto files:
    protoc --java_out={{path/to/output_directory}} --proto_path={{path/to/import_search_path}} {{input_file.proto}}
  • Generate code for multiple languages:
    protoc --csharp_out={{path/to/c#_output_directory}} --js_out={{path/to/js_output_directory}} {{input_file.proto}}

astyle

Source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages. Upon running, a copy of the original file is created with an ".orig" appended to the original file name. More information: http://astyle.sourceforge.net.
  • Apply the default style of 4 spaces per indent and no formatting changes:
    astyle {{source_file}}
  • Apply the Java style with attached braces:
    astyle --style=java {{path/to/file}}
  • Apply the allman style with broken braces:
    astyle --style=allman {{path/to/file}}
  • Apply a custom indent using spaces. Choose between 2 and 20 spaces:
    astyle --indent=spaces={{number_of_spaces}} {{path/to/file}}
  • Apply a custom indent using tabs. Choose between 2 and 20 tabs:
    astyle --indent=tab={{number_of_tabs}} {{path/to/file}}


bindkey

Add keybindings to Z-Shell. More information: https://zsh.sourceforge.io/Guide/zshguide04.html.
  • Bind a hotkey to a specific command:
    bindkey "{{^k}}" {{kill-line}}
  • Bind a hotkey to a specific key sequence:
    bindkey -s '^o' 'cd ..\n'
  • View keymaps:
    bindkey -l
  • View the hotkey in a keymap:
    bindkey -M main

tlmgr backup

Manage backups of TeX Live packages. The default backup directory is specified by the backupdir option, and can be obtained with tlmgr option. More information: https://www.tug.org/texlive/tlmgr.html.
  • Make a backup of one or more packages:
    tlmgr backup {{package1 package2 ...}}
  • Make a backup of all packages:
    tlmgr backup --all
  • Make a backup to a custom directory:
    tlmgr backup {{package}} --backupdir {{path/to/backup_directory}}
  • Remove a backup of one or more packages:
    tlmgr backup clean {{package1 package2 ...}}
  • Remove all backups:
    tlmgr backup clean --all

mesg

Check or set a terminal's ability to receive messages from other users, usually from the write command. See also write. More information: https://manned.org/mesg.
  • Check terminal's openness to write messages:
    mesg
  • Disable receiving messages from the write command:
    mesg n
  • Enable receiving messages from the write command:
    mesg y

rector

An automated tool for updating and refactoring PHP 5.3+ code. More information: https://github.com/rectorphp/rector.
  • Process a specific directory:
    rector process {{path/to/directory}}
  • Process a directory without applying changes (dry run):
    rector process {{path/to/directory}} --dry-run
  • Process a directory and apply coding standards:
    rector process {{path/to/directory}} --with-style
  • Display a list of available levels:
    rector levels
  • Process a directory with a specific level:
    rector process {{path/to/directory}} --level {{level_name}}

wget

Download files from the Web. Supports HTTP, HTTPS, and FTP. More information: https://www.gnu.org/software/wget.
  • Download the contents of a URL to a file (named "foo" in this case):
    wget {{https://example.com/foo}}
  • Download the contents of a URL to a file (named "bar" in this case):
    wget --output-document {{bar}} {{https://example.com/foo}}
  • Download a single web page and all its resources with 3-second intervals between requests (scripts, stylesheets, images, etc.):
    wget --page-requisites --convert-links --wait=3 {{https://example.com/somepage.html}}
  • Download all listed files within a directory and its sub-directories (does not download embedded page elements):
    wget --mirror --no-parent {{https://example.com/somepath/}}
  • Limit the download speed and the number of connection retries:
    wget --limit-rate={{300k}} --tries={{100}} {{https://example.com/somepath/}}
  • Download a file from an HTTP server using Basic Auth (also works for FTP):
    wget --user={{username}} --password={{password}} {{https://example.com}}
  • Continue an incomplete download:
    wget --continue {{https://example.com}}
  • Download all URLs stored in a text file to a specific directory:
    wget --directory-prefix {{path/to/directory}} --input-file {{URLs.txt}}

mutt

Command-line email client. More information: http://mutt.org.
  • Open the specified mailbox:
    mutt -f {{mailbox}}
  • Send an email and specify a subject and a cc recipient:
    mutt -s {{subject}} -c {{[email protected]}} {{[email protected]}}
  • Send an email with files attached:
    mutt -a {{file1}} {{file2}} -- {{[email protected]}}
  • Specify a file to include as the message body:
    mutt -i {{path/to/file}} {{[email protected]}}
  • Specify a draft file containing the header and the body of the message, in RFC 5322 format:
    mutt -H {{path/to/file}} {{[email protected]}}

transcrypt

Transparently encrypt files within a Git repository. More information: https://github.com/elasticdog/transcrypt.
  • Initialize an unconfigured repository:
    transcrypt
  • List the currently encrypted files:
    git ls-crypt
  • Display the credentials of a configured repository:
    transcrypt --display
  • Initialize and decrypt a fresh clone of a configured repository:
    transcrypt --cipher={{cipher}}
  • Rekey to change the encryption cipher or password:
    transcrypt --rekey

blackfire

A command-line profiling tool for PHP. More information: https://blackfire.io.
  • Initialize and configure the Blackfire client:
    blackfire config
  • Launch the Blackfire agent:
    blackfire agent
  • Launch the Blackfire agent on a specific socket:
    blackfire agent --socket="{{tcp://127.0.0.1:8307}}"
  • Run the profiler on a specific program:
    blackfire run {{php path/to/file.php}}
  • Run the profiler and collect 10 samples:
    blackfire --samples={{10}} run {{php path/to/file.php}}
  • Run the profiler and output results as JSON:
    blackfire --json run {{php path/to/file.php}}
  • Upload a profiler file to the Blackfire web service:
    blackfire upload {{path/to/file}}
  • View the status of profiles on the Blackfire web service:
    blackfire status

pio account

Manage your PlatformIO account in the command-line. More information: https://docs.platformio.org/en/latest/core/userguide/account/.
  • Register a new PlatformIO account:
    pio account register --username {{username}} --email {{email}} --password {{password}} --firstname {{firstname}} --lastname {{lastname}}
  • Permanently delete your PlatformIO account and related data:
    pio account destroy
  • Log in to your PlatformIO account:
    pio account login --username {{username}} --password {{password}}
  • Log out of your PlatformIO account:
    pio account logout
  • Update your PlatformIO profile:
    pio account update --username {{username}} --email {{email}} --firstname {{firstname}} --lastname {{lastname}} --current-password {{password}}
  • Show detailed information about your PlatformIO account:
    pio account show
  • Reset your password using your username or email:
    pio account forgot --username {{username_or_email}}

fold

Wrap each line in an input file to fit a specified width and print it to stdout. More information: https://manned.org/fold.1p.
  • Wrap each line to default width (80 characters):
    fold {{path/to/file}}
  • Wrap each line to width "30":
    fold -w30 {{path/to/file}}
  • Wrap each line to width "5" and break the line at spaces (puts each space separated word in a new line, words with length > 5 are wrapped):
    fold -w5 -s {{path/to/file}}


nodenv

A tool to manage Node.js versions. More information: https://github.com/nodenv/nodenv.
  • Install a specific version of Node.js:
    nodenv install {{version}}
  • Display a list of available versions:
    nodenv install --list
  • Use a specific version of Node.js across the whole system:
    nodenv global {{version}}
  • Use a specific version of Node.js with a directory:
    nodenv local {{version}}
  • Display the Node.js version for the current directory:
    nodenv version
  • Display the location of a Node.js installed command (e.g. npm):
    nodenv which {{command}}


mh_metric

Calculate and enforce code metrics for MATLAB or Octave code. More information: https://misshit.org.
  • Print the code metrics for the specified files:
    mh_metric {{path/to/file1.m path/to/file2.m ...}}
  • Print the code metrics for the specified Octave files:
    mh_metric --octave {{path/to/file1.m path/to/file2.m ...}}
  • Print the code metrics for the specified directory recursively:
    mh_metric {{path/to/directory}}
  • Print the code metrics for the current directory:
    mh_metric
  • Print the code metrics report in HTML or JSON format:
    mh_metric --{{html|json}} {{path/to/output_file}}

flask

A general utility script for Flask applications. Loads the application defined in the FLASK_APP environment variable. More information: https://flask.palletsprojects.com/en/1.1.x/cli/.
  • Run a development server:
    flask run
  • Show the routes for the app:
    flask routes
  • Run a Python interactive shell in the app's context:
    flask shell

timew

A time tracking tool used to measure the duration of activities. More information: https://timewarrior.net/docs.
  • Start a new stopwatch, giving a tag name to the activity being tracked:
    timew start {{activity_tag}}
  • View running stopwatches:
    timew
  • Stop the stopwatch with a given tag name:
    timew stop {{activity_tag}}
  • Stop all running stopwatches:
    timew stop
  • View tracked items:
    timew summary

mamba

Fast, cross-platform package manager, intended as a drop-in replacement for conda. Some subcommands such as mamba repoquery have their own usage documentation. More information: https://mamba.readthedocs.io/en/latest/user_guide/mamba.html.
  • Create a new environment, installing the specified packages into it:
    mamba create --name {{environment_name}} {{python=3.10 matplotlib}}
  • Install packages into the current environment, specifying the package [c]hannel:
    mamba install -c {{conda-forge}} {{python=3.6 numpy}}
  • Update all packages in the current environment:
    mamba update --all
  • Search for a specific package across repositories:
    mamba repoquery search {{numpy}}
  • List all environments:
    mamba info --envs
  • Remove unused [p]ackages and [t]arballs from the cache:
    mamba clean -pt
  • Activate an environment:
    mamba activate {{environment_name}}
  • List all installed packages in the currently activated environment:
    mamba list

zfs

Manage ZFS filesystems. More information: https://manned.org/zfs.
  • List all available zfs filesystems:
    zfs list
  • Create a new ZFS filesystem:
    zfs create {{pool_name/filesystem_name}}
  • Delete a ZFS filesystem:
    zfs destroy {{pool_name/filesystem_name}}
  • Create a Snapshot of a ZFS filesystem:
    zfs snapshot {{pool_name/filesystem_name}}@{{snapshot_name}}
  • Enable compression on a filesystem:
    zfs set compression=on {{pool_name/filesystem_name}}
  • Change mountpoint for a filesystem:
    zfs set mountpoint={{/my/mount/path}} {{pool_name/filesystem_name}}

git replace

Create, list, and delete refs to replace objects. More information: https://git-scm.com/docs/git-replace.
  • Replace any commit with a different one, leaving other commits unchanged:
    git replace {{object}} {{replacement}}
  • Delete existing replace refs for the given objects:
    git replace --delete {{object}}
  • Edit an object’s content interactively:
    git replace --edit {{object}}

git fetch

Download objects and refs from a remote repository. More information: https://git-scm.com/docs/git-fetch.
  • Fetch the latest changes from the default remote upstream repository (if set):
    git fetch
  • Fetch new branches from a specific remote upstream repository:
    git fetch {{remote_name}}
  • Fetch the latest changes from all remote upstream repositories:
    git fetch --all
  • Also fetch tags from the remote upstream repository:
    git fetch --tags
  • Delete local references to remote branches that have been deleted upstream:
    git fetch --prune

zpool

Manage ZFS pools. More information: https://manned.org/zpool.
  • Show the configuration and status of all ZFS zpools:
    zpool status
  • Check a ZFS pool for errors (verifies the checksum of EVERY block). Very CPU and disk intensive:
    zpool scrub {{pool_name}}
  • List zpools available for import:
    zpool import
  • Import a zpool:
    zpool import {{pool_name}}
  • Export a zpool (unmount all filesystems):
    zpool export {{pool_name}}
  • Show the history of all pool operations:
    zpool history {{pool_name}}
  • Create a mirrored pool:
    zpool create {{pool_name}} mirror {{disk1}} {{disk2}} mirror {{disk3}} {{disk4}}
  • Add a cache (L2ARC) device to a zpool:
    zpool add {{pool_name}} cache {{cache_disk}}

hg push

Push changes from the local repository to a specified destination. More information: https://www.mercurial-scm.org/doc/hg.1.html#push.
  • Push changes to the "default" remote path:
    hg push
  • Push changes to a specified remote repository:
    hg push {{path/to/destination_repository}}
  • Push a new branch if it does not exist (disabled by default):
    hg push --new-branch
  • Specify a specific revision changeset to push:
    hg push --rev {{revision}}
  • Specify a specific branch to push:
    hg push --branch {{branch}}
  • Specify a specific bookmark to push:
    hg push --bookmark {{bookmark}}

az redis

Manage Redis caches. Part of azure-cli. More information: https://docs.microsoft.com/cli/azure/redis.
  • Create a new Redis cache instance:
    az redis create --location {{location}} --name {{name}} --resource-group {{resource_group}} --sku {{Basic|Premium|Standard}} --vm-size {{c0|c1|c2|c3|c4|c5|c6|p1|p2|p3|p4|p5}}
  • Update a Redis cache:
    az redis update --name {{name}} --resource-group {{resource_group}} --sku {{Basic|Premium|Standard}} --vm-size {{c0|c1|c2|c3|c4|c5|c6|p1|p2|p3|p4|p5}}
  • Export data stored in a Redis cache:
    az redis export --container {{container}} --file-format {{file-format}} --name {{name}} --prefix {{prefix}} --resource-group {{resource_group}}
  • Delete a Redis cache:
    az redis delete --name {{name}} --resource-group {{resource_group}} --yes

pueue restart

Restart tasks. More information: https://github.com/Nukesor/pueue.
  • Restart a specific task:
    pueue restart {{task_id}}
  • Restart multiple tasks at once, and start them immediately (do not enqueue):
    pueue restart --start-immediately {{task_id}} {{task_id}}
  • Restart a specific task from a different path:
    pueue restart --edit-path {{task_id}}
  • Edit a command before restarting:
    pueue restart --edit {{task_id}}
  • Restart a task in-place (without enqueuing as a separate task):
    pueue restart --in-place {{task_id}}
  • Restart all failed tasks and stash them:
    pueue restart --all-failed --stashed

fakedata

Generate fake data using a large variety of generators. More information: https://github.com/lucapette/fakedata.
  • List all valid generators:
    fakedata --generators
  • Generate data using one or more generators:
    fakedata {{generator1}} {{generator2}}
  • Generate data with a specific output format:
    fakedata --format {{csv|tab|sql}} {{generator}}
  • Generate a given number of data items (defaults to 10):
    fakedata --limit {{n}} {{generator}}
  • Generate data using a custom output template (the first letter of generator names must be capitalized):
    echo "{{\{\{Generator\}\}}}" | fakedata

vimtutor

Vim tutor, teaching the basic vim commands. See also vim, vimdiff, nvim. More information: https://manned.org/vimtutor.
  • Launch the vim tutor using the given language (en, fr, de, ...):
    vimtutor {{language}}
  • Exit the tutor:
    <Esc> :q <Enter>

distccd

Server daemon for the distcc distributed compiler. More information: https://distcc.github.io.
  • Start a daemon with the default settings:
    distccd --daemon
  • Start a daemon, accepting connections from IPv4 private network ranges:
    distccd --daemon --allow-private
  • Start a daemon, accepting connections from a specific network address or address range:
    distccd --daemon --allow {{ip_address|network_prefix}}
  • Start a daemon with a lowered priority that can run a maximum of 4 tasks at a time:
    distccd --daemon --jobs {{4}} --nice {{5}}
  • Start a daemon and register it via mDNS/DNS-SD (Zeroconf):
    distccd --daemon --zeroconf

tlmgr repository

Manage repositories of a TeX Live installation. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all configured repositories and their tags (if set):
    tlmgr repository list
  • List all packages available in a specific repository:
    tlmgr repository list {{path|url|tag}}
  • Add a new repository with a specific tag (the tag is not required):
    sudo tlmgr repository add {{path|url}} {{tag}}
  • Remove a specific repository:
    sudo tlmgr repository remove {{path|url|tag}}
  • Set a new list of repositories, overwriting the previous list:
    sudo tlmgr repository set {{path|url|tag}}#{{tag}} {{path|url|tag}}#{{tag}} {{...}}
  • Show the verification status of all configured repositories:
    tlmgr repository status

ganache-cli

Command-line version of Ganache, your personal blockchain for Ethereum development. More information: https://www.trufflesuite.com/ganache.
  • Run Ganache:
    ganache-cli
  • Run Ganache with a specific number of accounts:
    ganache-cli --accounts={{number_of_accounts}}
  • Run Ganache and lock available accounts by default:
    ganache-cli --secure
  • Run Ganache server and unlock specific accounts:
    ganache-cli --secure --unlock "{{account_private_key1}}" --unlock "{{account_private_key2}}"
  • Run Ganache with a specific account and balance:
    ganache-cli --account="{{account_private_key}},{{account_balance}}"
  • Run Ganache with accounts with a default balance:
    ganache-cli --defaultBalanceEther={{default_balance}}
  • Run Ganache and log all requests to stdout:
    ganache-cli --verbose

elinks

A text based browser similar to lynx. More information: http://elinks.or.cz.
  • Start ELinks:
    elinks
  • Quit elinks:
    Ctrl + C
  • Dump output of webpage to console, colorizing the text with ANSI control codes:
    elinks -dump -dump-color-mode {{1}} {{url}}

gcalcli

Command-line tool to interact with Google Calendar. Requests Google API authorization upon first launch. More information: https://github.com/insanum/gcalcli.
  • List your events for all your calendars over the next 7 days:
    gcalcli agenda
  • Show events starting from or between specific dates (also takes relative dates e.g. "tomorrow"):
    gcalcli agenda {{mm/dd}} [{{mm/dd}}]
  • List events from a specific calendar:
    gcalcli --calendar {{calendar_name}} agenda
  • Display an ASCII calendar of events by week:
    gcalcli calw
  • Display an ASCII calendar of events for a month:
    gcalcli calm
  • Quick-add an event to your calendar:
    gcalcli --calendar {{calendar_name}} quick "{{mm/dd}} {{HH:MM}} {{event_name}}"
  • Add an event to calendar. Triggers interactive prompt:
    gcalcli --calendar "{{calendar_name}}" add

pueue start

Resume operation of specific tasks or groups of tasks. See also: pueue pause. More information: https://github.com/Nukesor/pueue.
  • Resume all tasks in the default group:
    pueue start
  • Resume a specific task:
    pueue start {{task_id}}
  • Resume multiple tasks at once:
    pueue start {{task_id}} {{task_id}}
  • Resume all tasks and start their children:
    pueue start --all --children
  • Resume all tasks in a specific group:
    pueue start group {{group_name}}

autossh

Run, monitor and restart SSH connections. Auto-reconnects to keep port forwarding tunnels up. Accepts all ssh flags. More information: https://www.harding.motd.ca/autossh.
  • Start an SSH session, restarting when a monitoring port fails to return data:
    autossh -M {{monitor_port}} "{{ssh_command}}"
  • Forward a local port to a remote one, restarting when necessary:
    autossh -M {{monitor_port}} -L {{local_port}}:localhost:{{remote_port}} {{user}}@{{host}}
  • Fork autossh into the background before executing ssh and don't open a remote shell:
    autossh -f -M {{monitor_port}} -N "{{ssh_command}}"
  • Run in the background, with no monitoring port, and instead send SSH keep-alive packets every 10 seconds to detect failure:
    autossh -f -M 0 -N -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" "{{ssh_command}}"
  • Run in the background, with no monitoring port and no remote shell, exiting if the port forward fails:
    autossh -f -M 0 -N -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -o ExitOnForwardFailure=yes -L {{local_port}}:localhost:{{remote_port}} {{user}}@{{host}}
  • Run in the background, logging autossh debug output and ssh verbose output to files:
    AUTOSSH_DEBUG=1 AUTOSSH_LOGFILE={{path/to/autossh_log_file.log}} autossh -f -M {{monitor_port}} -v -E {{path/to/ssh_log_file.log}} {{ssh_command}}

flyctl

Command-line tool for flyctl.io. More information: https://github.com/superfly/flyctl.
  • Sign into a Fly account:
    flyctl auth login
  • Launch an application from a specific Dockerfile (the default path is the current working directory):
    flyctl launch --dockerfile {{path/to/dockerfile}}
  • Open the current deployed application in the default web browser:
    flyctl open
  • Deploy the Fly applications from a specific Dockerfile:
    flyctl deploy --dockerfile {{path/to/dockerfile}}
  • Open the Fly Web UI for the current application in a web browser:
    flyctl dashboard
  • List all applications in the logged-in Fly account:
    flyctl apps list
  • View the status of a specific running application:
    flyctl status --app {{app_name}}
  • Show version information:
    flyctl version

espeak

Uses text-to-speech to speak through the default sound device. More information: http://espeak.sourceforge.net.
  • Speak a phrase aloud:
    espeak "I like to ride my bike."
  • Speak a file aloud:
    espeak -f {{path/to/file}}
  • Save output to a WAV audio file, rather than speaking it directly:
    espeak -w {{filename.wav}} "It's GNU plus Linux"
  • Use a different voice:
    espeak -v {{voice}}

tuir

A text user-interface (TUI) to view and interact with Reddit from your terminal. Navigate with the Vim keys. More information: https://gitlab.com/ajak/tuir.
  • Launch tuir:
    tuir
  • Open a subreddit:
    /{{subreddit_name}}
  • Open a link:
    o
  • Open a specific subreddit on launch:
    tuir -s {{subreddit_name}}
  • Open external links using programs defined in the mailcap config:
    tuir --enable-media

gpg-zip

Encrypt files and directories in an archive using GPG. More information: https://www.gnupg.org/documentation/manuals/gnupg/gpg_002dzip.html.
  • Encrypt a directory into archive.gpg using a passphrase:
    gpg-zip --symmetric --output {{archive.gpg}} {{path/to/directory}}
  • Decrypt archive.gpg into a directory of the same name:
    gpg-zip --decrypt {{path/to/archive.gpg}}
  • List the contents of the encrypted archive.gpg:
    gpg-zip --list-archive {{path/to/archive.gpg}}

docker network

Create and manage docker networks. More information: https://docs.docker.com/engine/reference/commandline/network/.
  • List all available and configured networks on docker daemon:
    docker network ls
  • Create a user-defined network:
    docker network create --driver {{driver_name}} {{network_name}}
  • Display detailed information of a space-separated list of networks:
    docker network inspect {{network_name}}
  • Connect a container to a network using a name or ID:
    docker network connect {{network_name}} {{container_name|ID}}
  • Disconnect a container from a network:
    docker network disconnect {{network_name}} {{container_name|ID}}
  • Remove all unused (not referenced by any container) networks:
    docker network prune
  • Remove a space-separated list of unused networks:
    docker network rm {{network_name}}

nyxt

Nyxt is a keyboard-driven web browser for power users. More information: https://nyxt.atlas.engineer.
  • List all profiles:
    nyxt --list-data-profiles
  • Set the init.lisp file path:
    nyxt --init {{path/to/file}}
  • Change the path to the auto-config file:
    nyxt --auto-config {{path/to/file}}
  • Print system information:
    nyxt --system-information

ac

Print statistics on how long users have been connected. More information: https://man.openbsd.org/ac.
  • Print how long the current user has been connected in hours:
    ac
  • Print how long users have been connected in hours:
    ac -p
  • Print how long a particular user has been connected in hours:
    ac -p {{username}}
  • Print how long a particular user has been connected in hours per day (with total):
    ac -dp {{username}}

PHP-CS-Fixer

Automatic coding style fixer for PHP. More information: https://github.com/FriendsOfPHP/PHP-CS-Fixer.
  • Execute code style fixing in the current directory:
    php-cs-fixer fix
  • Execute code style fixing for a specific directory:
    php-cs-fixer fix {{path/to/directory}}
  • Execute code style linting without applying changes:
    php-cs-fixer fix --dry-run
  • Execute code style fixes using specific rules:
    php-cs-fixer fix --rules={{rules}}
  • Display the rules that have been applied:
    php-cs-fixer fix --verbose
  • Output the results in a different format:
    php-cs-fixer fix --format={{txt|json|xml|checkstyle|junit|gitlab}}
  • Display files that require fixing:
    php-cs-fixer list-files
  • Describe a rule or ruleset:
    php-cs-fixer describe {{rule}}

gnmic

A gNMI command-line client. Manage gNMI network device configuration and view operational data. More information: https://gnmic.kmrd.dev.
  • Request device capabilities:
    gnmic --address {{ip:port}} capabilities
  • Provide a username and password to fetch device capabilities:
    gnmic --address {{ip:port}} --username {{username}} --password {{password}} capabilities
  • Get a snapshot of the device state at a specific path:
    gnmic -a {{ip:port}} get --path {{path}}
  • Update device state at a specific path:
    gnmic -a {{ip:port}} set --update-path {{path}} --update-value {{value}}
  • Subscribe to target state updates under the subtree at a specific path:
    gnmic -a {{ip:port}} subscribe --path {{path}}

bzip2

A block-sorting file compressor. More information: https://manned.org/bzip2.
  • Compress a file:
    bzip2 {{path/to/file_to_compress}}
  • Decompress a file:
    bzip2 -d {{path/to/compressed_file.bz2}}
  • Decompress a file to stdout:
    bzip2 -dc {{path/to/compressed_file.bz2}}
  • Test the integrity of each file inside the archive file:
    bzip2 --test {{path/to/compressed_file.bz2}}
  • Show the compression ratio for each file processed with detailed information:
    bzip2 --verbose {{path/to/compressed_files.bz2}}
  • Decompress a file overwriting existing files:
    bzip2 --force {{path/to/compressed_file.bz2}}
  • Display help:
    bzip2 -h

androguard

Reverse engineering tool for Android applications. Written in Python. More information: https://github.com/androguard/androguard.
  • Display Android app manifest:
    androguard axml {{path/to/app.apk}}
  • Display app metadata (version and app ID):
    androguard apkid {{path/to/app.apk}}
  • Decompile Java code from an app:
    androguard decompile {{path/to/app.apk}} --output {{path/to/directory}}

wp

The official command-line interface to manage WordPress instances. More information: https://wp-cli.org/.
  • Print information about the operating system, shell, PHP, and WP-CLI (wp) installation:
    wp --info
  • Update WP-CLI:
    wp cli update
  • Download a fresh WordPress installation to current directory, optionally specifying the locale:
    wp core download --locale={{locale}}
  • Create basic wpconfig file (assuming database on localhost):
    wp config create --dbname={{dbname}} --dbuser={{dbuser}} --dbpass={{dbpass}}
  • Install and activate a WordPress plugin:
    wp plugin install {{plugin}} --activate
  • Replace all instances of a string in the database:
    wp search-replace {{old_string}} {{new_string}}
  • Import the contents of a WordPress Extended RSS (WXR) file:
    wp import {{path/to/file.xml}}

dvc add

Add changed files to the index. More information: https://dvc.org/doc/command-reference/add.
  • Add a single target file to the index:
    dvc add {{path/to/file}}
  • Add a target directory to the index:
    dvc add {{path/to/directory}}
  • Recursively add all the files in a given target directory:
    dvc add --recursive {{path/to/directory}}
  • Add a target file with a custom .dvc filename:
    dvc add --file {{custom_name.dvc}} {{path/to/file}}

carbon-now

Create beautiful images of code. More information: https://github.com/mixn/carbon-now-cli.
  • Create an image from a file using default settings:
    carbon-now {{path/to/file}}
  • Create an image from a text in clipboard using default settings:
    carbon-now --from-clipboard
  • Create an image from stdin using default settings:
    {{input}} | carbon-now
  • Create images interactively for custom settings and optionally save a preset:
    carbon-now -i {{path/to/file}}
  • Create images from previously saved preset:
    carbon-now -p {{preset}} {{path/to/file}}
  • Start at a specified line of text:
    carbon-now -s {{line}} {{path/to/file}}
  • End at a specific line of text:
    carbon-now -e {{line}} {{path/to/file}}
  • Open image in a browser instead of saving:
    carbon-now --open {{path/to/file}}

gotty

Share your terminal as a web application. More information: https://github.com/yudai/gotty.
  • Share result of command:
    gotty {{command}}
  • Share with write permission:
    gotty -w {{shell}}
  • Share with credential (Basic Auth):
    gotty -w -c {{username}}:{{password}} {{shell}}

rustup show

Show installed toolchains, targets and the version of rustc. More information: https://rust-lang.github.io/rustup.
  • Show all information:
    rustup show
  • Show the active toolchain:
    rustup show active-toolchain
  • Show the rustup data directory:
    rustup show home

pv

Monitor the progress of data through a pipe. More information: https://manned.org/pv.
  • Print the contents of the file and display a progress bar:
    pv {{path/to/file}}
  • Measure the speed and amount of data flow between pipes (--size is optional):
    command1 | pv --size {{expected_amount_of_data_for_eta}} | command2
  • Filter a file, see both progress and amount of output data:
    pv -cN in {{big_text_file}} | grep {{pattern}} | pv -cN out > {{filtered_file}}
  • Attach to an already running process and see its file reading progress:
    pv -d {{PID}}
  • Read an erroneous file, skip errors as dd conv=sync,noerror would:
    pv -EE {{path/to/faulty_media}} > image.img
  • Stop reading after reading specified amount of data, rate limit to 1K/s:
    pv -L 1K --stop-at --size {{maximum_file_size_to_be_read}}

etcdctl

Interact with etcd, a highly-available key-value pair store. More information: https://etcd.io/docs/latest/dev-guide/interacting_v3/.
  • Display the value associated with a specified key:
    etcdctl get {{my/key}}
  • Store a key-value pair:
    etcdctl put {{my/key}} {{my_value}}
  • Delete a key-value pair:
    etcdctl del {{my/key}}
  • Store a key-value pair, reading the value from a file:
    etcdctl put {{my/file}} < {{path/to/file.txt}}
  • Save a snapshot of the etcd keystore:
    etcdctl snapshot save {{path/to/snapshot.db}}
  • Restore a snapshot of an etcd keystore (restart the etcd server afterwards):
    etcdctl snapshot restore {{path/to/snapshot.db}}
  • Add a user:
    etcdctl user add {{my_user}}
  • Watch a key for changes:
    etcdctl watch {{my/key}}

read

Shell builtin for retrieving data from stdin. More information: https://manned.org/read.1p.
  • Store data that you type from the keyboard:
    read {{variable}}
  • Do not let backslash (\) act as an escape character:
    read -r {{variable}}
  • Read stdin and perform an action on every line:
    while read line; do echo "$line"; done

shasum

Calculate SHA cryptographic checksums. More information: https://manned.org/shasum.
  • Calculate the SHA1 checksum for one or more files:
    shasum {{path/to/file1 path/to/file2 ...}}
  • Calculate the SHA256 checksum for one or more files:
    shasum --algorithm 256 {{path/to/file1 path/to/file2 ...}}
  • Calculate the SHA512 checksum for one or more files:
    shasum --algorithm 512 {{path/to/file1 path/to/file2 ...}}
  • Calculate a SHA1 checksum from stdin:
    {{command}} | shasum
  • Calculate and save the list of SHA256 checksums to a file:
    shasum --algorithm 256 {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha256}}
  • Read a file of SHA1 sums and filenames and verify all files have matching checksums:
    shasum --check {{path/to/file}}
  • Only show a message for missing files or when verification fails:
    shasum --check --quiet {{path/to/file}}
  • Only show a message when verification fails, ignoring missing files:
    shasum --ignore-missing --check --quiet {{path/to/file}}

electron-packager

A tool used to build Electron app executables for Windows, Linux and macOS. Requires a valid package.json in the application directory. More information: https://github.com/electron/electron-packager.
  • Package an application for the current architecture and platform:
    electron-packager "{{path/to/app}}" "{{app_name}}"
  • Package an application for all architectures and platforms:
    electron-packager "{{path/to/app}}" "{{app_name}}" --all
  • Package an application for 64-bit Linux:
    electron-packager "{{path/to/app}}" "{{app_name}}" --platform="{{linux}}" --arch="{{x64}}"
  • Package an application for ARM macOS:
    electron-packager "{{path/to/app}}" "{{app_name}}" --platform="{{darwin}}" --arch="{{arm64}}"

ropper

Find ROP gadgets in binary files. More information: http://scoding.de/ropper/.
  • List gadgets in the binary file:
    ropper --file {{path/to/binary}}
  • Filter gadgets in the binary file by a regular expression:
    ropper --file {{path/to/binary}} --search {{regex}}
  • List gadgets of specified type in the binary file:
    ropper --file {{path/to/binary}} --type {{rop|job|sys|all}}
  • Exclude bad byte gadgets in the binary file:
    ropper --file {{path/to/binary}} --badbytes {{byte_string}}
  • List gadgets up to the specified instruction count in the binary file:
    ropper --file {{path/to/binary}} --inst-count {{count}}

shred

Overwrite files to securely delete data. More information: https://www.gnu.org/software/coreutils/shred.
  • Overwrite a file:
    shred {{path/to/file}}
  • Overwrite a file, leaving zeroes instead of random data:
    shred --zero {{path/to/file}}
  • Overwrite a file 25 times:
    shred -n25 {{path/to/file}}
  • Overwrite a file and remove it:
    shred --remove {{path/to/file}}

git cvsexportcommit

Export a single Git commit to a CVS checkout. More information: https://git-scm.com/docs/git-cvsexportcommit.
  • Merge a specific patch into CVS:
    git cvsexportcommit -v -c -w {{path/to/project_cvs_checkout}} {{commit_sha1}}

git setup

Create a Git repository in a specific directory and commit all files. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-setup.
  • Create a Git repository in the current directory and commit all files:
    git setup
  • Create a Git repository in a specific directory and commit all files:
    git setup {{path/to/directory}}

gt

Create and manage sequences of dependent code changes (stacks) for Git and GitHub. More information: https://docs.graphite.dev.
  • Authenticate the CLI with Graphite's API:
    gt auth --token {{graphite_cli_auth_token}}
  • Initialise gt for the repository in the current directory:
    gt repo init
  • Create a new branch stacked on top of the current branch and commit staged changes:
    gt branch create {{branch_name}}
  • Create a new commit and fix upstack branches:
    gt commit create -m {{commit_message}}
  • Force push all branches in the current stack to GitHub and create or update PRs:
    gt stack submit
  • Log all tracked stacks:
    gt log short
  • Print help for a specified subcommand:
    gt {{subcommand}} --help

cargo doc

Build and view Rust package documentation offline. More information: https://doc.rust-lang.org/cargo/commands/cargo-doc.html.
  • Build and view the default package documentation in the browser:
    cargo doc --open
  • Build documentation without accessing the network:
    cargo doc --offline
  • View a particular package's documentation:
    cargo doc --open --package {{package}}
  • View a particular package's documentation offline:
    cargo doc --open --offline --package {{package}}

helm install

Install a helm chart. More information: https://helm.sh/docs/intro/using_helm/#helm-install-installing-a-package.
  • Install a helm chart:
    helm install {{name}} {{repository_name}}/{{chart_name}}
  • Install a helm chart from an unpacked chart directory:
    helm install {{name}} {{path/to/source_directory}}
  • Install a helm chart from a URL:
    helm install {{package_name}} {{https://example.com/charts/packagename-1.2.3.tgz}}
  • Install a helm chart and generate a name:
    helm install {{repository_name}}/{{chart_name}} --generate-name
  • Perform a dry run:
    helm install {{name}} {{repository_name}}/{{chart_name}} --dry-run
  • Install a helm chart with custom values:
    helm install {{name}} {{repository_name}}/{{chart_name}} --set {{parameter1}}={{value1}},{{parameter2}}={{value2}}
  • Install a helm chart passing a custom values file:
    helm install {{name}} {{repository_name}}/{{chart_name}} --values {{path/to/values.yaml}}

az storage entity

Manage Azure Table storage entities. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/entity.
  • Insert an entity into a table:
    az storage entity insert --entity {{space_separated_key_value_pairs}} --table-name {{table_name}} --account-name {{storage_account_name}} --account-key {{storage_account_key}}
  • Delete an existing entity from a table:
    az storage entity delete --partition-key {{partition_key}} --row-key {{row_key}} --table-name {{table_name}} --account-name {{storage_account_name}} --account-key {{storage_account_key}}
  • Update an existing entity by merging its properties:
    az storage entity merge --entity {{space_separated_key_value_pairs}} --table-name {{table_name}} --account-name {{storage_account_name}} --account-key {{storage_account_key}}
  • List entities which satisfy a query:
    az storage entity query --filter {{query_filter}} --table-name {{table_name}} --account-name {{storage_account_name}} --account-key {{storage_account_key}}
  • Get an entity from the specified table:
    az storage entity show --partition-key {{partition_key}} --row-key {{row_key}} --table-name {{table_name}} --account-name {{storage_account_name}} --account-key {{storage_account_key}}

fselect

Find files with SQL-like queries. More information: https://github.com/jhspetersson/fselect.
  • Select full path and size from temporary or config files in a given directory:
    fselect size, path from {{path/to/directory}} where name = {{'*.cfg'}} or name = {{'*.tmp'}}
  • Find square images:
    fselect path from {{path/to/directory}} where width = height
  • Find old-school rap 320kbps MP3 files:
    fselect path from {{path/to/directory}} where genre = {{Rap}} and bitrate = {{320}} and mp3_year lt {{2000}}
  • Select only the first 5 results and output as JSON:
    fselect size, path from {{path/to/directory}} limit {{5}} into json
  • Use SQL aggregate functions to calculate minimum, maximum and average size of files in a directory:
    fselect "{{MIN(size), MAX(size), AVG(size), SUM(size), COUNT(*)}} from {{path/to/directory}}"

sdiff

Compare the differences between and optionally merge 2 files. More information: https://manned.org/sdiff.
  • Compare 2 files:
    sdiff {{path/to/file1}} {{path/to/file2}}
  • Compare 2 files, ignoring all tabs and whitespace:
    sdiff -W {{path/to/file1}} {{path/to/file2}}
  • Compare 2 files, ignoring whitespace at the end of lines:
    sdiff -Z {{path/to/file1}} {{path/to/file2}}
  • Compare 2 files in a case-insensitive manner:
    sdiff -i {{path/to/file1}} {{path/to/file2}}
  • Compare and then merge, writing the output to a new file:
    sdiff -o {{path/to/merged_file}} {{path/to/file1}} {{path/to/file2}}

gh browse

Open a GitHub repository in the browser or print the URL. More information: https://cli.github.com/manual/gh_browse.
  • Open the homepage of the current repository in the default web browser:
    gh browse
  • Open the homepage of a specific repository in the default web browser:
    gh browse {{owner}}/{{repository}}
  • Open the settings page of the current repository in the default web browser:
    gh browse --settings
  • Open the wiki of the current repository in the default web browser:
    gh browse --wiki
  • Open a specific issue or pull request in the web browser:
    gh browse {{issue_number|pull_request_number}}
  • Open a specific branch in the web browser:
    gh browse --branch {{branch_name}}
  • Open a specific file or directory of the current repository in the web browser:
    gh browse {{path/to/file_or_directory}}
  • Print the destination URL without open the web browser:
    gh browse --no-browser

mupdf

MuPDF is a lightweight PDF, XPS, and E-book viewer. More information: https://www.mupdf.com.
  • Open a PDF on the first page:
    mupdf {{path/to/file}}
  • Open a PDF on page 3:
    mupdf {{path/to/file}} {{3}}
  • Open a password secured PDF:
    mupdf -p {{password}} {{path/to/file}}
  • Open a PDF with an initial zoom level, specified as DPI, of 72:
    mupdf -r {{72}} {{path/to/file}}
  • Open a PDF with inverted color:
    mupdf -I {{path/to/file}}
  • Open a PDF tinted red #FF0000 (hexadecimal color syntax RRGGBB):
    mupdf -C {{FF0000}}
  • Open a PDF without anti-aliasing (0 = off, 8 = best):
    mupdf -A {{0}}

linode-cli object-storage

Manage Linode Object Storage. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/object-storage/.
  • List all Object Storage buckets:
    linode-cli object-storage buckets list
  • Create a new Object Storage bucket:
    linode-cli object-storage buckets create --cluster {{cluster_id}} --label {{bucket_label}}
  • Delete an Object Storage bucket:
    linode-cli object-storage buckets delete {{cluster_id}} {{bucket_label}}
  • List Object Storage cluster regions:
    linode-cli object-storage clusters list
  • List access keys for Object Storage:
    linode-cli object-storage keys list
  • Create a new access key for Object Storage:
    linode-cli object-storage keys create --label {{label}}
  • Revoke an access key for Object Storage:
    linode-cli object-storage keys revoke {{access_key_id}}

jc

A utility to convert the output of multiple commands to JSON. More information: https://github.com/kellyjonbrazil/jc.
  • Convert command output to JSON via pipe:
    {{ifconfig}} | jc {{--ifconfig}}
  • Convert command output to JSON via magic syntax:
    jc {{ifconfig}}
  • Output pretty JSON via pipe:
    {{ifconfig}} | jc {{--ifconfig}} -p
  • Output pretty JSON via magic syntax:
    jc -p {{ifconfig}}

tlmgr check

Check the consistency of a TeX Live installation. More information: https://www.tug.org/texlive/tlmgr.html.
  • Check the consistency of the whole TeX Live installation:
    tlmgr check all
  • Check the consistency of the whole TeX Live information in verbose mode:
    tlmgr check all -v
  • Check for missing dependencies:
    tlmgr check depends
  • Check if all TeX Live executables are present:
    tlmgr check executes
  • Check if all files listed in the local TLPDB are present:
    tlmgr check files
  • Check for duplicate filenames in the runfiles sections:
    tlmgr check runfiles

latexdiff

Determine differences between two LaTeX files. More information: https://ctan.org/pkg/latexdiff.
  • Determine changes between different versions of a LaTeX file (the resulting LaTeX file can be compiled to show differences underlined):
    latexdiff {{old.tex}} {{new.tex}} > {{diff.tex}}
  • Determine changes between different versions of a LaTeX file by highlighting differences in boldface:
    latexdiff --type=BOLD {{old.tex}} {{new.tex}} > {{diff.tex}}
  • Determine changes between different versions of a LaTeX file, and display minor changes in equations with both added and deleted graphics:
    latexdiff --math-markup=fine --graphics-markup=both {{old.tex}} {{new.tex}} > {{diff.tex}}

minikube

Tool to run Kubernetes locally. More information: https://github.com/kubernetes/minikube.
  • Start the cluster:
    minikube start
  • Get the IP address of the cluster:
    minikube ip
  • Access a service named my_service exposed via a node port and get the URL:
    minikube service {{my_service}} --url
  • Open the Kubernetes dashboard in a browser:
    minikube dashboard
  • Stop the running cluster:
    minikube stop
  • Delete the cluster:
    minikube delete
  • Connect to LoadBalancer services:
    minikube tunnel

colorpicker

A minimalist X11 colorpicker. Any mouse gesture except left click will exit the program. More information: https://github.com/ym1234/colorpicker.
  • Launch colorpicker and print the hexadecimal and RGB value of each clicked pixel to stdout:
    colorpicker
  • Only print the color of one clicked pixel and then exit:
    colorpicker --one-shot
  • Print the color of each clicked pixel and quit when a key is pressed:
    colorpicker --quit-on-keypress
  • Only print the RGB value:
    colorpicker --rgb
  • Only print the hexadecimal value:
    colorpicker --hex

pueue kill

Kill running tasks or whole groups. More information: https://github.com/Nukesor/pueue.
  • Kill all tasks in the default group:
    pueue kill
  • Kill a specific task:
    pueue kill {{task_id}}
  • Kill a task and terminate all its child processes:
    pueue kill --children {{task_id}}
  • Kill all tasks in a group and pause the group:
    pueue kill --group {{group_name}}
  • Kill all tasks across all groups and pause all groups:
    pueue kill --all

zless

View gzip and xz compressed files. More information: https://manned.org/zless.
  • Page through a gzip compressed file with less:
    zless {{file.txt.gz}}

birdc

Bird remote control. Command tool to retrieve information like routes from bird and perform configurations during runtime. More information: https://bird.network.cz/.
  • Open the remote control console:
    birdc
  • Reload the configuration without restarting Bird:
    birdc configure
  • Show the current status of Bird:
    birdc show status
  • Show all configured protocols:
    birdc show protocols
  • Show all details about a protocol:
    birdc show protocols {{upstream1}} all
  • Show all routes that contain a specific AS number:
    birdc "show route where bgp_path ~ [{{4242120045}}]"
  • Show all best routes:
    birdc show route primary
  • Show all details of all routes from a given prefix:
    birdc show route for {{fd00:/8}} all

puppet agent

Retrieves the client configuration from a Puppet server and applies it to the local host. More information: https://puppet.com/docs/puppet/7/man/agent.html.
  • Register a node at a Puppet server and apply the received catalog:
    puppet agent --test --server {{puppetserver_fqdn}} --serverport {{port}} --waitforcert {{poll_time}}
  • Run the agent in the background (uses settings from puppet.conf):
    puppet agent
  • Run the agent once in the foreground, then exit:
    puppet agent --test
  • Run the agent in dry-mode:
    puppet agent --test --noop
  • Log every resource being evaluated (even if nothing is being changed):
    puppet agent --test --evaltrace
  • Disable the agent:
    puppet agent --disable "{{message}}"
  • Enable the agent:
    puppet agent --enable

airmon-ng

Activate monitor mode on wireless network devices. Part of aircrack-ng. More information: https://www.aircrack-ng.org/doku.php?id=airmon-ng.
  • List wireless devices and their statuses:
    sudo airmon-ng
  • Turn on monitor mode for a specific device:
    sudo airmon-ng start {{wlan0}}
  • Kill disturbing processes that use wireless devices:
    sudo airmon-ng check kill
  • Turn off monitor mode for a specific network interface:
    sudo airmon-ng stop {{wlan0mon}}

mpv

A audio/video player based on MPlayer. More information: https://mpv.io.
  • Play a video or audio file:
    mpv {{path/to/file}}
  • Play a video or audio file from a URL:
    mpv '{{https://www.youtube.com/watch?v=dQw4w9WgXcQ}}'
  • Jump backward/forward 5 seconds:
    LEFT <or> RIGHT
  • Jump backward/forward 1 minute:
    DOWN <or> UP
  • Decrease or increase playback speed by 10%:
    [ <or> ]
  • Play a file at a specified speed (0.01 to 100, default 1):
    mpv --speed {{speed}} {{path/to/file}}
  • Play a file using a profile defined in the mpv.conf file:
    mpv --profile {{profile_name}} {{path/to/file}}
  • Display the output of webcam or other video input device:
    mpv /dev/{{video0}}

gdal_contour

Create contour lines and polygons from a digital elevation model. More information: https://gdal.org/programs/gdal_contour.html.
  • Create a vector dataset with contour lines spread over an 100-meter [i]nterval while [a]ttributing the elevation property as "ele":
    gdal_contour -a {{ele}} -i {{100.0}} {{path/to/input.tif}} {{path/to/output.gpkg}}
  • Create a vector dataset with [p]olygons spread over an 100-meter [i]nterval:
    gdal_contour -i {{100.0}} -p {{path/to/input.tif}} {{path/to/output.gpkg}}

prettier

An opinionated code formatter for JavaScript, JSON, CSS, YAML, and more. More information: https://prettier.io/.
  • Format a file and print the result to stdout:
    prettier {{path/to/file}}
  • Check if a specific file has been formatted:
    prettier --check {{path/to/file}}
  • Run with a specific configuration file:
    prettier --config {{path/to/config_file}} {{path/to/file}}
  • Format a file or directory, replacing the original:
    prettier --write {{path/to/file_or_directory}}
  • Format files or directories recursively using single quotes and no trailing commas:
    prettier --single-quote --trailing-comma {{none}} --write {{path/to/file_or_directory}}
  • Format JavaScript and TypeScript files recursively, replacing the original:
    prettier --write "**/*.{js,jsx,ts,tsx}"

clifm

The command-line file manager. More information: https://github.com/leo-arch/clifm.
  • Start CliFM:
    clifm
  • Open the file or directory whose ELN (entry list number) is 12:
    12
  • Create a new file and a new directory:
    n file dir/
  • Search for PDF files in the current directory:
    /*.pdf
  • Select all PNG files in the current directory:
    s *.png
  • Remove the previously selected files (use t to send the files to the recycle bin instead):
    r sel
  • Display detailed help:
    ?
  • Exit CliFM:
    q

su

Switch shell to another user. More information: https://manned.org/su.
  • Switch to superuser (requires the root password):
    su
  • Switch to a given user (requires the user's password):
    su {{username}}
  • Switch to a given user and simulate a full login shell:
    su - {{username}}
  • Execute a command as another user:
    su - {{username}} -c "{{command}}"

mitmweb

A web-based interactive man-in-the-middle HTTP proxy. See also: mitmproxy. More information: https://docs.mitmproxy.org/stable/concepts-options.
  • Start mitmweb with default settings:
    mitmweb
  • Start mitmweb bound to a custom address and port:
    mitmweb --listen-host {{ip_address}} --listen-port {{port}}
  • Start mitmweb using a script to process traffic:
    mitmweb --scripts {{path/to/script.py}}

adb reverse

Android Debug Bridge Reverse: reverse socket connections from an Android emulator instance or connected Android devices. More information: https://developer.android.com/studio/command-line/adb.
  • List all reverse socket connections from emulators and devices:
    adb reverse --list
  • Reverse a TCP port from an emulator or device to localhost:
    adb reverse tcp:{{remote_port}} tcp:{{local_port}}
  • Remove a reverse socket connections from an emulator or device:
    adb reverse --remove tcp:{{remote_port}}
  • Remove all reverse socket connections from all emulators and devices:
    adb reverse --remove-all

mtr

Matt's Traceroute: combined traceroute and ping tool. More information: https://www.bitwizard.nl/mtr/.
  • Traceroute to a host and continuously ping all intermediary hops:
    mtr {{example.com}}
  • Disable IP address and host name mapping:
    mtr --no-dns {{example.com}}
  • Generate output after pinging each hop 10 times:
    mtr --report-wide {{example.com}}
  • Force IP IPv4 or IPV6:
    mtr -4 {{example.com}}
  • Wait for a given time (in seconds) before sending another packet to the same hop:
    mtr --interval {{10}} {{example.com}}
  • Display the Autonomous System Number (ASN) for each hop:
    mtr --aslookup {{example.com}}
  • Display both IP address and reverse DNS name:
    mtr --show-ips {{example.com}}

lwp-request

Simple command-line HTTP client. Built with libwww-perl. More information: https://metacpan.org/pod/lwp-request.
  • Make a simple GET request:
    lwp-request -m GET {{http://example.com/some/path}}
  • Upload a file with a POST request:
    lwp-request -m POST {{http://example.com/some/path}} < {{path/to/file}}
  • Make a request with a custom user agent:
    lwp-request -H 'User-Agent: {{user_agent}} -m {{METHOD}} {{http://example.com/some/path}}
  • Make a request with HTTP authentication:
    lwp-request -C {{username}}:{{password}} -m {{METHOD}} {{http://example.com/some/path}}
  • Make a request and print request headers:
    lwp-request -U -m {{METHOD}} {{http://example.com/some/path}}
  • Make a request and print response headers and status chain:
    lwp-request -E -m {{METHOD}} {{http://example.com/some/path}}

lolcat

Put a rainbow in everything you cat to the console. More information: https://github.com/busyloop/lolcat.
  • Print a file to the console in rainbow colors:
    lolcat {{path/to/file}}
  • Print the result of a text-producing command in rainbow colors:
    {{fortune}} | lolcat
  • Print a file to the console with animated rainbow colors:
    lolcat -a {{path/to/file}}
  • Print a file to the console with 24-bit (truecolor) rainbow colors:
    lolcat -t {{path/to/file}}

gdaladdo

Build overview images of raster datasets. More information: https://gdal.org/programs/gdaladdo.
  • Build overview images of a raster dataset using the "average" [r]esampling method:
    gdaladdo -r average {{path/to/input.tif}}

odps

Aliyun ODPS (Open Data Processing Service) command-line tool. Some subcommands such as odps inst have their own usage documentation. More information: https://www.alibabacloud.com/help/doc-detail/27971.htm.
  • Start the command-line with a custom configuration file:
    odpscmd --config={{odps_config.ini}}
  • Switch current project:
    use {{project_name}};
  • Show tables in the current project:
    show tables;
  • Describe a table:
    desc {{table_name}};
  • Show table partitions:
    show partitions {{table_name}};
  • Describe a partition:
    desc {{table_name}} partition ({{partition_spec}});

xzcat

This command is an alias of xz --decompress --stdout. More information: https://manned.org/xzcat.
  • View documentation for the original command:
    tldr xz

git checkout-index

Copy files from the index to the working tree. More information: https://git-scm.com/docs/git-checkout-index.
  • Restore any files deleted since the last commit:
    git checkout-index --all
  • Restore any files deleted or changed since the last commit:
    git checkout-index --all --force
  • Restore any files changed since the last commit, ignoring any files that were deleted:
    git checkout-index --all --force --no-create
  • Export a copy of the entire tree at the last commit to the specified directory (the trailing slash is important):
    git checkout-index --all --force --prefix={{path/to/export_directory/}}

tldr

Display simple help pages for command-line tools from the tldr-pages project. More information: https://tldr.sh.
  • Print the tldr page for a specific command (hint: this is how you got here!):
    tldr {{command}}
  • Print the tldr page for a specific subcommand:
    tldr {{command}}-{{subcommand}}
  • Print the tldr page for a command for a specific [p]latform:
    tldr -p {{android|linux|osx|sunos|windows}} {{command}}
  • [u]pdate the local cache of tldr pages:
    tldr -u

fc

Open the most recent command and edit it. More information: https://manned.org/fc.
  • Open in the default system editor:
    fc
  • Specify an editor to open with:
    fc -e {{'emacs'}}
  • List recent commands from history:
    fc -l
  • List recent commands in reverse order:
    fc -l -r
  • List commands in a given interval:
    fc '{{416}}' '{{420}}'

r2

This command is an alias of radare2.
  • View documentation for the original command:
    tldr radare2

rar

The RAR archiver. Supports multi-volume archives that can be optionally self-extracting. More information: https://manned.org/rar.
  • Archive 1 or more files:
    rar a {{path/to/archive_name.rar}} {{path/to/file1}} {{path/to/file2}} {{path/to/file3}}
  • Archive a directory:
    rar a {{path/to/archive_name.rar}} {{path/to/directory}}
  • Split the archive into parts of equal size (50M):
    rar a -v{{50M}} -R {{path/to/archive_name.rar}} {{path/to/file_or_directory}}
  • Password protect the resulting archive:
    rar a -p{{password}} {{path/to/archive_name.rar}} {{path/to/file_or_directory}}
  • Encrypt file data and headers with password:
    rar a -hp{{password}} {{path/to/archive_name.rar}} {{path/to/file_or_directory}}
  • Use a specific compression level (0-5):
    rar a -m{{compression_level}} {{path/to/archive_name.rar}} {{path/to/file_or_directory}}

shards

Dependency management tool for the Crystal language. More information: https://crystal-lang.org/reference/the_shards_command.
  • Create a skeleton shard.yml file:
    shards init
  • Install dependencies from a shard.yml file:
    shards install
  • Update all dependencies:
    shards update
  • List all installed dependencies:
    shards list
  • List version of dependency:
    shards version {{path/to/dependency_directory}}

kak

Kakoune is a mode-based code editor implementing the "multiple selections" paradigm. Data can be selected and simultaneously edited in different locations, using multiple selections; users can also connect to the same session for collaborative editing. More information: https://kakoune.org.
  • Open a file and enter normal mode, to execute commands:
    kak {{path/to/file}}
  • Enter insert mode from normal mode, to write text into the file:
    i
  • Escape insert mode, to go back to normal mode:
    <Escape>
  • Replace all instances of "foo" in the current file with "bar":
    %s{{foo}}<Enter>c{{bar}}<Escape>
  • Unselect all secondary selections, and keep only the main one:
    <Space>
  • Search for numbers and select the first two:
    /\d+<Enter>N
  • Insert the contents of a file:
    !cat {{path/to/file}}<Enter>
  • Save the current file:
    :w<Enter>

gibo

Fetch gitignore boilerplates. More information: https://github.com/simonwhitaker/gibo.
  • List available boilerplates:
    gibo list
  • Write a boilerplate to stdout:
    gibo dump {{boilerplate}}
  • Write a boilerplate to .gitignore:
    gibo dump {{boilerplate}} >>{{.gitignore}}
  • Search for boilerplates containing a given string:
    gibo search {{string}}
  • Update available local boilerplates:
    gibo update

virsh-undefine

Delete a virtual machine. More information: https://manned.org/virsh.
  • Delete only the virtual machine configuration file:
    virsh undefine --domain {{vm_name}}
  • Delete the configuration file and all associated storage volumes:
    virsh undefine --domain {{vm_name}} --remove-all-storage
  • Delete the configuration file and the specified storage volumes using the target name or the source name (as obtained from the virsh domblklist command):
    virsh undefine --domain {{vm_name}} --storage {{sda,path/to/source}}

spatial

A set of commands for managing and developing SpatialOS projects. More information: https://ims.improbable.io/products/spatialos.
  • Run this when you use a project for the first time:
    spatial worker build
  • Build workers for local deployment on Unity on macOS:
    spatial worker build --target=development --target=Osx
  • Build workers for local deployment on Unreal on Windows:
    spatial worker build --target=local --target=Windows
  • Deploy locally:
    spatial local launch {{launch_config}} --snapshot={{snapshot_file}}
  • Launch a local worker to connect to your local deployment:
    spatial local worker launch {{worker_type}} {{launch_config}}
  • Upload an assembly to use for cloud deployments:
    spatial cloud upload {{assembly_name}}
  • Launch a cloud deployment:
    spatial cloud launch {{assembly_name}} {{launch_config}} {{deployment_name}}
  • Clean worker directories:
    spatial worker clean

gsutil

Access Google Cloud Storage. You can use gsutil to do a wide range of bucket and object management tasks. More information: https://cloud.google.com/storage/docs/gsutil.
  • List all buckets in a project you are logged into:
    gsutil ls
  • List the objects in a bucket:
    gsutil ls -r 'gs://{{bucket_name}}/{{prefix}}**'
  • Download an object from a bucket:
    gsutil cp gs://{{bucket_name}}/{{object_name}} {{path/to/save_location}}
  • Upload an object to a bucket:
    gsutil cp {{object_location}} gs://{{destination_bucket_name}}/
  • Rename or move objects in a bucket:
    gsutil mv gs://{{bucket_name}}/{{old_object_name}} gs://{{bucket_name}}/{{new_object_name}}
  • Create a new bucket in the project you are logged into:
    gsutil mb gs://{{bucket_name}}
  • Delete a bucket and remove all the objects in it:
    gsutil rm -r gs://{{bucket_name}}

mongodump

Utility to export the contents of a MongoDB instance. More information: https://docs.mongodb.com/database-tools/mongodump/.
  • Create a dump of all databases (this will place the files inside a directory called "dump"):
    mongodump
  • Specify an output location for the dump:
    mongodump --out {{path/to/directory}}
  • Create a dump of a given database:
    mongodump --db {{database_name}}
  • Create a dump of a given collection within a given database:
    mongodump --collection {{collection_name}} --db {{database_name}}
  • Connect to a given host running on a given port, and create a dump:
    mongodump --host {{host}} --port {{port}}
  • Create a dump of a given database with a given username; user will be prompted for password:
    mongodump --username {{username}} {{database}} --password
  • Create a dump from a specific instance; host, user, password and database will be defined in the connection string:
    mongodump --uri {{connection_string}}

true

Returns a successful exit status code of 0. Use this with the || operator to make a command always exit with 0. More information: https://www.gnu.org/software/coreutils/true.
  • Return a successful exit code:
    true

ln

Creates links to files and directories. More information: https://www.gnu.org/software/coreutils/ln.
  • Create a symbolic link to a file or directory:
    ln -s {{/path/to/file_or_directory}} {{path/to/symlink}}
  • Overwrite an existing symbolic link to point to a different file:
    ln -sf {{/path/to/new_file}} {{path/to/symlink}}
  • Create a hard link to a file:
    ln {{/path/to/file}} {{path/to/hardlink}}

aws s3 rm

Delete S3 objects. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/rm.html.
  • Delete a specific S3 object:
    aws s3 rm s3://{{bucket_name}}/{{path/to/file}}
  • Preview the deletion of a specific S3 object without deleting it (dry-run):
    aws s3 rm s3://{{bucket_name}}/{{path/to/file}} --dryrun
  • Delete an object from a specific S3 access point:
    aws s3 rm s3://arn:aws:s3:{{region}}:{{account_id}}:{{access_point}}/{{access_point_name}}/{{object_key}}
  • Display help:
    aws s3 rm help

phive

The Phar Installation and Verification Environment for secure PHP application deployment. More information: https://phar.io.
  • Display a list of available aliased Phars:
    phive list
  • Install a specified Phar to the local directory:
    phive install {{alias|url}}
  • Install a specified Phar globally:
    phive install {{alias|url}} --global
  • Install a specified Phar to a target directory:
    phive install {{alias|url}} --target {{path/to/directory}}
  • Update all Phar files to the latest version:
    phive update
  • Remove a specified Phar file:
    phive remove {{alias|url}}
  • Remove unused Phar files:
    phive purge
  • List all available commands:
    phive help

date

Set or display the system date. More information: https://www.gnu.org/software/coreutils/date.
  • Display the current date using the default locale's format:
    date +%c
  • Display the current date in UTC, using the ISO 8601 format:
    date -u +%Y-%m-%dT%H:%M:%S%Z
  • Display the current date as a Unix timestamp (seconds since the Unix epoch):
    date +%s
  • Convert a date specified as a Unix timestamp to the default format:
    date -d @{{1473305798}}
  • Convert a given date to the Unix timestamp format:
    date -d "{{2018-09-01 00:00}}" +%s --utc
  • Display the current date using the RFC-3339 format (YYYY-MM-DD hh:mm:ss TZ):
    date --rfc-3339=s
  • Set the current date using the format MMDDhhmmYYYY.ss (YYYY and .ss are optional):
    date {{093023592021.59}}
  • Display the current ISO week number:
    date +%V

sfdp

Render an image of a scaled force-directed network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    sfdp -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    sfdp -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    sfdp -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | sfdp -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    sfdp -?

grep

Find patterns in files using regular expressions. More information: https://www.gnu.org/software/grep/manual/grep.html.
  • Search for a pattern within a file:
    grep "{{search_pattern}}" {{path/to/file}}
  • Search for an exact string (disables regular expressions):
    grep --fixed-strings "{{exact_string}}" {{path/to/file}}
  • Search for a pattern in all files recursively in a directory, showing line numbers of matches, ignoring binary files:
    grep --recursive --line-number --binary-files={{without-match}} "{{search_pattern}}" {{path/to/directory}}
  • Use extended regular expressions (supports ?, +, {}, () and |), in case-insensitive mode:
    grep --extended-regexp --ignore-case "{{search_pattern}}" {{path/to/file}}
  • Print 3 lines of context around, before, or after each match:
    grep --{{context|before-context|after-context}}={{3}} "{{search_pattern}}" {{path/to/file}}
  • Print file name and line number for each match with color output:
    grep --with-filename --line-number --color=always "{{search_pattern}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    grep --only-matching "{{search_pattern}}" {{path/to/file}}
  • Search stdin for lines that do not match a pattern:
    cat {{path/to/file}} | grep --invert-match "{{search_pattern}}"

spike

A fully featured static website generator written in JavaScript. More information: https://spike.js.org.
  • Create a new project using the default template:
    spike new {{project_name}}
  • Compile your project, watch for changes, and auto-reload the browser:
    spike watch
  • Compile your project once to the "public" directory:
    spike compile
  • Remove the output directory:
    spike clean

blockout2

Tetris like game in 3D. More information: http://www.blockout.net/blockout2/.
  • Start a new game:
    blockout2
  • Navigate the current piece on a 2D plane:
    {{Up|Down|Left|Right}} arrow key
  • Rotate the piece on its axis:
    {{Q|W|E|A|S|D}}
  • Hard drop the current piece:
    Spacebar
  • Pause/unpause the game:
    p

live-server

A simple development HTTP server with live reload capability. More information: https://github.com/tapio/live-server.
  • Serve an index.html file and reload on changes:
    live-server
  • Specify a port (default is 8080) from which to serve a file:
    live-server --port={{8081}}
  • Specify a given file to serve:
    live-server --open={{about.html}}
  • Proxy all requests for ROUTE to URL:
    live-server --proxy={{/}}:{{http:localhost:3000}}

opam

OCaml Package Manager. Manage OCaml compilers, tools and libraries. More information: https://opam.ocaml.org/.
  • Initialize opam for first use:
    opam init
  • Search for packages:
    opam search {{query}}
  • Install a package and all of its dependencies:
    opam install {{package}}
  • Display detailed information about a package:
    opam show {{package}}
  • List all installed packages:
    opam list
  • Update the local package database:
    opam update
  • Upgrade all installed packages:
    opam upgrade
  • Display all commands:
    opam help

standard-version

Automate versioning and changelog generation, with SemVer and Conventional Commits. More information: https://github.com/conventional-changelog/standard-version.
  • Update the changelog file and tag a release:
    standard-version
  • Tag a release without bumping the version:
    standard-version --first-release
  • Update the changelog and tag an alpha release:
    standard-version --prerelease alpha
  • Update the changelog and tag a specific release type:
    standard-version --release-as {{major|minor|patch}}
  • Tag a release, preventing hooks from being verified during the commit step:
    standard-version --no-verify
  • Tag a release committing all staged changes, not just files affected by standard-version:
    standard-version --commit-all
  • Update a specific changelog file and tag a release:
    standard-version --infile {{path/to/file.md}}
  • Display the release that would be performed without performing them:
    standard-version --dry-run

git reflog

Show a log of changes to local references like HEAD, branches or tags. More information: https://git-scm.com/docs/git-reflog.
  • Show the reflog for HEAD:
    git reflog
  • Show the reflog for a given branch:
    git reflog {{branch_name}}
  • Show only the 5 latest entries in the reflog:
    git reflog -n {{5}}

virsh pool-build

Build the underlying storage system for a virtual machine storage pool as defined in it's configuration file in /etc/libvirt/storage. See also: virsh, virsh-pool-define-as, virsh-pool-start. More information: https://manned.org/virsh.
  • Build the storage pool specified by name or UUID (determine using virsh pool-list):
    virsh pool-build --pool {{name|uuid}}

ngrep

Filter network traffic packets using regular expressions. More information: https://github.com/jpr5/ngrep.
  • Capture traffic of all interfaces:
    ngrep -d any
  • Capture traffic of a specific interface:
    ngrep -d {{eth0}}
  • Capture traffic crossing port 22 of interface eth0:
    ngrep -d {{eth0}} port {{22}}
  • Capture traffic from or to a host:
    ngrep host {{www.example.com}}
  • Filter keyword 'User-Agent:' of interface eth0:
    ngrep -d {{eth0}} '{{User-Agent:}}'

zbarimg

Scan and decode bar codes from image file(s). More information: http://zbar.sourceforge.net.
  • Process an image file:
    zbarimg {{image_file}}

mumble

Low-latency, high quality voice chat software. More information: https://www.mumble.info.
  • Open Mumble:
    mumble
  • Open Mumble and immediately connect to a server:
    mumble mumble://{{username}}@{{example.com}}
  • Open Mumble and immediately connect to a password protected server:
    mumble mumble://{{username}}:{{password}}@{{example.com}}
  • Mute/unmute the microphone in a running Mumble instance:
    mumble rpc {{mute|unmute}}
  • Mute/unmute the microphone and the audio output of Mumble:
    mumble rpc {{deaf|undeaf}}

psalm

A static analysis tool for finding errors in PHP applications. More information: https://psalm.dev.
  • Generate a Psalm configuration:
    psalm --init
  • Analyze the current working directory:
    psalm
  • Analyze a specific directory or file:
    psalm {{path/to/file_or_directory}}
  • Analyze a project with a specific configuration file:
    psalm --config {{path/to/psalm.xml}}
  • Include informational findings in the output:
    psalm --show-info
  • Analyze a project and display statistics:
    psalm --stats
  • Analyze a project in parallel with 4 threads:
    psalm --threads {{4}}

lua

A powerful, light-weight embeddable programming language. More information: https://www.lua.org.
  • Start an interactive Lua shell:
    lua
  • Execute a Lua script:
    lua {{path/to/script.lua}} {{--optional-argument}}
  • Execute a Lua expression:
    lua -e '{{print("Hello World")}}'

gh workflow

List, view, and run GitHub Actions workflows. More information: https://cli.github.com/manual/gh_workflow.
  • Interactively select a workflow to view the latest jobs for:
    gh workflow view
  • View a specific workflow in the default browser:
    gh workflow view {{id|workflow_name|filename.yml}} --web
  • Display the YAML definition of a specific workflow:
    gh workflow view {{id|workflow_name|filename.yml}} --yaml
  • Display the YAML definition for a specific Git branch or tag:
    gh workflow view {{id|workflow_name|filename.yml}} --ref {{branch|tag_name}} --yaml
  • List workflow files (use --all to include disabled workflows):
    gh workflow list
  • Run a manual workflow with parameters:
    gh workflow run {{id|workflow_name|filename.yml}} {{--raw-field param1=value1 --raw-field param2=value2 ...}}
  • Run a manual workflow using a specific branch or tag with JSON parameters from stdin:
    echo '{{{"param1": "value1", "param2": "value2", ...}}}' | gh workflow run {{id|workflow_name|filename.yml}} --ref {{branch|tag_name}}
  • Enable or disable a specific workflow:
    gh workflow {{enable|disable}} {{id|workflow_name|filename.yml}}

ninja

A Build system designed to be fast. More information: https://ninja-build.org/manual.html.
  • Build in the current directory:
    ninja
  • Build in the current directory, executing 4 jobs at a time in parallel:
    ninja -j {{4}}
  • Build a program in a given directory:
    ninja -C {{path/to/directory}}
  • Show targets (e.g. install and uninstall):
    ninja -t targets
  • Show help:
    ninja -h

scrcpy

Display and control your Android device on a desktop. More information: https://github.com/Genymobile/scrcpy.
  • Display a mirror of a connected device:
    scrcpy
  • Display a mirror of a specific device based on its ID or IP address (find it under the adb devices command):
    scrcpy --serial {{0123456789abcdef|192.168.0.1:5555}}
  • Start display in fullscreen mode:
    scrcpy --fullscreen
  • Rotate the display screen. Each incremental value adds a 90 degree counterclockwise rotation:
    scrcpy --rotation {{0|1|2|3}}
  • Show touches on physical device:
    scrcpy --show-touches
  • Record display screen:
    scrcpy --record {{path/to/file.mp4}}
  • Set target directory for pushing files to device by drag and drop (non-APK):
    scrcpy --push-target {{path/to/directory}}

hashcat

Fast and advanced password recovery tool. More information: https://hashcat.net/wiki/doku.php?id=hashcat.
  • Perform a brute-force attack (mode 3) with the default hashcat mask:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{3}} {{hash_value}}
  • Perform a brute-force attack (mode 3) with a known pattern of 4 digits:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{3}} {{hash_value}} "{{?d?d?d?d}}"
  • Perform a brute-force attack (mode 3) using at most 8 of all printable ASCII characters:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{3}} --increment {{hash_value}} "{{?a?a?a?a?a?a?a?a}}"
  • Perform a dictionary attack (mode 0) using the RockYou wordlist of a Kali Linux box:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{0}} {{hash_value}} {{/usr/share/wordlists/rockyou.txt}}
  • Perform a rule-based dictionary attack (mode 0) using the RockYou wordlist mutated with common password variations:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{0}} --rules-file {{/usr/share/hashcat/rules/best64.rule}} {{hash_value}} {{/usr/share/wordlists/rockyou.txt}}
  • Perform a combination attack (mode 1) using the concatenation of words from two different custom dictionaries:
    hashcat --hash-type {{hash_type_id}} --attack-mode {{1}} {{hash_value}} {{/path/to/dictionary1.txt}} {{/path/to/dictionary2.txt}}
  • Show result of an already cracked hash:
    hashcat --show {{hash_value}}

venv

Create lightweight virtual environments in python. More information: https://docs.python.org/3/library/venv.html.
  • Create a python virtual environment:
    python -m venv {{path/to/virtual_environment}}
  • Activate the virtual environment (Linux and Mac OS):
    source {{path/to/virtual_environment}}/bin/activate
  • Activate the virtual environment (Windows):
    {{path\to\virtual_environment}}\Scripts\activate.bat
  • Deactivate the virtual environment:
    deactivate

f3write

Fill a drive out with .h2w files to test its real capacity. See also f3read, f3probe, f3fix. More information: http://oss.digirati.com.br/f3/.
  • Write test files to a given directory, filling the drive:
    f3write {{path/to/mount_point}}
  • Limit the write speed:
    f3write --max-write-rate={{kb_per_second}} {{path/to/mount_point}}

wondershaper

Allows the user to limit the bandwidth of one or more network adapters. More information: https://github.com/magnific0/wondershaper#usage.
  • Display [h]elp:
    wondershaper -h
  • Show the current [s]tatus of a specific [a]dapter:
    wondershaper -s -a {{adapter_name}}
  • Clear limits from a specific [a]dapter:
    wondershaper -c -a {{adapter_name}}
  • Set a specific maximum [d]ownload rate (in Kbps):
    wondershaper -a {{adapter_name}} -d {{1024}}
  • Set a specific maximum [u]pload rate (in Kbps):
    wondershaper -a {{adapter_name}} -u {{512}}
  • Set a specific maximum [d]ownload rate and [u]pload rate (in Kpbs):
    wondershaper -a {{adapter_name}} -d {{1024}} -u {{512}}

sf

Salesforce CLI is a powerful command line interface that simplifies development and build automation when working with your Salesforce org. More information: https://developer.salesforce.com/tools/salesforcecli.
  • Authorize a Salesforce Organization:
    sf force:auth:web:login --setalias {{organization}} --instanceurl {{organization_url}}
  • List all authorized organizations:
    sf force:org:list
  • Open a specific organization in the default web browser:
    sf force:org:open --targetusername {{organization}}
  • Display information about a specific organization:
    sf force:org:display --targetusername {{organization}}
  • Push source metadata to an Organization:
    sf force:source:push --targetusername {{organization}}
  • Pull source metadata from an Organization:
    sf force:source:pull --targetusername {{organization}}
  • Generate a password for the organization's logged-in user:
    sf force:user:password:generate --targetusername {{organization}}
  • Assign a permission set for the organization's logged-in user:
    sf force:user:permset:assign --permsetname {{permission_set_name}} --targetusername {{organization}}

kate

KDE's advanced text editor. More information: https://kate-editor.org/.
  • Open specific files:
    kate {{path/to/file1 path/to/file2 ...}}
  • Open specific remote files:
    kate {{https://example.com/path/to/file1 https://example.com/path/to/file2 ...}}
  • Create a new editor instance even if one is already open:
    kate --new
  • Open a file with the cursor at the specific line:
    kate --line {{line_number}} {{path/to/file}}
  • Open a file with the cursor at the specific line and column:
    kate --line {{line_number}} --column {{column_number}} {{path/to/file}}
  • Create a file from stdin:
    cat {{path/to/file}} | kate --stdin
  • Display help:
    kate --help

m4

Macro processor. More information: https://www.gnu.org/software/m4.
  • Process macros in a file:
    m4 {{path/to/file}}
  • Define a macro before processing files:
    m4 -D{{macro_name}}={{macro_value}} {{path/to/file}}

moe

A WYSIWYG text editor for ISO-8859-15 encoded text. More information: https://www.gnu.org/software/moe/moe.html.
  • Open moe and create a backup file (file~) when saving edits:
    moe {{path/to/file}}
  • Open a file as read-only:
    moe --read-only {{path/to/file}}
  • Edit a file without creating backups:
    moe --no-backup {{path/to/file}}
  • Edit a file ignoring case in searches:
    moe --ignore-case {{path/to/file}}
  • Save and Quit:
    Ctrl + X

gcloud

The official CLI tool for Google Cloud Platform. More information: https://cloud.google.com/sdk/gcloud.
  • List all properties in one's active configuration:
    gcloud config list
  • Log in to Google account:
    gcloud auth login
  • Set the active project:
    gcloud config set project {{project_name}}
  • SSH into a virtual machine instance:
    gcloud compute ssh {{user}}@{{instance}}
  • Display all Google Compute Engine instances in a project. Instances from all zones are listed by default:
    gcloud compute instances list
  • Update a kubeconfig file with the appropriate credentials to point kubectl to a specific cluster in Google Kubernetes Engine:
    gcloud container clusters get-credentials {{cluster_name}}
  • Update all gcloud CLI components:
    gcloud components update
  • Show help for a given command:
    gcloud help {{command}}

jwt

Work with JSON Web Tokens (JWTs). Encryption algorithms available are HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384. More information: https://github.com/mike-engel/jwt-cli.
  • Decode a JWT:
    jwt decode {{jwt_string}}
  • Decode a JWT as a JSON string:
    jwt decode -j {{jwt_string}}
  • Encode a JSON string to a JWT:
    jwt encode --alg {{HS256}} --secret {{1234567890}} '{{json_string}}'
  • Encode key pair payload to JWT:
    jwt encode --alg {{HS256}} --secret {{1234567890}} -P key=value

twm

A window manager for the X Window system. More information: https://gitlab.freedesktop.org/xorg/app/twm.
  • Connect to the default X server:
    twm
  • Connect to a specific X server:
    twm -display {{display}}
  • Only manage the default screen:
    twm -s
  • Use a specific startup file:
    twm -f {{path/to/file}}
  • Enable verbose mode and print unexpected errors in X:
    twm -v

sd

Intuitive find and replace. More information: https://github.com/chmln/sd.
  • Trim some whitespace using a regular expression (output stream: stdout):
    {{echo 'lorem ipsum 23 '}} | sd '\s+$' ''
  • Replace words using capture groups (output stream: stdout):
    {{echo 'cargo +nightly watch'}} | sd '(\w+)\s+\+(\w+)\s+(\w+)' 'cmd: $1, channel: $2, subcmd: $3'
  • Find and replace in a specific file (output stream: stdout):
    sd -p {{'window.fetch'}} {{'fetch'}} {{path/to/file.js}}
  • Find and replace in all files in the current project (output stream: stdout):
    sd {{'from "react"'}} {{'from "preact"'}} "$(find . -type f)"

paci

A package manager for Bash scripts. More information: https://github.com/tradebyte/paci.
  • Update the list of available packages and versions (it's recommended to run this before other paci commands):
    paci refresh
  • Configure its behaviour:
    paci configure
  • Search for a given package:
    paci search {{package}}
  • Install a package:
    paci install {{package}}
  • Update a package:
    paci update {{package}}

git mailinfo

Extract patch and authorship information from a single email message. More information: https://git-scm.com/docs/git-mailinfo.
  • Extract the patch and author data from an email message:
    git mailinfo {{message|patch}}
  • Extract but remove leading and trailing whitespace:
    git mailinfo -k {{message|patch}}
  • Remove everything from the body before a scissors line (e.g. "-->* --") and retrieve the message or patch:
    git mailinfo --scissors {{message|patch}}

tlmgr remove

Uninstall TeX Live packages. By default, removed packages will be backed up to ./tlpkg/backups under the TL installation directory. More information: https://www.tug.org/texlive/tlmgr.html.
  • Uninstall a TeX Live package:
    sudo tlmgr remove {{package}}
  • Simulate uninstalling a package without making any changes:
    tlmgr remove --dry-run {{package}}
  • Uninstall a package without its dependencies:
    sudo tlmgr remove --no-depends {{package}}
  • Uninstall a package and back it up to a specific directory:
    sudo tlmgr remove --backupdir {{path/to/directory}} {{package}}
  • Uninstall all of TeX Live, asking for confirmation:
    sudo tlmgr remove --all

berks

Chef cookbook dependency manager. More information: https://docs.chef.io/berkshelf.html.
  • Install cookbook dependencies into a local repo:
    berks install
  • Update a specific cookbook and its dependencies:
    berks update {{cookbook}}
  • Upload a cookbook to the Chef server:
    berks upload {{cookbook}}
  • View the dependencies of a cookbook:
    berks contingent {{cookbook}}

ROPgadget

Find ROP gadgets in binary files. More information: https://github.com/JonathanSalwan/ROPgadget.
  • List gadgets in the binary file:
    ROPgadget --binary {{path/to/binary}}
  • Filter gadgets in the binary file by a regular expression:
    ROPgadget --binary {{path/to/binary}} --re {{regex}}
  • List gadgets in the binary file, excluding specified type:
    ROPgadget --binary {{path/to/binary}} --{{norop|nojob|nosys}}
  • Exclude bad byte gadgets in the binary file:
    ROPgadget --binary {{path/to/binary}} --badbytes {{byte_string}}
  • List gadgets up to the specified number of bytes in the binary file:
    ROPgadget --binary {{path/to/binary}} --depth {{nbyte}}

wordgrinder

Command-line word processor. More information: https://cowlark.com/wordgrinder.
  • Start WordGrinder (loads a blank document by default):
    wordgrinder
  • Open a given file:
    wordgrinder {{filename}}
  • Show the menu:
    Alt + M

gdb

The GNU Debugger. More information: https://www.gnu.org/software/gdb.
  • Debug an executable:
    gdb {{executable}}
  • Attach a process to gdb:
    gdb -p {{procID}}
  • Debug with a core file:
    gdb -c {{core}} {{executable}}
  • Execute given GDB commands upon start:
    gdb -ex "{{commands}}" {{executable}}
  • Start gdb and pass arguments to the executable:
    gdb --args {{executable}} {{argument1}} {{argument2}}

kompose

A tool to convert docker-compose applications to Kubernetes. More information: https://github.com/kubernetes/kompose.
  • Deploy a dockerized application to Kubernetes:
    kompose up -f {{docker-compose.yml}}
  • Delete instantiated services/deployments from Kubernetes:
    kompose down -f {{docker-compose.yml}}
  • Convert a docker-compose file into Kubernetes resources file:
    kompose convert -f {{docker-compose.yml}}

tlmgr info

Show information about TeX Live packages. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all available TeX Live packages, prefexing installed ones with i:
    tlmgr info
  • List all available collections:
    tlmgr info collections
  • List all available schemes:
    tlmgr info scheme
  • Show information about a specific package:
    tlmgr info {{package}}
  • List all files contained in a specific package:
    tlmgr info {{package}} --list
  • List all installed packages:
    tlmgr info --only-installed
  • Show only specific information about a package:
    tlmgr info {{package}} --data "{{name}},{{category}},{{installed}},{{size}},{{depends}},..."
  • Print all available packages as JSON encoded array:
    tlmgr info --json

web-ext

A command-line tool for managing web extension development. More information: https://github.com/mozilla/web-ext.
  • Run the web extension in the current directory in Firefox:
    web-ext run
  • Run a web extension from a specific directory in Firefox:
    web-ext run --source-dir {{path/to/directory}}
  • Display verbose execution output:
    web-ext run --verbose
  • Run a web extension in Firefox Android:
    web-ext run --target firefox-android
  • Lint the manifest and source files for errors:
    web-ext lint
  • Build and package the extension:
    web-ext build
  • Display verbose build output:
    web-ext build --verbose
  • Sign a package for self-hosting:
    web-ext sign --api-key {{api_key}} --api-secret {{api_secret}}

gnuplot

A graph plotter that outputs in several formats. More information: http://www.gnuplot.info/.
  • Start the interactive graph plotting shell:
    gnuplot
  • Plot the graph for the specified graph definition file:
    gnuplot {{path/to/definition.plt}}
  • Set the output format by executing a command before loading the definition file:
    gnuplot -e "{{set output "path/to/filename.png" size 1024,768}}" {{path/to/definition.plt}}
  • Persist the graph plot preview window after gnuplot exits:
    gnuplot --persist {{path/to/definition.plt}}

kubectl edit

Edit Kubernetes resources. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#edit.
  • Edit a pod:
    kubectl edit pod/{{pod_name}}
  • Edit a deployment:
    kubectl edit deployment/{{deployment_name}}
  • Edit a service:
    kubectl edit svc/{{service_name}}
  • Edit a resource using a specific editor:
    KUBE_EDITOR={{nano}} kubectl edit {{resource}}/{{resource_name}}
  • Edit a resource in JSON format:
    kubectl edit {{resource}}/{{resource_name}} --output json

sshuttle

Transparent proxy server that tunnels traffic over an SSH connection. Doesn't require root or any special setup on the remote SSH server, though root access on the local machine is prompted for. More information: https://manned.org/sshuttle.
  • Forward all IPv4 TCP traffic via a remote SSH server:
    sshuttle --remote={{username}}@{{sshserver}} {{0.0.0.0/0}}
  • Also forward all DNS traffic to the server's default DNS resolver:
    sshuttle --dns --remote={{username}}@{{sshserver}} {{0.0.0.0/0}}
  • Forward all traffic except that which is bound for a specific subnet:
    sshuttle --remote={{username}}@{{sshserver}} {{0.0.0.0/0}} --exclude {{192.168.0.1/24}}
  • Use the tproxy method to forward all IPv4 and IPv6 traffic:
    sshuttle --method=tproxy --remote={{username}}@{{sshserver}} {{0.0.0.0/0}} {{::/0}} --exclude={{your_local_ip_address}} --exclude={{ssh_server_ip_address}}

tlmgr search

Search for TeX Live packages using (Perl) regular expressions. More information: https://www.tug.org/texlive/tlmgr.html.
  • Search for a package name and descriptions of all locally installed packages from a specific regular expression:
    tlmgr search "{{regular_expression}}"
  • Search for all file names of all locally installed packages from a regular expression:
    tlmgr search --file "{{regular_expression}}"
  • Search for all file names, package names, and descriptions of all locally installed packages from a regular expression:
    tlmgr search --all "{{regular_expression}}"
  • Search the TeX Live database, instead of the local installation:
    tlmgr search --global "{{regular_expression}}"
  • Restrict the matches for package names and descriptions (but not for file names) to whole words:
    tlmgr search --all --word "{{regular_expression}}"

aws workmail

Manage Amazon WorkMail. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/workmail/index.html.
  • List all WorkMail organizations:
    aws workmail list-organizations
  • List all users of a specific organization:
    aws workmail list-users --organization-id {{organization_id}}
  • Create a WorkMail user in a specific organization:
    aws workmail create-user --name {{username}} --display-name {{name}} --password {{password}} --organization-id {{organization_id}}
  • Register and enable a group/user to WorkMail:
    aws workmail register-to-work-mail --entity-id {{entity_id}} --email {{email}} --organization-id {{organization_id}}
  • Create a WorkMail group in a specific organization:
    aws workmail create-group --name {{group_name}} --organization-id {{organization_id}}
  • Associate a member to a specific group:
    aws workmail associate-member-to-group --group-id {{group_id}} --member-id {{member_id}} --organization-id {{organization_id}}
  • Deregister and disable a user/group from WorkMail:
    aws workmail deregister-from-work-mail --entity-id {{entity_id}} --organization-id {{organization_id}}
  • Delete a user from an organization:
    aws workmail delete-user --user-id {{user_id}} --organization-id {{organization_id}}

tmsu

Simple command-line tool for tagging files. More information: https://tmsu.org.
  • Tag a specific file with multiple tags:
    tmsu tag {{path/to/file.mp3}} {{music}} {{big-jazz}} {{mp3}}
  • Tag multiple files:
    tmsu tag --tags "{{music mp3}}" {{*.mp3}}
  • List tags of specified file(s):
    tmsu tags {{*.mp3}}
  • List files with specified tag(s):
    tmsu files {{big-jazz}} {{music}}
  • List files with tags matching boolean expression:
    tmsu files "{{(year >= 1990 and year <= 2000)}} and {{grunge}}"
  • Mount tmsu virtual filesystem to an existing directory:
    tmsu mount {{path/to/directory}}

psgrep

Search running processes with grep. More information: https://jvz.github.io/psgrep.
  • Find process lines containing a specific string:
    psgrep {{process_name}}
  • Find process lines containing a specific string, excluding headers:
    psgrep -n {{process_name}}
  • Search using a simplified format (PID, user, command):
    psgrep -s {{process_name}}

fgrep

Matches fixed strings in files. Equivalent to grep -F. More information: https://www.gnu.org/software/grep/manual/grep.html.
  • Search for an exact string in a file:
    fgrep {{search_string}} {{path/to/file}}
  • Search only lines that match entirely in files:
    fgrep -x {{path/to/file1}} {{path/to/file2}}
  • Count the number of lines that match the given string in a file:
    fgrep -c {{search_string}} {{path/to/file}}
  • Show the line number in the file along with the line matched:
    fgrep -n {{search_string}} {{path/to/file}}
  • Display all lines except those that contain the search string:
    fgrep -v {{search_string}} {{path/to/file}}
  • Display filenames whose content matches the search string at least once:
    fgrep -l {{search_string}} {{path/to/file1}} {{path/to/file2}}

grex

Generate regular expressions. More information: https://github.com/pemistahl/grex.
  • Generate a simple regular expression:
    grex {{space_separated_strings}}
  • Generate a case-insensitive regular expression:
    grex -i {{space_separated_strings}}
  • Replace digits with '\d':
    grex -d {{space_separated_strings}}
  • Replace Unicode word character with '\w':
    grex -w {{space_separated_strings}}
  • Replace spaces with '\s':
    grex -s {{space_separated_strings}}
  • Add {min, max} quantifier representation for repeating sub-strings:
    grex -r {{space_separated_strings}}

mmdc

CLI for mermaid, a diagram generation tool with a domain-specific language. A mermaid definition file is taken as input and a SVG, PNG, or PDF file is generated as output. More information: https://mermaid-js.github.io/mermaid/.
  • Convert a file to the specified format (automatically determined from the file extension):
    mmdc --input {{input.mmd}} --output {{output.svg}}
  • Specify the theme of the chart:
    mmdc --input {{input.mmd}} --output {{output.svg}} --theme {{forest|dark|neutral|default}}
  • Specify the background color of the chart (e.g. lime, "#D8064F", or transparent):
    mmdc --input {{input.mmd}} --output {{output.svg}} --backgroundColor {{color}}

sonar-scanner

SonarScanner is a generic scanner for SonarQube projects that do not use build tools such as Maven, Gradle, or Ant. More information: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/.
  • Scan a project with configuration file in your project's root directory named sonar-project.properties:
    sonar-scanner
  • Scan a project using configuration file other than sonar-project.properties:
    sonar-scanner -D{{project.settings=myproject.properties}}
  • Print help information:
    sonar-scanner -h
  • Print debugging information:
    sonar-scanner -X

node

Server-side JavaScript platform (Node.js). More information: https://nodejs.org.
  • Run a JavaScript file:
    node {{path/to/file}}
  • Start a REPL (interactive shell):
    node
  • Execute the specified file restarting the process when an imported file is changed (requires Node.js version 18.11+):
    node --watch {{path/to/file}}
  • Evaluate JavaScript code by passing it as an argument:
    node -e "{{code}}"
  • Evaluate and print the result, useful to print node's dependencies versions:
    node -p "process.versions"
  • Activate inspector, pausing execution until a debugger is connected once source code is fully parsed:
    node --no-lazy --inspect-brk {{path/to/file}}

makebuildserver

Create an F-Droid build server virtual machine. More information: https://f-droid.org/en/docs/Build_Server_Setup/.
  • Create a new virtual machine or update an existing one (if available):
    makebuildserver
  • Force creating a fresh virtual machine:
    makebuildserver --clean

jhipster

Web application generator using either monolithic or microservices architecture. More information: https://www.jhipster.tech/.
  • Generate a simple full-stack project (monolithic or microservices):
    jhipster
  • Generate a simple frontend project:
    jhipster --skip-server
  • Generate a simple backend project:
    jhipster --skip-client
  • Apply latest JHipster updates to the project:
    jhipster upgrade
  • Add a new entity to a generated project:
    jhipster entity {{entity_name}}
  • Import a JDL file to configure your application (see: https://start.jhipster.tech/jdl-studio/):
    jhipster import-jdl {{first_file.jh second_file.jh ... n_file.jh}}
  • Generate a CI/CD pipeline for your application:
    jhipster ci-cd
  • Generate a Kubernetes configuration for your application:
    jhipster kubernetes

glab mr merge

Merge GitLab merge requests. More information: https://glab.readthedocs.io/en/latest/mr/merge.html.
  • Merge the merge request associated with the current branch interactively:
    glab mr merge
  • Merge the specified merge request, interactively:
    glab mr merge {{mr_number}}
  • Merge the merge request, removing the branch on both the local and the remote:
    glab mr merge --remove-source-branch
  • Squash the current merge request into one commit with the message body and merge:
    glab mr merge --squash --message="{{commit_message_body}}"
  • Display help:
    glab mr merge --help

fossil init

Initialize a new repository for a project. See also: fossil clone. More information: https://fossil-scm.org/home/help/init.
  • Create a new repository in a named file:
    fossil init {{path/to/filename}}

mp3info

Viewer/editor for ID3v1 (but not ID3v2) tags of MP3 files. More information: http://www.ibiblio.org/mp3info.
  • Show all ID3v1 tags of a specific MP3 file:
    mp3info {{path/to/file.mp3}}
  • Edit ID3v1 tags interactively:
    mp3info -i {{path/to/file.mp3}}
  • Set values for ID3v1 tags in a specific MP3 file:
    mp3info -a "{{artist_name}}" -t "{{song_title}}" -l "{{album_title}}" -y {{year}} -c "{{comment_text}}" {{path/to/file.mp3}}
  • Set the number of the track in the album for a specific MP3 file:
    mp3info -n {{track_number}} {{path/to/file.mp3}}
  • Print a list of valid genres and their numeric codes:
    mp3info -G
  • Set the music genre for a specific MP3 file:
    mp3info -g {{genre_number}} {{path/to/file.mp3}}

popeye

Utility that reports potential issues with Kubernetes deployment manifests. More information: https://github.com/derailed/popeye.
  • Scan the current Kubernetes cluster:
    popeye
  • Scan a specific namespace:
    popeye -n {{namespace}}
  • Scan specific Kubernetes context:
    popeye --context={{context}}
  • Use a spinach configuration file for scanning:
    popeye -f {{spinach.yaml}}

r2e

Forwards RSS feeds to an email address. Requires a configured sendmail or smtp setup. More information: https://github.com/rss2email/rss2email.
  • Create a new feed database that sends email to an email address:
    r2e new {{email_address}}
  • Subscribe to a feed:
    r2e add {{feed_name}} {{feed_URI}}
  • Send new stories to an email address:
    r2e run
  • List all feeds:
    r2e list
  • Delete a feed at a specified index:
    r2e delete {{index}}

fdupes

Finds duplicate files in a given set of directories. More information: https://github.com/adrianlopezroche/fdupes.
  • Search a single directory:
    fdupes {{path/to/directory}}
  • Search multiple directories:
    fdupes {{directory1}} {{directory2}}
  • Search a directory recursively:
    fdupes -r {{path/to/directory}}
  • Search multiple directories, one recursively:
    fdupes {{directory1}} -R {{directory2}}
  • Search recursively and replace duplicates with hardlinks:
    fdupes -rH {{path/to/directory}}
  • Search recursively for duplicates and display interactive prompt to pick which ones to keep, deleting the others:
    fdupes -rd {{path/to/directory}}
  • Search recursively and delete duplicates without prompting:
    fdupes -rdN {{path/to/directory}}

git unpack-file

Create a temporary file with a blob's contents. More information: https://git-scm.com/docs/git-unpack-file.
  • Create a file holding the contents of the blob specified by its ID then print the name of the temporary file:
    git unpack-file {{blob_id}}

aws s3 ls

List AWS S3 buckets, folders (prefixes), and files (objects). More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/ls.html.
  • List all buckets:
    aws s3 ls
  • List files and folders in the root of a bucket (s3:// is optional):
    aws s3 ls s3://{{bucket_name}}
  • List files and folders directly inside a directory:
    aws s3 ls {{bucket_name}}/{{path/to/directory}}/
  • List all files in a bucket:
    aws s3 ls --recursive {{bucket_name}}
  • List all files in a path with a given prefix:
    aws s3 ls --recursive {{bucket_name}}/{{path/to/directory/}}{{prefix}}
  • Display help:
    aws s3 ls help

snakefmt

Format Snakemake files. More information: https://github.com/snakemake/snakefmt.
  • Format a specific Snakefile:
    snakefmt {{path/to/snakefile}}
  • Format all Snakefiles recursively in a specific directory:
    snakefmt {{path/to/directory}}
  • Format a file using a specific configuration file:
    snakefmt --config {{path/to/config.toml}} {{path/to/snakefile}}
  • Format a file using a specific maximum line length:
    snakefmt --line-length {{100}} {{path/to/snakefile}}
  • Display the changes that would be performed without performing them (dry-run):
    snakefmt --diff {{path/to/snakefile}}

kube-fzf

Shell commands for command-line fuzzy searching of Kubernetes Pods. See also kubectl for related commands. More information: https://github.com/thecasualcoder/kube-fzf.
  • Get pod details (from current namespace):
    findpod
  • Get pod details (from all namespaces):
    findpod -a
  • Describe a pod:
    describepod
  • Tail pod logs:
    tailpod
  • Exec into a pod's container:
    execpod {{shell_command}}
  • Port-forward a pod:
    pfpod {{port_number}}


identify

Command-line utility of Image Magick project to describe the format and characteristics of one or more image files. More information: https://imagemagick.org/script/identify.php.
  • Describe the format and basic characteristics of an image:
    identify {{path/to/image}}
  • Describe the format and verbose characteristics of an image:
    identify -verbose {{path/to/image}}
  • Collect dimensions of all JPEG files under current directory:
    identify -format "%f,%w,%h\n" *.{{jpg}} > {{path/to/filelist.csv}}

ulimit

Get and set user limits. More information: https://manned.org/ulimit.
  • Get the properties of all the user limits:
    ulimit -a
  • Get hard limit for the number of simultaneously opened files:
    ulimit -H -n
  • Get soft limit for the number of simultaneously opened files:
    ulimit -S -n
  • Set max per-user process limit:
    ulimit -u 30

fossil forget

This command is an alias of fossil rm, with the exception that it never removes files from the disk. More information: https://fossil-scm.org/home/help/forget.
  • View documentation for the original command:
    tldr fossil rm

dcg

Drupal code generator. More information: https://github.com/Chi-teck/drupal-code-generator.
  • Start a wizard to choose what kind of code (e.g. module, service, form, etc.) to generate:
    dcg
  • Directly specify the kind of code to generate:
    dcg {{service|plugin|theme|module|form}}
  • Generate the code in a specific directory:
    dcg --directory {{path/to/directory}}

magick

Create, edit, compose, or convert bitmap images. ImageMagick version 7+. See convert for versions 6 and below. More information: https://imagemagick.org/.
  • Convert file type:
    magick {{image.png}} {{image.jpg}}
  • Resize an image, making a new copy:
    magick convert -resize {{100x100}} {{image.jpg}} {{image.jpg}}
  • Create a GIF using images:
    magick {{*.jpg}} {{images.gif}}
  • Create checkerboard pattern:
    magick -size {{640x480}} pattern:checkerboard {{checkerboard.png}}
  • Convert images to individual PDF pages:
    magick {{*.jpg}} +adjoin {{page-%d.pdf}}

evil-winrm

Windows Remote Management (WinRM) shell for pentesting. Once connected, we get a PowerShell prompt on the target host. More information: https://github.com/Hackplayers/evil-winrm.
  • Connect to a host:
    evil-winrm --ip {{ip}} --user {{user}} --password {{password}}
  • Connect to a host, passing the password hash:
    evil-winrm --ip {{ip}} --user {{user}} --hash {{nt_hash}}
  • Connect to a host, specifying directories for scripts and executables:
    evil-winrm --ip {{ip}} --user {{user}} --password {{password}} --scripts {{path/to/scripts}} --executables {{path/to/executables}}
  • Connect to a host, using SSL:
    evil-winrm --ip {{ip}} --user {{user}} --password {{password}} --ssl --pub-key {{path/to/pubkey}} --priv-key {{path/to/privkey}}
  • Upload a file to the host:
    PS > upload {{path/to/local/file}} {{path/to/remote/file}}
  • Get a list of loaded PowerShell functions:
    PS > menu
  • Load a PowerShell script from the --scripts directory:
    PS > {{script.ps1}}
  • Invoke a binary on the host from the --executables directory:
    PS > Invoke-Binary {{binary.exe}}

rfetch

A configurable fetch program to output system information. More information: https://github.com/kamui-fin/rfetch.
  • Display system information:
    rfetch
  • Display system [a]rchitecture:
    rfetch -a
  • Display system up[t]ime:
    rfetch -t
  • Display system [k]ernel:
    rfetch -k
  • Display system [c]PU:
    rfetch -c
  • Display Linux [D]istro:
    rfetch -D
  • View [d]esktop environment:
    rfetch -d

linode-cli tickets

Manage Linode Support Tickets. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/account/.
  • List your Support Tickets:
    linode-cli tickets list
  • Open a new Ticket:
    linode-cli tickets create --summary "{{Summary or quick title for the Ticket}}" --description "{{Detailed description of the issue}}"
  • List replies to a Ticket:
    linode-cli tickets replies {{ticket_id}}
  • Reply to a specific Ticket:
    linode-cli tickets reply {{ticket_id}} --description "{{The content of your reply}}"

runsvdir

Run an entire directory of services. More information: https://manpages.ubuntu.com/manpages/latest/man8/runsvdir.8.html.
  • Start and manage all services in a directory as the current user:
    runsvdir {{path/to/services}}
  • Start and manage all services in a directory as root:
    sudo runsvdir {{path/to/services}}
  • Start services in separate sessions:
    runsvdir -P {{path/to/services}}

vlc

Cross-platform multimedia player. More information: https://wiki.videolan.org/Documentation:Command_line/.
  • Play a file:
    vlc {{path/to/file}}
  • Play in fullscreen:
    vlc --fullscreen {{path/to/file}}
  • Play muted:
    vlc --no-audio {{path/to/file}}
  • Play repeatedly:
    vlc --loop {{path/to/file}}
  • Play video from a URL:
    vlc {{https://www.youtube.com/watch?v=oHg5SJYRHA0}}

mvn

Apache Maven. Tool for building and managing Java-based projects. More information: https://maven.apache.org.
  • Compile a project:
    mvn compile
  • Compile and package the compiled code in its distributable format, such as a jar:
    mvn package
  • Compile and package, skipping unit tests:
    mvn package -DskipTests
  • Install the built package in local maven repository. (This will invoke the compile and package commands too):
    mvn install
  • Delete build artifacts from the target directory:
    mvn clean
  • Do a clean and then invoke the package phase:
    mvn clean package
  • Clean and then package the code with a given build profile:
    mvn clean -P {{profile}} package
  • Run a class with a main method:
    mvn exec:java -Dexec.mainClass="{{com.example.Main}}" -Dexec.args="{{argument1 argument2 ...}}"

wpm

Typeracer-like console app for measuring your WPM. More information: https://github.com/cslarsen/wpm.
  • Start wpm:
    wpm
  • Start wpm with short texts:
    wpm --short
  • Start wpm using a specific text file:
    wpm --load {{path/to/file.txt}}
  • Tag your race scores:
    wpm --tag {{tag_name}}
  • Show score statistics grouped by tags:
    wpm --stats
  • Start wpm with monochrome colors:
    wpm --monochrome

z

Tracks the most used (by frecency) directories and enables quickly navigating to them using string patterns or regular expressions. More information: https://github.com/rupa/z.
  • Go to a directory that contains "foo" in the name:
    z {{foo}}
  • Go to a directory that contains "foo" and then "bar":
    z {{foo}} {{bar}}
  • Go to the highest-ranked directory matching "foo":
    z -r {{foo}}
  • Go to the most recently accessed directory matching "foo":
    z -t {{foo}}
  • List all directories in z's database matching "foo":
    z -l {{foo}}
  • Remove the current directory from z's database:
    z -x .
  • Restrict matches to subdirectories of the current directory:
    z -c {{foo}}

nms

Command-line tool that recreates the famous data decryption effect seen in the 1992 movie Sneakers from stdin. More information: https://github.com/bartobri/no-more-secrets.
  • Decrypt text after a keystroke:
    echo "{{Hello, World!}}" | nms
  • Decrypt output immediately, without waiting for a keystroke:
    {{ls -la}} | nms -a
  • Decrypt the content of a file, with a custom output color:
    cat {{path/to/file}} | nms -a -f {{blue|white|yellow|black|magenta|green|red}}
  • Clear the screen before decrypting:
    {{command}} | nms -a -c

rustup self

Modify the rustup installation. More information: https://rust-lang.github.io/rustup.
  • Update rustup:
    rustup self update
  • Uninstall rustup:
    rustup self uninstall

packtpub

Download freely offered books from packtpub.com. More information: https://github.com/vladimyr/packtpub-cli.
  • Download the daily offer book into the current directory with the specified book format (defaults to pdf):
    packtpub download --type {{pdf|ebup|mobi}}
  • Download the daily offer book into the specified directory:
    packtpub download --dir {{path/to/directory}}
  • Start an interactive login to packtpub.com:
    packtpub login
  • Log out from packtpub.com:
    packtpub logout
  • Display the daily offer:
    packtpub view-offer
  • Open the daily offer in the default web browser:
    packtpub view-offer
  • Display the currently logged-in user:
    packtpub whoami


docker cp

Copy files or directories between host and container filesystems. More information: https://docs.docker.com/engine/reference/commandline/cp.
  • Copy a file or directory from the host to a container:
    docker cp {{path/to/file_or_directory_on_host}} {{container_name}}:{{path/to/file_or_directory_in_container}}
  • Copy a file or directory from a container to the host:
    docker cp {{container_name}}:{{path/to/file_or_directory_in_container}} {{path/to/file_or_directory_on_host}}
  • Copy a file or directory from the host to a container, following symlinks (copies the symlinked files directly, not the symlinks themselves):
    docker cp --follow-link {{path/to/symlink_on_host}} {{container_name}}:{{path/to/file_or_directory_in_container}}

keychain

Re-use ssh-agent and/or gpg-agent between logins. More information: http://funtoo.org/Keychain.
  • Check for a running ssh-agent, and start one if needed:
    keychain
  • Also check for gpg-agent:
    keychain --agents "{{gpg,ssh}}"
  • List signatures of all active keys:
    keychain --list
  • List fingerprints of all active keys:
    keychain --list-fp
  • Add a timeout for identities added to the agent, in minutes:
    keychain --timeout {{minutes}}

wipeclean

Clear the terminal screen using an animated wiper. More information: https://github.com/JeanJouliaCode/wipeClean.
  • Clear the terminal screen:
    wipeclean
  • Set the animation speed in frames per second (defaults to 150):
    wipeclean --speed {{speed}}

snowsql

SnowSQL command-line client for Snowflake's Data Cloud. More information: https://docs.snowflake.com/en/user-guide/snowsql.html.
  • Connect to a specific instance at https://account.snowflakecomputing.com (password can be provided in prompt or configuration file):
    snowsql --accountname {{account}} --username {{username}} --dbname {{database}} --schemaname {{schema}}
  • Connect to an instance specified by a specific configuration file (defaults to ~/.snowsql/config):
    snowsql --config {{path/to/configuration_file}}
  • Connect to the default instance using a token for multi-factor authentication:
    snowsql --mfa-passcode {{token}}
  • Execute a single SQL query or SnowSQL command on the default connection (useful in shell scripts):
    snowsql --query '{{query}}'
  • Execute commands from a specific file on the default connection:
    snowsql --filename {{path/to/file.sql}}

mc

Midnight Commander, a terminal based file manager. Navigate the directory structure using the arrow keys, the mouse or by typing the commands into the terminal. More information: https://midnight-commander.org.
  • Start Midnight Commander:
    mc
  • Start Midnight Commander in black and white:
    mc -b

speedtest

Official command-line interface for testing internet bandwidth using https://speedtest.net. Note: some platforms link speedtest to speedtest-cli. If some of the examples in this page don't work, see speedtest-cli. More information: https://www.speedtest.net/apps/cli.
  • Run a speed test:
    speedtest
  • Run a speed test and specify the unit of the output:
    speedtest --unit={{auto-decimal-bits|auto-decimal-bytes|auto-binary-bits|auto-binary-bytes}}
  • Run a speed test and specify the output format:
    speedtest --format={{human-readable|csv|tsv|json|jsonl|json-pretty}}
  • Run a speed test and specify the number of decimal points to use (0 to 8, defaults to 2):
    speedtest --precision={{precision}}
  • Run a speed test and print its progress (only available for output format human-readable and json):
    speedtest --progress={{yes|no}}
  • List all speedtest.net servers, sorted by distance:
    speedtest --servers
  • Run a speed test to a specific speedtest.net server:
    speedtest --server-id={{server_id}}

smbmap

Allow users to enumerate samba share drives across an entire domain. More information: https://github.com/ShawnDEvans/smbmap.
  • Enumerate hosts with NULL sessions enabled and open shares:
    smbmap --host-file {{path/to/file}}
  • Enumerate hosts and check SMB file permissions:
    smbmap --host-file {{path/to/file}} -u {{username}} -p {{password}} -q
  • Connect to an ip or hostname through smb using a username and password:
    smbmap -u {{username}} -p {{password}} -d {{domain}} -H {{ip_or_hostname}}
  • Locate and download files [R]ecursively up to N levels depth, searching for filename pattern (regex), and excluding certain shares:
    smbmap --host-file {{path/to/file}} -u {{username}} -p {{password}} -q -R --depth {{number}} --exclude {{sharename}} -A {{filepattern}}
  • Upload file through smb using username and password:
    smbmap -u {{username}} -p {{password}} -d {{domain}} -H {{ip_or_hostname}} --upload {{path/to/file}} '{{/share_name/remote_filename}}'

crunch

Wordlist generator. More information: https://sourceforge.net/projects/crunch-wordlist/.
  • Output a list of words of length 1 to 3 with only lowercase characters:
    crunch {{1}} {{3}}
  • Output a list of hexadecimal words of length 8:
    crunch {{8}} {{8}} {{0123456789abcdef}}
  • Output a list of all permutations of abc (lengths are not processed):
    crunch {{1}} {{1}} -p {{abc}}
  • Output a list of all permutations of the given strings (lengths are not processed):
    crunch {{1}} {{1}} -p {{abc}} {{def}} {{ghi}}
  • Output a list of words generated according to the given pattern and a maximum number of duplicate letters:
    crunch {{5}} {{5}} {{abcde123}} -t {{@@@12}} -d 2@
  • Write a list of words in chunk files of a given size, starting with the given string:
    crunch {{3}} {{5}} -o {{START}} -b {{10kb}} -s {{abc}}
  • Write a list of words stopping with the given string and inverting the wordlist:
    crunch {{1}} {{5}} -o {{START}} -e {{abcde}} -i
  • Write a list of words in compressed chunk files with a specified number of words:
    crunch {{1}} {{5}} -o {{START}} -c {{1000}} -z {{gzip|bzip2|lzma|7z}}

in-toto-run

Generating link metadata while carrying out a supply chain step. More information: https://in-toto.readthedocs.io/en/latest/command-line-tools/in-toto-run.html.
  • Tag a git repo and signing the resulting link file:
    in-toto-run -n {{tag}} --products {{.}} -k {{key_file}} -- {{git tag v1.0}}
  • Create a tarball, storing files as materials and the tarball as product:
    in-toto-run -n {{package}} -m {{project}} -p {{project.tar.gz}} -- {{tar czf project.tar.gz project}}
  • Generate signed attestations for review work:
    in-toto-run -n {{review}} -k {{key_file}} -m {{document.pdf}} -x
  • Scan the image using Trivy and generate link file:
    in-toto-run -n {{scan}} -k {{key_file}} -p {{report.json}} -- {{/bin/sh -c "trivy -o report.json -f json <IMAGE>"}}

snyk

Find vulnerabilities in your code and remediate risks. More information: https://snyk.io.
  • Log in to your Snyk account:
    snyk auth
  • Test your code for any known vulnerabilities:
    snyk test
  • Test a local Docker image for any known vulnerabilities:
    snyk test --docker {{docker_image}}
  • Record the state of dependencies and any vulnerabilities on snyk.io:
    snyk monitor
  • Auto patch and ignore vulnerabilities:
    snyk wizard

git push

Push commits to a remote repository. More information: https://git-scm.com/docs/git-push.
  • Send local changes in the current branch to its default remote counterpart:
    git push
  • Send changes from a specific local branch to its remote counterpart:
    git push {{remote_name}} {{local_branch}}
  • Send changes from a specific local branch to its remote counterpart, and set the remote one as the default push/pull target of the local one:
    git push -u {{remote_name}} {{local_branch}}
  • Send changes from a specific local branch to a specific remote branch:
    git push {{remote_name}} {{local_branch}}:{{remote_branch}}
  • Send changes on all local branches to their counterparts in a given remote repository:
    git push --all {{remote_name}}
  • Delete a branch in a remote repository:
    git push {{remote_name}} --delete {{remote_branch}}
  • Remove remote branches that don't have a local counterpart:
    git push --prune {{remote_name}}
  • Publish tags that aren't yet in the remote repository:
    git push --tags

csvsort

Sorts CSV files. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvsort.html.
  • Sort a CSV file by column 9:
    csvsort -c {{9}} {{data.csv}}
  • Sort a CSV file by the "name" column in descending order:
    csvsort -r -c {{name}} {{data.csv}}
  • Sort a CSV file by column 2, then by column 4:
    csvsort -c {{2,4}} {{data.csv}}
  • Sort a CSV file without inferring data types:
    csvsort --no-inference -c {{columns}} {{data.csv}}

gpg-tui

Terminal user interface for GNU Public Guard. More information: https://github.com/orhun/gpg-tui.
  • Start gpg-tui:
    gpg-tui
  • Start gpg-tui with color and ASCII armored output:
    gpg-tui --style {{colored}} --armor
  • Show help in gpg-tui:
    ?
  • Quit gpg-tui:
    q
  • Interactively generate a new key:
    g
  • Export the selected key:
    x
  • Set the detail level for the selected key:
    1|2|3
  • Refresh gpg-tui:
    r

ack

A search tool like grep, optimized for developers. See also: rg, which is much faster. More information: https://beyondgrep.com/documentation.
  • Search for files containing a string or regular expression in the current directory recursively:
    ack "{{search_pattern}}"
  • Search for a case-insensitive pattern:
    ack --ignore-case "{{search_pattern}}"
  • Search for lines matching a pattern, printing [o]nly the matched text and not the rest of the line:
    ack -o "{{search_pattern}}"
  • Limit search to files of a specific type:
    ack --type={{ruby}} "{{search_pattern}}"
  • Do not search in files of a specific type:
    ack --type=no{{ruby}} "{{search_pattern}}"
  • Count the total number of matches found:
    ack --count --no-filename "{{search_pattern}}"
  • Print the file names and the number of matches for each file only:
    ack --count --files-with-matches "{{search_pattern}}"
  • List all the values that can be used with --type:
    ack --help-types

bmaptool

Create or copy block maps intelligently (designed to be faster than cp or dd). More information: https://source.tizen.org/documentation/reference/bmaptool.
  • Create a blockmap from image file:
    bmaptool create -o {{blockmap.bmap}} {{source.img}}
  • Copy an image file into sdb:
    bmaptool copy --bmap {{blockmap.bmap}} {{source.img}} {{/dev/sdb}}
  • Copy a compressed image file into sdb:
    bmaptool copy --bmap {{blockmap.bmap}} {{source.img.gz}} {{/dev/sdb}}
  • Copy an image file into sdb without using a blockmap:
    bmaptool copy --nobmap {{source.img}} {{/dev/sdb}}

source

Execute commands from a file in the current shell. More information: https://manned.org/source.
  • Evaluate contents of a given file:
    source {{path/to/file}}
  • Evaluate contents of a given file (alternatively replacing source with .):
    . {{path/to/file}}

clear

Clears the screen of the terminal. More information: https://manned.org/clear.
  • Clear the screen (equivalent to pressing Control-L in Bash shell):
    clear
  • Clear the screen but keep the terminal's scrollback buffer:
    clear -x
  • Indicate the type of terminal to clean (defaults to the value of the environment variable TERM):
    clear -T {{type_of_terminal}}
  • Show the version of ncurses used by clear:
    clear -V

glab alias

Manage GitLab CLI command aliases. More information: https://glab.readthedocs.io/en/latest/alias.
  • Display the subcommand help:
    glab alias
  • List all the aliases glab is configured to use:
    glab alias list
  • Create a glab subcommand alias:
    glab alias set {{mrv}} '{{mr view}}'
  • Set a shell command as a glab subcommand:
    glab alias set --shell {{alias_name}} {{command}}
  • Delete a command shortcut:
    glab alias delete {{alias_name}}

gox

A tool for cross-compiling Go programs. More information: https://github.com/mitchellh/gox.
  • Compile Go program in the current directory for all operating systems and architecture combinations:
    gox
  • Download and compile a Go program from a remote URL:
    gox {{url_1}} {{url_2}}
  • Compile current directory for a particular operating system:
    gox -os="{{os}}"
  • Compile current directory for a single operating system and architecture combination:
    gox -osarch="{{os}}/{{arch}}"

jhat

Java heap analysis tool. More information: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jhat.html.
  • Analyze a heap dump (from jmap), view via HTTP on port 7000:
    jhat {{dump_file.bin}}
  • Analyze a heap dump, specifying an alternate port for the http server:
    jhat -p {{port}} {{dump_file.bin}}
  • Analyze a dump letting jhat use up to 8 GB RAM (2-4x dump size recommended):
    jhat -J-mx8G {{dump_file.bin}}

dexdump

Display information about Android DEX files. More information: https://manned.org/dexdump.
  • Extract classes and methods from an APK file:
    dexdump {{path/to/file.apk}}
  • Display header information of DEX files contained in an APK file:
    dexdump -f {{path/to/file.apk}}
  • Display the dis-assembled output of executable sections:
    dexdump -d {{path/to/file.apk}}
  • Output results to a file:
    dexdump -o {{path/to/file}} {{path/to/file.apk}}

tlmgr recreate-tlpdb

Recreate the TeX Live package database. This command has a lack of documentation and should be used with caution. More information: https://www.tug.org/texlive/tlmgr.html.
  • Recreate the texlive.tlpdb database file and dump it to stdout:
    sudo tlmgr recreate-tlpdb

xkill

Kill a window interactively in a graphical session. See also kill and killall. More information: https://www.x.org/releases/current/doc/man/man1/xkill.1.xhtml.
  • Display a cursor to kill a window when pressing the left mouse button (press any other mouse button to cancel):
    xkill
  • Display a cursor to select a window to kill by pressing any mouse button:
    xkill -button any

exec

Replace the current process with another process. More information: https://linuxcommand.org/lc3_man_pages/exech.html.
  • Replace with the specified command using the current environment variables:
    exec {{command -with -flags}}
  • Replace with the specified command, clearing environment variables:
    exec -c {{command -with -flags}}
  • Replace with the specified command and login using the default shell:
    exec -l {{command -with -flags}}
  • Replace with the specified command and change the process name:
    exec -a {{process_name}} {{command -with -flags}}

tlmgr restore

Restore package backups created with tlmgr backup. The default backup directory is specified by the backupdir option, and can be obtained with tlmgr option. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all available backup revisions for all packages:
    tlmgr restore
  • List all available backup revisions for a specific package:
    tlmgr restore {{package}}
  • Restore a specific revision of a specific package:
    tlmgr restore {{package}} {{revision}}
  • Restore the latest revision of all backed-up packages:
    tlmgr restore --all
  • Restore a package from a custom backup directory:
    tlmgr restore {{package}} {{revision}} --backupdir {{path/to/backup_directory}}
  • Perform a dry-run and print all taken actions without making them:
    tlmgr restore --dry-run {{package}} {{revision}}

pio test

Run local tests on a PlatformIO project. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_test.html.
  • Run all tests in all environments of the current PlatformIO project:
    pio test
  • Test only specific environments:
    pio test --environment {{environment1}} --environment {{environment2}}
  • Run only tests whose name matches a specific glob pattern:
    pio test --filter "{{pattern}}"
  • Ignore tests whose name matches a specific glob pattern:
    pio test --ignore "{{pattern}}"
  • Specify a port for firmware uploading:
    pio test --upload-port {{upload_port}}
  • Specify a custom configuration file for running the tests:
    pio test --project-conf {{path/to/platformio.ini}}

b3sum

Calculate BLAKE3 cryptographic checksums. More information: https://github.com/BLAKE3-team/BLAKE3/tree/master/b3sum.
  • Calculate the BLAKE3 checksum for one or more files:
    b3sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of BLAKE3 checksums to a file:
    b3sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.b3}}
  • Calculate a BLAKE3 checksum from stdin:
    {{command}} | b3sum
  • Read a file of BLAKE3 sums and filenames and verify all files have matching checksums:
    b3sum --check {{path/to/file.b3}}
  • Only show a message for missing files or when verification fails:
    b3sum --check --quiet {{path/to/file.b3}}

fuck

Corrects your previous console command. More information: https://github.com/nvbn/thefuck.
  • Set the fuck alias to thefuck tool:
    eval "$(thefuck --alias)"
  • Try to match a rule for the previous command:
    fuck
  • Confirm the first choice immediately (correct argument depends on level of annoyance):
    fuck --{{yes|yeah|hard}}

git force-clone

Provides the basic functionality of git clone, but if the destination git repository already exists it will force-reset it to resemble a clone of the remote. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-force-clone.
  • Clone a Git repository into a new directory:
    git force-clone {{remote_repository_location}} {{path/to/directory}}
  • Clone a Git repository into a new directory, checking out an specific branch:
    git force-clone -b {{branch_name}} {{remote_repository_location}} {{path/to/directory}}
  • Clone a Git repository into an existing directory of a Git repository, performing a force-reset to resemble it to the remote and checking out an specific branch:
    git force-clone -b {{branch_name}} {{remote_repository_location}} {{path/to/directory}}

parquet-tools

A tool to show, inspect and manipulate Parquet file. More information: https://github.com/apache/parquet-mr/tree/master/parquet-tools-deprecated.
  • Display the content of a Parquet file:
    parquet-tools cat {{path/to/parquet}}
  • Display the first few lines of a Parquet file:
    parquet-tools head {{path/to/parquet}}
  • Print the schema of a Parquet file:
    parquet-tools schema {{path/to/parquet}}
  • Print the metadata of a Parquet file:
    parquet-tools meta {{path/to/parquet}}
  • Print the content and metadata of a Parquet file:
    parquet-tools dump {{path/to/parquet}}
  • Concatenate several Parquet files into the target one:
    parquet-tools merge {{path/to/parquet1}} {{path/to/parquet2}} {{path/to/target_parquet}}
  • Print the count of rows in a Parquet file:
    parquet-tools rowcount {{path/to/parquet}}
  • Print the column and offset indexes of a Parquet file:
    parquet-tools column-index {{path/to/parquet}}

hr

Print a horizontal rule in the terminal. More information: https://github.com/LuRsT/hr.
  • Print a horizontal rule:
    hr
  • Print a horizontal rule with a custom string:
    hr {{string}}
  • Print a multiline horizontal rule:
    hr {{string_a}} {{string_b}} {{string_c}}

rustup override

Modify directory toolchain overrides. See rustup help toolchain for more information about toolchains. More information: https://rust-lang.github.io/rustup.
  • List directiory toolchain overrides:
    rustup override list
  • Set the override toolchain for the current directory (i.e. tell rustup to run cargo, rustc, etc. from a specific toolchain when in that directory):
    rustup override set {{toolchain}}
  • Remove the toolchain override for the current directory:
    rustup override unset
  • Remove all toolchain overrides for directories that no longer exist:
    rustup override unset --nonexistent

nohup

Allows for a process to live when the terminal gets killed. More information: https://www.gnu.org/software/coreutils/nohup.
  • Run a process that can live beyond the terminal:
    nohup {{command}} {{argument1 argument2 ...}}
  • Launch nohup in background mode:
    nohup {{command}} {{argument1 argument2 ...}} &
  • Run a shell script that can live beyond the terminal:
    nohup {{path/to/script.sh}} &
  • Run a process and write the output to a specific file:
    nohup {{command}} {{argument1 argument2 ...}} > {{path/to/output_file}} &

mm2gv

Convert a graph from Matrix Market mm format to gv format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/mm2gv.1.pdf.
  • Convert a graph from mm to gv format:
    mm2gv -o {{output.gv}} {{input.mm}}
  • Convert a graph using stdin and stdout:
    cat {{input.mm}} | mm2gv > {{output.gv}}
  • Display help:
    mm2gv -?

local

Declare local variables and give them attributes. More information: https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins.
  • Declare a string variable with the specified value:
    local {{variable}}="{{value}}"
  • Declare an integer variable with the specified value:
    local -i {{variable}}="{{value}}"
  • Declare an array variable with the specified value:
    local {{variable}}=({{item_a item_b item_c}})
  • Declare an associative array variable with the specified value:
    local -A {{variable}}=({{[key_a]=item_a [key_b]=item_b [key_c]=item_c}})
  • Declare a readonly variable with the specified value:
    local -r {{variable}}="{{value}}"

comby

Tool for structural code search and replace that supports many languages. More information: https://github.com/comby-tools/comby.
  • Match and rewrite templates, and print changes:
    comby '{{assert_eq!(:[a], :[b])}}' '{{assert_eq!(:[b], :[a])}}' {{.rs}}
  • Match and rewrite with rewrite properties:
    comby '{{assert_eq!(:[a], :[b])}}' '{{assert_eq!(:[b].Capitalize, :[a])}}' {{.rs}}
  • Match and rewrite in-place:
    comby -in-place '{{match_pattern}}' '{{rewrite_pattern}}'
  • Only perform matching and print matches:
    comby -match-only '{{match_pattern}}' ""

az storage

Manage Azure Cloud Storage resources. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage.
  • Create a storage account:
    az storage account create -g {{group_name}} -n {{account_name}} -l {{location}} --sku {{account_sku}}
  • List all storage accounts in a resource group:
    az storage account list -g {{group_name}}
  • List the access keys for a storage account:
    az storage account keys list -g {{group_name}} -n {{account_name}}
  • Delete a storage account:
    az storage account delete -g {{group_name}} -n {{account_name}}
  • Update the minimum tls version setting for a storage account:
    az storage account update --min-tls-version TLS1_2 -g {{group_name}} -n {{account_name}}

az webapp

Manage Web Applications hosted in Azure Cloud Services. Part of azure-cli. Mode information: https://learn.microsoft.com/cli/azure/webapp.
  • List available runtimes for a web application:
    az webapp list-runtimes --os-type {{windows|linux}}
  • Create a web application:
    az webapp up --name {{name}} --location {{location}} --runtime {{runtime}}
  • List all web applications:
    az webapp list
  • Delete a specific web application:
    az webapp delete --name {{name}} --resource-group {{resource_group}}

fd

An alternative to find. Aims to be faster and easier to use than find. More information: https://github.com/sharkdp/fd.
  • Recursively find files matching a specific pattern in the current directory:
    fd "{{string|regex}}"
  • Find files that begin with foo:
    fd "^foo"
  • Find files with a specific extension:
    fd --extension txt
  • Find files in a specific directory:
    fd "{{string|regex}}" {{path/to/directory}}
  • Include ignored and hidden files in the search:
    fd --hidden --no-ignore "{{string|regex}}"
  • Execute a command on each search result returned:
    fd "{{string|regex}}" --exec {{command}}

calligrasheets

Calligra's spreadsheet application. See also: calligraflow, calligrastage, calligrawords. More information: https://manned.org/calligrasheets.
  • Launch the spreadsheet application:
    calligrasheets
  • Open a specific spreadsheet:
    calligrasheets {{path/to/spreadsheet}}
  • Display help or version:
    calligrasheets --{{help|version}}

glab repo

Work with GitLab repositories. More information: https://glab.readthedocs.io/en/latest/repo/index.html#synopsis.
  • Create a new repository (if the repository name is not set, the default name will be the name of the current directory):
    glab repo create {{name}}
  • Clone a repository:
    glab repo clone {{owner}}/{{repository}}
  • Fork and clone a repository:
    glab repo fork {{owner}}/{{repository}} --clone
  • View a repository in the default web browser:
    glab repo view {{owner}}/{{repository}} --web
  • Search some repositories in the GitLab instance:
    glab repo search -s {{search_string}}

dotnet

Cross platform .NET command-line tools for .NET Core. Some subcommands such as dotnet build have their own usage documentation. More information: https://learn.microsoft.com/dotnet/core/tools.
  • Initialize a new .NET project:
    dotnet new {{template_short_name}}
  • Restore NuGet packages:
    dotnet restore
  • Build and execute the .NET project in the current directory:
    dotnet run
  • Run a packaged dotnet application (only needs the runtime, the rest of the commands require the .NET Core SDK installed):
    dotnet {{path/to/application.dll}}

zipinfo

List detailed information about the contents of a .zip file. More information: https://manned.org/zipinfo.
  • List all files in a .zip file in long format (permissions, ownership, size, and modification date):
    zipinfo {{path/to/archive.zip}}
  • List all files in a .zip file:
    zipinfo -1 {{path/to/archive.zip}}

git mr

Check out GitLab merge requests locally. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-mr.
  • Check out a specific merge request:
    git mr {{mr_number}}
  • Check out a merge request from a specific remote:
    git mr {{mr_number}} {{remote}}
  • Checkout a merge request from its URL:
    git mr {{url}}
  • Clean up old merge request branches:
    git mr clean

hg pull

Pull changes from a specified repository to the local repository. More information: https://www.mercurial-scm.org/doc/hg.1.html#pull.
  • Pull from the "default" source path:
    hg pull
  • Pull from a specified source repository:
    hg pull {{path/to/source_repository}}
  • Update the local repository to the head of the remote:
    hg pull --update
  • Pull changes even when the remote repository is unrelated:
    hg pull --force
  • Specify a specific revision changeset to pull up to:
    hg pull --rev {{revision}}
  • Specify a specific branch to pull:
    hg pull --branch {{branch}}
  • Specify a specific bookmark to pull:
    hg pull --bookmark {{bookmark}}

aria2c

Fast download utility. Supports HTTP(S), FTP, SFTP, BitTorrent, and Metalink. More information: https://aria2.github.io.
  • Download a specific URI to a file:
    aria2c "{{url}}"
  • Download a file from a URI with a specific output name:
    aria2c --out={{path/to/file}} "{{url}}"
  • Download multiple different files in parallel:
    aria2c --force-sequential {{false}} "{{url1 url2 ...}}"
  • Download from multiple sources with each URI pointing to the same file:
    aria2c "{{url1 url2 ...}}"
  • Download the URIs listed in a file with a specific number of parallel downloads:
    aria2c --input-file={{path/to/file}} --max-concurrent-downloads={{number_of_downloads}}
  • Download with multiple connections:
    aria2c --split={{number_of_connections}} "{{url}}"
  • FTP download with username and password:
    aria2c --ftp-user={{username}} --ftp-passwd={{password}} "{{url}}"
  • Limit download speed in bytes/s:
    aria2c --max-download-limit={{speed}} "{{url}}"

swift

Create, run and build Swift projects. More information: https://swift.org.
  • Start a REPL (interactive shell):
    swift
  • Execute a program:
    swift {{file.swift}}
  • Start a new project with the package manager:
    swift package init
  • Generate an Xcode project file:
    swift package generate-xcodeproj
  • Update dependencies:
    swift package update
  • Compile project for release:
    swift build -c release

tsort

Perform a topological sort. A common use is to show the dependency order of nodes in a directed acyclic graph. More information: https://www.gnu.org/software/coreutils/tsort.
  • Perform a topological sort consistent with a partial sort per line of input separated by blanks:
    tsort {{path/to/file}}
  • Perform a topological sort consistent on strings:
    echo -e "{{UI Backend\nBackend Database\nDocs UI}}" | tsort

aws route53

CLI for AWS Route53 - Route 53 is a highly available and scalable Domain Name System (DNS) web service. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/index.html.
  • List all hosted zones, private and public:
    aws route53 list-hosted-zones
  • Show all records in a zone:
    aws route53 list-resource-record-sets --hosted-zone-id {{zone_id}}
  • Create a new, public zone using a request identifier to retry the operation safely:
    aws route53 create-hosted-zone --name {{name}} --caller-reference {{request_identifier}}
  • Delete a zone (if the zone has non-defaults SOA and NS records the command will fail):
    aws route53 delete-hosted-zone --id {{zone_id}}
  • Test DNS resolving by Amazon servers of a given zone:
    aws route53 test-dns-answer --hosted-zone-id {{zone_id}} --record-name {{name}} --record-type {{type}}

pvecm

Proxmox VE Cluster Manager. More information: https://pve.proxmox.com/pve-docs/pvecm.1.html.
  • Add the current node to an existing cluster:
    pvecm add {{hostname_or_ip}}
  • Add a node to the cluster configuration (internal use):
    pvecm addnode {{node}}
  • Return the version of the cluster join API available on this node:
    pvecm apiver
  • Generate new cluster configuration:
    pvecm create {{clustername}}
  • Remove a node from the cluster configuration:
    pvecm delnode {{node}}
  • Display the local view of the cluster nodes:
    pvecm nodes
  • Display the local view of the cluster status:
    pvecm status

git check-ignore

Analyze and debug Git ignore/exclude (".gitignore") files. More information: https://git-scm.com/docs/git-check-ignore.
  • Check whether a file or directory is ignored:
    git check-ignore {{path/to/file_or_directory}}
  • Check whether multiple files or directories are ignored:
    git check-ignore {{path/to/file}} {{path/to/directory}}
  • Use pathnames, one per line, from stdin:
    git check-ignore --stdin < {{path/to/file_list}}
  • Do not check the index (used to debug why paths were tracked and not ignored):
    git check-ignore --no-index {{path/to/files_or_directories}}
  • Include details about the matching pattern for each path:
    git check-ignore --verbose {{path/to/files_or_directories}}

ocaml

The OCaml repl (read-evaluate-print-loop). Interprets Ocaml commands. More information: https://ocaml.org.
  • Read OCaml commands from the user and execute them:
    ocaml
  • Read OCaml commands from a file and execute them:
    ocaml {{path/to/file.ml}}
  • Run OCaml script with modules:
    ocaml {{module1}} {{module2}} {{path/to/file.ml}}

sdcv

StarDict, a command-line dictionary client. Dictionaries are provided separately from the client. More information: https://manned.org/sdcv.
  • Start sdcv interactively:
    sdcv
  • List installed dictionaries:
    sdcv --list-dicts
  • Display a definition from a specific dictionary:
    sdcv --use-dict {{dictionary_name}} {{search_term}}
  • Look up a definition with a fuzzy search:
    sdcv {{search_term}}
  • Look up a definition with an exact search:
    sdcv --exact-search {{search_term}}
  • Look up a definition and format the output as JSON:
    sdcv --json {{search_term}}
  • Search for dictionaries in a specific directory:
    sdcv --data-dir {{path/to/directory}} {{search_term}}

mh_copyright

Adjust copyright headers for MATLAB or Octave code. More information: https://misshit.org.
  • Update the year (range) to include the current year for the specified files:
    mh_copyright --primary-entity="{{entity}}" --update-year {{path/to/file_or_directory1.m path/to/file_or_director2.m ...}}
  • Update the year (range) to include the current year for all files:
    mh_copyright --primary-entity="{{entity}}" --update-year

ssh-add

Manage loaded ssh keys in the ssh-agent. Ensure that ssh-agent is up and running for the keys to be loaded in it. More information: https://man.openbsd.org/ssh-add.
  • Add the default ssh keys in ~/.ssh to the ssh-agent:
    ssh-add
  • Add a specific key to the ssh-agent:
    ssh-add {{path/to/private_key}}
  • List fingerprints of currently loaded keys:
    ssh-add -l
  • Delete a key from the ssh-agent:
    ssh-add -d {{path/to/private_key}}
  • Delete all currently loaded keys from the ssh-agent:
    ssh-add -D
  • Add a key to the ssh-agent and the keychain:
    ssh-add -K {{path/to/private_key}}

dvc destroy

Remove all DVC files and directories from a DVC project. More information: https://dvc.org/doc/command-reference/destroy.
  • Destroy the current project:
    dvc destroy
  • Force destroy the current project:
    dvc destroy --force

sublist3r

Fast subdomains enumeration tool for penetration testers. More information: https://github.com/aboul3la/Sublist3r.
  • Find subdomains for a domain:
    sublist3r --domain {{domain_name}}
  • Find subdomains for a domain, also enabling brute force search:
    sublist3r --domain {{domain_name}} --bruteforce
  • Save the found subdomains to a text file:
    sublist3r --domain {{domain_name}} --output {{path/to/output_file}}
  • Output all available options:
    sublist3r --help

cat

Print and concatenate files. More information: https://www.gnu.org/software/coreutils/cat.
  • Print the contents of a file to stdout:
    cat {{path/to/file}}
  • Concatenate several files into an output file:
    cat {{path/to/file1 path/to/file2 ...}} > {{path/to/output_file}}
  • Append several files to an output file:
    cat {{path/to/file1 path/to/file2 ...}} >> {{path/to/output_file}}
  • Copy the contents of a file into an output file without buffering:
    cat -u {{/dev/tty12}} > {{/dev/tty13}}
  • Write stdin to a file:
    cat - > {{path/to/file}}

pueue parallel

Set the amount of allowed parallel tasks. More information: https://github.com/Nukesor/pueue.
  • Set the maximum number of tasks allowed to run in parallel, in the default group:
    pueue parallel {{max_number_of_parallel_tasks}}
  • Set the maximum number of tasks allowed to run in parallel, in a specific group:
    pueue parallel --group {{group_name}} {{maximum_number_of_parallel_tasks}}

linode-cli events

Manage Linode events. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/events/.
  • View a list of events on your account:
    linode-cli events list
  • View details about a specific event:
    linode-cli events view {{event_id}}
  • Mark an event as read:
    linode-cli events mark-read {{event_id}}

nix registry

Manage a Nix flake registry. See tldr nix3 flake for information about flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-registry.html.
  • Pin the nixpkgs revision to the current version of the upstream repository:
    nix registry pin {{nixpkgs}}
  • Pin an entry to the latest version of the branch, or a particular reivision of a github repository:
    nix registry pin {{entry}} {{github:owner/repo/branch_or_revision}}
  • Add a new entry that always points to the latest version of a github repository, updating automatically:
    nix registry add {{entry}} {{github:owner/repo}}
  • Remove a registry entry:
    nix registry remove {{entry}}
  • See documentation about what Nix flake registries are:
    nix registry --help

colorls

A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. More information: https://github.com/athityakumar/colorls.
  • List files one per line:
    colorls -1
  • List all files, including hidden files:
    colorls --all
  • Long format list (permissions, ownership, size, and modification date) of all files:
    colorls --long --all
  • Only list directories:
    colorls --dirs

mosquitto

An MQTT broker. More information: https://mosquitto.org/.
  • Start Mosquitto:
    mosquitto
  • Specify a configuration file to use:
    mosquitto --config-file {{path/to/file.conf}}
  • Listen on a specific port:
    mosquitto --port {{8883}}
  • Daemonize by forking into the background:
    mosquitto --daemon

svn changelist

Associate a changelist with a set of files. More information: http://svnbook.red-bean.com/en/1.7/svn.advanced.changelists.html.
  • Add files to a changelist, creating the changelist if it does not exist:
    svn changelist {{changelist_name}} {{path/to/file1}} {{path/to/file2}}
  • Remove files from a changelist:
    svn changelist --remove {{path/to/file1}} {{path/to/file2}}
  • Remove the whole changelist at once:
    svn changelist --remove --recursive --changelist {{changelist_name}} .
  • Add the contents of a space-separated list of directories to a changelist:
    svn changelist --recursive {{changelist_name}} {{path/to/directory1}} {{path/to/directory2}}
  • Commit a changelist:
    svn commit --changelist {{changelist_name}}

time

Measure how long a command took to run. Note: time can either exist as a shell builtin, a standalone program or both. More information: https://manned.org/time.
  • Run the command and print the time measurements to stdout:
    time {{command}}

zipgrep

Find patterns in files in a ZIP archive using extended regular expression (supports ?, +, {}, () and |). More information: https://manned.org/zipgrep.
  • Search for a pattern within a ZIP archive:
    zipgrep "{{search_pattern}}" {{path/to/file.zip}}
  • Print file name and line number for each match:
    zipgrep -H -n "{{search_pattern}}" {{path/to/file.zip}}
  • Search for lines that do not match a pattern:
    zipgrep -v "{{search_pattern}}" {{path/to/file.zip}}
  • Specify files inside a ZIP archive from search:
    zipgrep "{{search_pattern}}" {{path/to/file.zip}} {{file/to/search1}} {{file/to/search2}}
  • Exclude files inside a ZIP archive from search:
    zipgrep "{{search_pattern}}" {{path/to/file.zip}} -x {{file/to/exclude1}} {{file/to/exclude2}}

xxh

Bring your shell with all of your customizations through SSH sessions. Note: xxh does not install anything into system directories on the target machine; removing ~/.xxh will clear all traces of xxh on the target machine. More information: https://github.com/xxh/xxh.
  • Connect to a host and run the current shell:
    xxh "{{host}}"
  • Install the current shell into the target machine without prompting:
    xxh "{{host}}" ++install
  • Run the specified shell on the target machine:
    xxh "{{host}}" ++shell {{xonsh|zsh|fish|bash|osquery}}
  • Use a specific xxh configuration directory on the target machine:
    xxh "{{host}}" ++host-xxh-home {{~/.xxh}}
  • Use the specified configuration file on the host machine:
    xxh "{{host}}" ++xxh-config {{~/.config/xxh/config.xxhc}}
  • Specify a password to use for the SSH connection:
    xxh "{{host}}" ++password "{{password}}"
  • Install an xxh package on the target machine:
    xxh "{{host}}" ++install-xxh-packages {{package}}
  • Set an environment variable for the shell process on the target machine:
    xxh "{{host}}" ++env {{name}}={{value}}

pdffonts

Portable Document Format (PDF) file fonts information viewer. More information: https://www.xpdfreader.com/pdffonts-man.html.
  • Print PDF file fonts information:
    pdffonts {{path/to/file.pdf}}
  • Specify user password for PDF file to bypass security restrictions:
    pdffonts -upw {{password}} {{path/to/file.pdf}}
  • Specify owner password for PDF file to bypass security restrictions:
    pdffonts -opw {{password}} {{path/to/file.pdf}}
  • Print additional information on location of the font that will be used when the PDF file is rasterized:
    pdffonts -loc {{path/to/file.pdf}}
  • Print additional information on location of the font that will be used when the PDF file is converted to PostScript:
    pdffonts -locPS {{path/to/file.pdf}}

pytest

Run Python tests. More information: https://docs.pytest.org/.
  • Run tests from specific files:
    pytest {{path/to/test_file1.py path/to/test_file2.py ...}}
  • Run tests with names matching a specific [k]eyword expression:
    pytest -k {{expression}}
  • Exit as soon as a test fails or encounters an error:
    pytest --exitfirst
  • Run tests matching or excluding markers:
    pytest -m {{marker_name1 and not marker_name2}}
  • Run until a test failure, continuing from the last failing test:
    pytest --stepwise
  • Run tests without capturing output:
    pytest --capture=no

mid3v2

Edit audio tags. See also: id3v2. More information: https://manned.org/mid3v2.1.
  • List all supported ID3v2.3 or ID3v2.4 frames and their meanings:
    id3v2 --list-frames {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • List all supported ID3v1 numeric genres:
    id3v2 --list-genres {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • List all tags in specific files:
    id3v2 --list {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • Set specific artist, album, or song information:
    id3v2 {{--artist|--album|--song}}={{string}} {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • Set specific picture information:
    id3v2 --picture={{filename:description:image_type:mime_type}} {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • Set specific year information:
    id3v2 --year={{YYYY}} {{path/to/file1.mp3 path/to/file2.mp3 ...}}
  • Set specific date information:
    id3v2 --date={{YYYY-MM-DD}} {{path/to/file1.mp3 path/to/file2.mp3 ...}}

xsp

Mono ASP.NET Web Server. More information: https://www.mono-project.com/docs/web/aspnet/.
  • Listen on all interfaces (0.0.0.0) and port 8080:
    xsp
  • Listen on a specific IP address and port:
    xsp --address {{127.0.0.1}} --port {{8000}}

SC-IM

A curses based, vim-like spreadsheet calculator. Use hjkl or arrow keys to navigate. More information: https://github.com/andmarti1424/sc-im.
  • Start SC-IM:
    scim {{path/to/file.csv}}
  • Enter a string into the current cell:
    < or >
  • Enter a numeric constant into the current cell:
    =
  • Edit string in the current cell:
    E
  • Edit number in the current cell:
    e
  • Center align the current cell:
    |

lebab

A JavaScript modernizer for transpiling code to ES6/ES7. Transformations must be provided for all examples. More information: https://github.com/lebab/lebab.
  • Display a list of the available transformations:
    lebab --help
  • Transpile using one or more comma-separated transformations:
    lebab --transform {{transformation}}
  • Transpile a file to stdout:
    lebab {{path/to/input_file}}
  • Transpile a file to the specified output file:
    lebab {{path/to/input_file}} --out-file {{path/to/output_file}}
  • Replace all .js files in-place in the specified directory, glob or file:
    lebab --replace {{directory|glob|file}}

aws

The official CLI tool for Amazon Web Services. Some subcommands such as aws s3 have their own usage documentation. More information: https://aws.amazon.com/cli.
  • Configure the AWS Command-line:
    aws configure wizard
  • Configure the AWS Command-line using SSO:
    aws configure sso
  • See help text for the AWS command:
    aws {{command}} help
  • Get the caller identity (used to troubleshoot permissions):
    aws sts get-caller-identity
  • List AWS resources in a region and output in YAML:
    aws dynamodb list-tables --region {{us-east-1}} --output yaml
  • Use auto prompt to help with a command:
    aws iam create-user --cli-auto-prompt
  • Get an interactive wizard for an AWS resource:
    aws dynamodb wizard {{new_table}}
  • Generate a JSON CLI Skeleton (useful for infrastructure as code):
    aws dynamodb update-table --generate-cli-skeleton

showfigfonts

Display available figlet fonts. See also figlet. More information: https://manned.org/showfigfonts.
  • Display available fonts:
    showfigfonts
  • Display available fonts using a specific text:
    showfigfonts {{input_text}}

matlab

Numerical computation environment by MathWorks. More information: https://uk.mathworks.com/help/matlab/.
  • Run without splash screen during startup:
    matlab -nosplash
  • Execute a MATLAB statement:
    matlab -r "{{matlab_statement}}"
  • Run a MATLAB script:
    matlab -r "run({{path/to/script.m}})"

git secret

Bash tool which stores private data inside a Git repository. More information: https://github.com/sobolevn/git-secret.
  • Initialize git-secret in a local repository:
    git secret init
  • Grant access to the current Git user's email:
    git secret tell -m
  • Grant access by email:
    git secret tell {{email}}
  • Revoke access by email:
    git secret killperson {{email}}
  • List emails with access to secrets:
    git secret whoknows
  • Register a secret file:
    git secret add {{path/to/file}}
  • Encrypt secrets:
    git secret hide
  • Decrypt secret files:
    git secret reveal

ansible-inventory

Display or dump an Ansible inventory. See also: ansible. More information: https://docs.ansible.com/ansible/latest/cli/ansible-inventory.html.
  • Display the default inventory:
    ansible-inventory --list
  • Display a custom inventory:
    ansbile-inventory --list --inventory {{path/to/file_or_script_or_directory}}
  • Display the default inventory in YAML:
    ansible-inventory --list --yaml
  • Dump the default inventory to a file:
    ansible-inventory --list --output {{path/to/file}}

git delete-branch

Delete local and remote Git branches. Part of git-extras. If deleting the checked out branch, only the remote branch will be deleted. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-delete-branch.
  • Delete a local and remote Git branch:
    git delete-branch {{branch_name}}
  • Delete multiple local and remote Git branches:
    git delete-branch {{branch_name1 branch_name2 ...}}

diff

Compare files and directories. More information: https://man7.org/linux/man-pages/man1/diff.1.html.
  • Compare files (lists changes to turn old_file into new_file):
    diff {{old_file}} {{new_file}}
  • Compare files, ignoring white spaces:
    diff --ignore-all-space {{old_file}} {{new_file}}
  • Compare files, showing the differences side by side:
    diff --side-by-side {{old_file}} {{new_file}}
  • Compare files, showing the differences in unified format (as used by git diff):
    diff --unified {{old_file}} {{new_file}}
  • Compare directories recursively (shows names for differing files/directories as well as changes made to files):
    diff --recursive {{old_directory}} {{new_directory}}
  • Compare directories, only showing the names of files that differ:
    diff --recursive --brief {{old_directory}} {{new_directory}}
  • Create a patch file for Git from the differences of two text files, treating nonexistent files as empty:
    diff --text --unified --new-file {{old_file}} {{new_file}} > {{diff.patch}}

phpcs

Tokenize PHP, JavaScript and CSS files to detect violations of a defined set of coding standards. More information: https://github.com/squizlabs/PHP_CodeSniffer.
  • Sniff the specified directory for issues (defaults to the PEAR standard):
    phpcs {{path/to/directory}}
  • Display a list of installed coding standards:
    phpcs -i
  • Specify a coding standard to validate against:
    phpcs {{path/to/directory}} --standard {{standard}}
  • Specify comma-separated file extensions to include when sniffing:
    phpcs {{path/to/directory}} --extensions {{file_extension(s)}}
  • Specify the format of the output report (e.g. full, xml, json, summary):
    phpcs {{path/to/directory}} --report {{format}}
  • Set config variables to be used during the process:
    phpcs {{path/to/directory}} --config-set {{key}} {{value}}
  • A comma-separated list of files to load before processing:
    phpcs {{path/to/directory}} --bootstrap {{file(s)}}
  • Don't recurse into subdirectories:
    phpcs {{path/to/directory}} -l

loc

Tool written in Rust that counts lines of code. More information: https://github.com/cgag/loc.
  • Print lines of code in the current directory:
    loc
  • Print lines of code in the target directory:
    loc {{path/to/directory}}
  • Print lines of code with stats for individual files:
    loc --files
  • Print lines of code without .gitignore (etc.) files (e.g. two -u flags will additionally count hidden files and dirs):
    loc -u

pre-commit

Create Git hooks that get run before a commit. More information: https://pre-commit.com.
  • Install pre-commit into your Git hooks:
    pre-commit install
  • Run pre-commit hooks on all staged files:
    pre-commit run
  • Run pre-commit hooks on all files, staged or unstaged:
    pre-commit run --all-files
  • Clean pre-commit cache:
    pre-commit clean

fio

Flexible I/O tester. Tool that will spawn a number of threads or processes doing a particular type of I/O action. More information: https://fio.readthedocs.io/en/latest/fio_doc.html.
  • Test random reads:
    sudo fio --filename={{path/to/file}} --direct=1 --rw=randread --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name={{job_name}} --eta-newline=1 --readonly
  • Test sequential reads:
    sudo fio --filename={{path/to/file}} --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name={{job_name}} --eta-newline=1 --readonly
  • Test random read/write:
    sudo fio --filename={{path/to/file}} --size=500GB --direct=1 --rw=randrw --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name={{job_name}} --eta-newline=1
  • Test with parameters from a job file:
    sudo fio {{path/to/job_file}}
  • Convert a specific job file to command-line options:
    fio --showcmd {{path/to/job_file}}

git lfs

Work with large files in Git repositories. More information: https://git-lfs.github.com.
  • Initialize Git LFS:
    git lfs install
  • Track files that match a glob:
    git lfs track '{{*.bin}}'
  • Change the Git LFS endpoint URL (useful if the LFS server is separate from the Git server):
    git config -f .lfsconfig lfs.url {{lfs_endpoint_url}}
  • List tracked patterns:
    git lfs track
  • List tracked files that have been committed:
    git lfs ls-files
  • Push all Git LFS objects to the remote server (useful if errors are encountered):
    git lfs push --all {{remote_name}} {{branch_name}}
  • Fetch all Git LFS objects:
    git lfs fetch
  • Checkout all Git LFS objects:
    git lfs checkout

ssh-copy-id

Install your public key in a remote machine's authorized_keys. More information: https://manned.org/ssh-copy-id.
  • Copy your keys to the remote machine:
    ssh-copy-id {{username@remote_host}}
  • Copy the given public key to the remote:
    ssh-copy-id -i {{path/to/certificate}} {{username}}@{{remote_host}}
  • Copy the given public key to the remote with specific port:
    ssh-copy-id -i {{path/to/certificate}} -p {{port}} {{username}}@{{remote_host}}

git mergetool

Run merge conflict resolution tools to resolve merge conflicts. More information: https://git-scm.com/docs/git-mergetool.
  • Launch the default merge tool to resolve conflicts:
    git mergetool
  • List valid merge tools:
    git mergetool --tool-help
  • Launch the merge tool identified by a name:
    git mergetool --tool {{tool_name}}
  • Don't prompt before each invocation of the merge tool:
    git mergetool --no-prompt
  • Explicitly use the GUI merge tool (see the merge.guitool config variable):
    git mergetool --gui
  • Explicitly use the regular merge tool (see the merge.tool config variable):
    git mergetool --no-gui

phpdox

A PHP documentation generator. More information: https://phpdox.net.
  • Display an annotated skeleton configuration XML file:
    phpdox --skel
  • Generate documentation for the current working directory:
    phpdox
  • Generate documentation using a specific configuration file:
    phpdox --file {{path/to/phpdox.xml}}
  • Only run the metadata collection process:
    phpdox --collector
  • Only run the documentation generator process:
    phpdox --generator

darkhttpd

Darkhttpd web server. More information: https://unix4lyfe.org/darkhttpd.
  • Start server serving the specified document root:
    darkhttpd {{path/to/docroot}}
  • Start server on specified port (port 8080 by default if running as non-root user):
    darkhttpd {{path/to/docroot}} --port {{port}}
  • Listen only on specified IP address (by default, the server listens on all interfaces):
    darkhttpd {{path/to/docroot}} --addr {{ip_address}}

az network

Manage Azure Network resources. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/network.
  • List network resources in a region that are used against a subscription quota:
    az network list-usages
  • List all virtual networks in a subscription:
    az network vnet list
  • Create a virtual network:
    az network vnet create --address-prefixes {{10.0.0.0/16}} --name {{vnet}} --resource_group {{group_name}} --submet-name {{subnet}} --subnet-prefixes {{10.0.0.0/24}}
  • Enable accelerated networking for a network interface card:
    az network nic update --accelerated-networking true --name {{nic}} --resource-group {{resource_group}}

var-dump-server

Symfony dump server. Collects data dumped by the Symfony VarDumper component. More information: https://symfony.com/doc/current/components/var_dumper.html#the-dump-server.
  • Start the server:
    var-dump-server
  • Dump the data in an HTML file:
    var-dump-server --format=html > {{path/to/file.html}}
  • Make the server listen on a specific address and port:
    var-dump-server --host {{127.0.0.1:9912}}

monodevelop

Cross platform IDE for C#, F# and more. More information: https://www.monodevelop.com/.
  • Start MonoDevelop:
    monodevelop
  • Open a specific file:
    monodevelop {{path/to/file}}
  • Open a specific file with the caret at a specific position:
    monodevelop {{path/to/file}};{{line_number}};{{column_number}}
  • Force opening a new window instead of switching to an existing one:
    monodevelop --new-window
  • Disable redirection of stdout and stderr to a log file:
    monodevelop --no-redirect
  • Enable performance monitoring:
    monodevelop --perf-log

vt

Command-line interface for VirusTotal. API key from a VirusTotal account is required for this command. More information: https://github.com/VirusTotal/vt-cli.
  • Scan a specific file for viruses:
    vt scan file {{path/to/file}}
  • Scan a URL for viruses:
    vt scan url {{url}}
  • Display information from a specific analysis:
    vt analysis {{file_id|analysis_id}}
  • Download files in encrypted .zip format (requires premium account):
    vt download {{file_id}} --output {{path/to/directory}} --zip --zip-password {{password}}
  • Initialize or re-initialize vt to enter API key interactively:
    vt init
  • Display information about a domain:
    vt domain {{url}}
  • Display information for a specific URL:
    vt url {{url}}
  • Display information for a specific IP address:
    vt domain {{ip_address}}

xzmore

Display text from xz or lzma compressed files. Almost equivalent to xzless, except it respects the PAGER environment variable, uses more by default and you cannot pass options to the pager. More information: https://manned.org/xzmore.
  • View a compressed file:
    xzmore {{path/to/file}}

esptool.py

Bootloader utility for Espressif chips (e.g. ESP8266). More information: https://docs.espressif.com/projects/esptool/en/latest/esp32/.
  • Flash a firmware file to an ESP chip with a given port and baud rate:
    sudo esptool.py --port {{port}} --baud {{baud_rate}} write_flash 0x0 {{path/to/firmware.bin}}
  • Clear the flash of an ESP chip:
    sudo esptool.py --port {{port}} --baud {{baud_rate}} erase_flash

pyenv virtualenv

Create virtual environments based on one's installed Python distributions. More information: https://github.com/pyenv/pyenv-virtualenv.
  • Create a new Python 3.6.6 virtual environment:
    pyenv virtualenv {{3.6.6}} {{virtualenv_name}}
  • List all existing virtual environments:
    pyenv virtualenvs
  • Activate a virtual environment:
    pyenv activate {{virtualenv_name}}
  • Deactivate the virtual environment:
    pyenv deactivate

updog

A replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use HTTP basic auth. More information: https://github.com/sc0tfree/updog.
  • Start a HTTP server for the current directory:
    updog
  • Start a HTTP server for a specified directory:
    updog --directory {{/path/to/directory}}
  • Start a HTTP server on a specified port:
    updog --port {{port}}
  • Start a HTTP server with a password (To log in, leave the username blank and enter the password in the password field):
    updog --password {{password}}
  • Enable transport encryption via SSL:
    updog --ssl

gh repo

Work with GitHub repositories. More information: https://cli.github.com/manual/gh_repo.
  • Create a new repository (if the repository name is not set, the default name will be the name of the current directory):
    gh repo create {{name}}
  • Clone a repository:
    gh repo clone {{owner}}/{{repository}}
  • Fork and clone a repository:
    gh repo fork {{owner}}/{{repository}} --clone
  • View a repository in the default web browser:
    gh repo view {{repository}} --web
  • List repositories owned by a specific user or organization (if the owner is not set, the default owner will be the currently logged in user):
    gh repo list {{owner}}
  • List only non-forks repositories:
    gh repo list {{owner}} --non-forks
  • List repositories with a specific primary coding language:
    gh repo list {{owner}} --language {{language_name}}

arp-scan

Send ARP packets to hosts (specified as IP addresses or hostnames) to scan the local network. More information: https://github.com/royhills/arp-scan.
  • Scan the current local network:
    arp-scan --localnet
  • Scan an IP network with a custom bitmask:
    arp-scan {{192.168.1.1}}/{{24}}
  • Scan an IP network within a custom range:
    arp-scan {{127.0.0.0}}-{{127.0.0.31}}
  • Scan an IP network with a custom net mask:
    arp-scan {{10.0.0.0}}:{{255.255.255.0}}

composer-require-checker

Analyze Composer dependencies for soft dependencies. More information: https://github.com/maglnet/ComposerRequireChecker.
  • Analyze a Composer JSON file:
    composer-require-checker check {{path/to/composer.json}}
  • Analyze a Composer JSON file with a specific configuration:
    composer-require-checker check --config-file {{path/to/config.json}} {{path/to/composer.json}}

deb-get

apt-get functionality for .deb packages published in third party repositories or via direct download. Works with Linux distributions which use apt-get. More information: https://github.com/wimpysworld/deb-get.
  • Update the list of available packages and versions:
    sudo deb-get update
  • Search for a given package:
    sudo deb-get search {{package}}
  • Show information about a package:
    sudo deb-get show {{package}}
  • Install a package, or update it to the latest available version:
    sudo deb-get install {{package}}
  • Remove a package (using purge instead also removes its configuration files):
    sudo deb-get remove {{package}}
  • Upgrade all installed packages to their newest available versions:
    sudo deb-get upgrade
  • List all available packages:
    deb-get list


shift

Shell built-in command that shifts the arguments passed to the calling function or script by a specified number of places. More information: https://www.gnu.org/software/bash/manual/bash.html#index-shift.
  • Move arguments by one place dropping the first argument:
    shift
  • Move arguments by N places dropping the first N arguments:
    shift {{N}}

ptargrep

Find regular expression patterns in one or more tar archive files. More information: https://manned.org/ptargrep.
  • Search for a pattern within a tar file:
    ptargrep "{{search_pattern}}" {{path/to/file}}
  • Search for a pattern within multiple files:
    ptargrep "{{search_pattern}}" {{path/to/file1}} {{path/to/file2}} {{path/to/file3}}
  • Extract to the current directory using the basename of the file from the archive:
    ptargrep --basename "{{search_pattern}}" {{path/to/file}}
  • Search for a case-insensitive pattern matching within a tar file:
    ptargrep --ignore-case "{{search_pattern}}" {{path/to/file}}

diffstat

Create a histogram from the output of the diff command. More information: https://manned.org/diffstat.
  • Display changes in a histogram:
    diff {{file1}} {{file2}} | diffstat
  • Display inserted, deleted and modified changes as a table:
    diff {{file1}} {{file2}} | diffstat -t

helix

Helix, A post-modern text editor, provides several modes for different kinds of text manipulation. Pressing i enters insert mode. <Esc> enters normal mode, which enables the use of Helix commands. More information: https://helix-editor.com.
  • Open a file:
    helix {{path/to/file}}
  • Change the Helix theme:
    :theme {{theme_name}}
  • Save and Quit:
    :wq<Enter>
  • Force-quit without saving:
    :q!<Enter>
  • Undo the last operation:
    u
  • Search for a pattern in the file (press n/N to go to next/previous match):
    /{{search_pattern}}<Enter>
  • Format the file:
    :format

sed

Edit text in a scriptable manner. See also: awk, ed. More information: https://www.gnu.org/software/sed/manual/sed.html.
  • Replace all apple (basic regex) occurrences with mango (basic regex) in all input lines and print the result to stdout:
    {{command}} | sed 's/apple/mango/g'
  • Execute a specific script [f]ile and print the result to stdout:
    {{command}} | sed -f {{path/to/script.sed}}
  • Print just a first line to stdout:
    {{command}} | sed -n '1p'

git bundle

Package objects and references into an archive. More information: https://git-scm.com/docs/git-bundle.
  • Create a bundle file that contains all objects and references of a specific branch:
    git bundle create {{path/to/file.bundle}} {{branch_name}}
  • Create a bundle file of all branches:
    git bundle create {{path/to/file.bundle}} --all
  • Create a bundle file of the last 5 commits of the current branch:
    git bundle create {{path/to/file.bundle}} -{{5}} {{HEAD}}
  • Create a bundle file of the latest 7 days:
    git bundle create {{path/to/file.bundle}} --since={{7.days}} {{HEAD}}
  • Verify that a bundle file is valid and can be applied to the current repository:
    git bundle verify {{path/to/file.bundle}}
  • Print to stdout the list of references contained in a bundle:
    git bundle unbundle {{path/to/file.bundle}}
  • Unbundle a specific branch from a bundle file into the current repository:
    git pull {{path/to/file.bundle}} {{branch_name}}

go clean

Remove object files and cached files. More information: https://golang.org/cmd/go/#hdr-Remove_object_files_and_cached_files.
  • Print the remove commands instead of actually removing anything:
    go clean -n
  • Delete the build cache:
    go clean -cache
  • Delete all cached test results:
    go clean -testcache
  • Delete the module cache:
    go clean -modcache


pdftocairo

Converts PDF files to PNG/JPEG/TIFF/PDF/PS/EPS/SVG using cairo. More information: https://poppler.freedesktop.org.
  • Convert a PDF file to JPEG:
    pdftocairo {{path/to/file.pdf}} -jpeg
  • Convert to PDF expanding the output to fill the paper:
    pdftocairo {{path/to/file.pdf}} {{output.pdf}} -pdf -expand
  • Convert to SVG specifying the first/last page to convert:
    pdftocairo {{path/to/file.pdf}} {{output.svg}} -svg -f {{first_page}} -l {{last_page}}
  • Convert to PNG with 200ppi resolution:
    pdftocairo {{path/to/file.pdf}} {{output.png}} -png -r 200
  • Convert to grayscale TIFF setting paper size to A3:
    pdftocairo {{path/to/file.pdf}} -tiff -gray -paper A3
  • Convert to PNG cropping x and y pixels from the top-left corner:
    pdftocairo {{path/to/file.pdf}} -png -x {{x_pixels}} -y {{y_pixels}}

pake

Turn any webpage into a desktop app with Rust/Tauri. More information: https://github.com/tw93/Pake.
  • Package a web page:
    pake {{https://www.google.com/}}
  • Package a web page with a specific window size:
    pake --width {{800}} --height {{600}} {{https://www.google.com/}}
  • Package a web page with a custom application name and icon:
    pake --name {{Google}} --icon {{path/to/icon.ico}} {{https://www.google.com/}}
  • Package a web page with a non-resizable window:
    pake --no-resizable {{https://www.google.com/}}
  • Package a web page with fullscreen mode:
    pake --fullscreen {{https://www.google.com/}}
  • Package a web page with a transparent title bar:
    pake --transparent {{https://www.google.com/}}

terminalizer

Utility program which records the terminal and generate animated GIFs or share a video. More information: https://terminalizer.com.
  • Create the global config directory:
    terminalizer init
  • Record the terminal and create a recording file:
    terminalizer record {{path/to/file}}
  • Play a recorded file on the terminal:
    terminalizer play {{path/to/file}}
  • Render a recording file as an animated GIF image:
    terminalizer render {{path/to/file}}
  • Upload a video to terminalizer.com:
    terminalizer share {{path/to/file}}

clementine

A modern music player and library organizer. More information: https://www.clementine-player.org.
  • Open Clementine:
    clementine
  • Start playing a music file:
    clementine {{url/or/path/to/file.ext}}
  • Toggle between pausing and playing:
    clementine --play-pause
  • Stop playback:
    clementine --stop
  • Skip to the next track:
    clementine --next
  • Skip to the previous track:
    clementine --previous
  • Load a playlist file:
    clementine --load {{path/to/playlist.ext}}
  • Play the 5th track in the currently loaded playlist:
    clementine --play-track {{5}}

google-chrome

This command is an alias of chromium. More information: https://chrome.google.com.
  • View documentation for the original command:
    tldr chromium

cargo add

Add dependencies to a Rust project's Cargo.toml file. More information: https://doc.rust-lang.org/cargo/commands/cargo-add.html.
  • Add the latest version of a dependency to the current project:
    cargo add {{dependency}}
  • Add a specific version of a dependency:
    cargo add {{dependency}}@{{version}}
  • Add a dependency and enable one or more specific features:
    cargo add {{dependency}} --features {{feature_1}},{{feature_2}}
  • Add an optional dependency, which then gets exposed as a feature of the crate:
    cargo add {{dependency}} --optional
  • Add a local crate as a dependency:
    cargo add --path {{path/to/crate}}
  • Add a development or build dependency:
    cargo add {{dependency}} --{{dev|build}}
  • Add a dependency with all default features disabled:
    cargo add {{dependency}} --no-default-features

jekyll

A simple, blog-aware, static site generator. More information: https://jekyllrb.com/docs/usage/.
  • Generate a development server that will run at http://localhost:4000/:
    jekyll serve
  • Enable incremental regeneration:
    jekyll serve --incremental
  • Enable verbose output:
    jekyll serve --verbose
  • Generate the current directory into ./_site:
    jekyll build
  • Clean the site (removes site output and cache directory) without building:
    jekyll clean

pueue enqueue

Enqueue stashed tasks. See also: pueue stash. More information: https://github.com/Nukesor/pueue.
  • Enqueue multiple stashed tasks at once:
    pueue enqueue {{task_id}} {{task_id}}
  • Enqueue a stashed task after 60 seconds:
    pueue enqueue --delay {{60}} {{task_id}}
  • Enqueue a stashed task next Wednesday:
    pueue enqueue --delay {{wednesday}} {{task_id}}
  • Enqueue a stashed task after four months:
    pueue enqueue --delay "4 months" {{task_id}}
  • Enqueue a stashed task on 2021-02-19:
    pueue enqueue --delay {{2021-02-19}} {{task_id}}
  • List all available date/time formats:
    pueue enqueue --help

cf

Command-line tool to manage apps and services on Cloud Foundry. More information: https://docs.cloudfoundry.org.
  • Log in to the Cloud Foundry API:
    cf login -a {{api_url}}
  • Push an app using the default settings:
    cf push {{app_name}}
  • View the services available from your organization:
    cf marketplace
  • Create a service instance:
    cf create-service {{service}} {{plan}} {{service_name}}
  • Connect an application to a service:
    cf bind-service {{app_name}} {{service_name}}
  • Run a script whose code is included in the app, but runs independently:
    cf run-task {{app_name}} "{{script_command}}" --name {{task_name}}
  • Start an interactive SSH session with a VM hosting an app:
    cf ssh {{app_name}}
  • View a dump of recent app logs:
    cf logs {{app_name}} --recent

jp2a

Convert JPEG images to ASCII. More information: https://csl.name/jp2a/.
  • Read JPEG image from a file and print in ASCII:
    jp2a {{path/to/image.jpeg}}
  • Read JPEG image from a URL and print in ASCII:
    jp2a {{www.example.com/image.jpeg}}
  • Colorize the ASCII output:
    jp2a --colors {{path/to/image.jpeg}}
  • Specify characters to be used for the ASCII output:
    jp2a --chars='{{..-ooxx@@}}' {{path/to/image.jpeg}}
  • Write the ASCII output into a file:
    jp2a --output={{path/to/output_file.txt}} {{path/to/image.jpeg}}
  • Write the ASCII output in HTML file format, suitable for viewing in web browsers:
    jp2a --html --output={{path/to/output_file.html}} {{path/to/image.jpeg}}

ifconfig

Network Interface Configurator. More information: https://net-tools.sourceforge.io/man/ifconfig.8.html.
  • View network settings of an Ethernet adapter:
    ifconfig eth0
  • Display details of all interfaces, including disabled interfaces:
    ifconfig -a
  • Disable eth0 interface:
    ifconfig eth0 down
  • Enable eth0 interface:
    ifconfig eth0 up
  • Assign IP address to eth0 interface:
    ifconfig eth0 {{ip_address}}

yes

Output something repeatedly. This command is commonly used to answer yes to every prompt by install commands (such as apt-get). More information: https://www.gnu.org/software/coreutils/yes.
  • Repeatedly output "message":
    yes {{message}}
  • Repeatedly output "y":
    yes
  • Accept everything prompted by the apt-get command:
    yes | sudo apt-get install {{program}}

st-flash

Flash binary files to STM32 ARM Cortex microcontrollers. More information: https://github.com/texane/stlink.
  • Read 4096 bytes from the device starting from 0x8000000:
    st-flash read {{firmware}}.bin {{0x8000000}} {{4096}}
  • Write firmware to device starting from 0x8000000:
    st-flash write {{firmware}}.bin {{0x8000000}}
  • Erase firmware from device:
    st-flash erase

zip2john

A tool to extract password hashes from zip files for use with John the Ripper password cracker. This is a utility tool usually installed as part of the John the Ripper installation. More information: https://www.openwall.com/john/.
  • Extract the password hash from an archive, listing all files in the archive:
    zip2john {{path/to/file.zip}}
  • Extract the password hash using [o]nly a specific compressed file:
    zip2john -o {{path/to/compressed_file}} {{path/to/file.zip}}
  • Extract the password hash from a compressed file to a specific file (for use with John the Ripper):
    zip2john -o {{path/to/compressed_file}} {{path/to/file.zip}} > {{file.hash}}

phploc

A tool for quickly measuring the size and analyzing the structure of a PHP project. More information: https://github.com/sebastianbergmann/phploc.
  • Analyze a directory and print the result:
    phploc {{path/to/directory}}
  • Include only specific files from a comma-separated list (globs are allowed):
    phploc {{path/to/directory}} --names {{files}}
  • Exclude specific files from a comma-separated list (globs are allowed):
    phploc {{path/to/directory}} --names-exclude {{files}}
  • Exclude a specific directory from analysis:
    phploc {{path/to/directory}} --exclude {{path/to/exclude_directory}}
  • Log the results to a specific CSV file:
    phploc {{path/to/directory}} --log-csv {{path/to/file}}
  • Log the results to a specific XML file:
    phploc {{path/to/directory}} --log-xml {{path/to/file}}
  • Count PHPUnit test case classes and test methods:
    phploc {{path/to/directory}} --count-tests

docker ps

List Docker containers. More information: https://docs.docker.com/engine/reference/commandline/ps/.
  • List currently running docker containers:
    docker ps
  • List all docker containers (running and stopped):
    docker ps --all
  • Show the latest created container (includes all states):
    docker ps --latest
  • Filter containers that contain a substring in their name:
    docker ps --filter="name={{name}}"
  • Filter containers that share a given image as an ancestor:
    docker ps --filter "ancestor={{image}}:{{tag}}"
  • Filter containers by exit status code:
    docker ps --all --filter="exited={{code}}"
  • Filter containers by status (created, running, removing, paused, exited and dead):
    docker ps --filter="status={{status}}"
  • Filter containers that mount a specific volume or have a volume mounted in a specific path:
    docker ps --filter="volume={{path/to/directory}}" --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Mounts}}"

tlmgr generate

Remake configuration files from information stored locally. More information: https://www.tug.org/texlive/tlmgr.html.
  • Remake the configuration file storing into a specific location:
    tlmgr generate --dest {{output_file}}
  • Remake the configuration file using a local configuration file:
    tlmgr generate --localcfg {{local_configuration_file}}
  • Run necessary programs after rebuilding configuration files:
    tlmgr generate --rebuild-sys

javap

Disassemble one or more class files and list them. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/javap.html.
  • Disassemble and list a .class file:
    javap {{path/to/file.class}}
  • Disassemble and list multiple .class files:
    javap {{path/to/file1.class path/to/file2.class ...}}
  • Disassemble and list a built-in class file:
    javap java.{{package}}.{{class}}
  • Display help:
    javap -help
  • Display version:
    javap -version

rails destroy

Destroy Rails resources. More information: https://guides.rubyonrails.org/command_line.html#bin-rails-destroy.
  • List all available generators to destroy:
    rails destroy
  • Destroy a model named Post:
    rails destroy model {{Post}}
  • Destroy a controller named Posts:
    rails destroy controller {{Posts}}
  • Destroy a migration that creates Posts:
    rails destroy migration {{CreatePosts}}
  • Destroy a scaffold for a model named Post:
    rails destroy scaffold {{Post}}

jf

Interact with JFrog products like Artifactory, Xray, Distribution, Pipelines and Mission Control. More information: https://jfrog.com/help/r/jfrog-cli/usage.
  • Add a new configuration:
    jf config add
  • Show the current configuration:
    jf config show
  • Search for artifacts within the given repository and directory:
    jf rt search --recursive {{repostiory_name}}/{{path}}/

zipalign

Zip archive alignment tool. Part of the Android SDK build tools. More information: https://developer.android.com/studio/command-line/zipalign.
  • Align the data of a ZIP file on 4-byte boundaries:
    zipalign {{4}} {{path/to/input.zip}} {{path/to/output.zip}}
  • Check that a ZIP file is correctly aligned on 4-byte boundaries and display the results in a verbose manner:
    zipalign -v -c {{4}} {{path/to/input.zip}}

jtbl

Utility to print JSON and JSON Lines data as a table in the terminal. More information: https://github.com/kellyjonbrazil/jtbl.
  • Print a table from JSON or JSON Lines input:
    cat {{file.json}} | jtbl
  • Print a table and specify the column width for wrapping:
    cat {{file.json}} | jtbl --cols={{width}}
  • Print a table and truncate rows instead of wrapping:
    cat {{file.json}} | jtbl -t
  • Print a table and don't wrap or truncate rows:
    cat {{file.json}} | jtbl -n

printenv

Print values of all or specific environment variables. More information: https://www.gnu.org/software/coreutils/printenv.
  • Display key-value pairs of all environment variables:
    printenv
  • Display the value of a specific variable:
    printenv {{HOME}}
  • Display the value of a variable and end with NUL instead of newline:
    printenv --null {{HOME}}

inkmake

GNU Makefile-style SVG exporting using Inkscape's backend. More information: https://github.com/wader/inkmake.
  • Export an SVG file executing the specified Inkfile:
    inkmake {{path/to/Inkfile}}
  • Execute an Inkfile and show detailed information:
    inkmake --verbose {{path/to/Inkfile}}
  • Execute an Inkfile, specifying SVG input file(s) and an output file:
    inkmake --svg {{path/to/file.svg}} --out {{path/to/output_image}} {{path/to/Inkfile}}
  • Specify a custom Inkscape binary to use as the backend:
    inkmake --inkscape {{/Applications/Inkscape.app/Contents/Resources/bin/inkscape}} {{path/to/Inkfile}}
  • Display help:
    inkmake --help

xzegrep

This command is an alias of xzgrep --extended-regexp. See also: egrep.
  • View documentation for the original command:
    tldr xzgrep

babeld

Routing daemon for Babel which uses firewall-style filters. More information: https://www.irif.fr/~jch/software/babel/babeld.html.
  • Start babeld with a specific configuration file:
    babeld -c {{path/to/babeld.conf}}
  • Start babeld with multiple configuration files (read in order):
    babeld -c {{path/to/ports.conf}} -c {{path/to/filters.conf}} -c {{path/to/interfaces.conf}}
  • Start babeld and daemonise afterwards:
    babeld -D
  • Start babeld and pass a configuration command:
    babeld -C {{'redistribute metric 256'}}
  • Start babeld and specify on which interfaces to operate:
    babeld {{eth0}} {{eth1}} {{wlan0}}

laydown

Command line application to prepare for Daily Standup. More information: https://github.com/badjr13/laydown.
  • Add an item to DID section:
    laydown did {{item}}
  • Add an item to DOING section:
    laydown doing {{item}}
  • Clear all items:
    laydown clear
  • Use an editor to edit current data:
    laydown edit
  • Archive and clear current data:
    laydown archive

git ls-tree

List the contents of a tree object. More information: https://git-scm.com/docs/git-ls-tree.
  • List the contents of the tree on a branch:
    git ls-tree {{branch_name}}
  • List the contents of the tree on a commit, recursing into subtrees:
    git ls-tree -r {{commit_hash}}
  • List only the filenames of the tree on a commit:
    git ls-tree --name-only {{commit_hash}}


brotli

Compress/uncompress files with Brotli compression. More information: https://github.com/google/brotli.
  • Compress a file, creating a compressed version next to the file:
    brotli {{path/to/file}}
  • Decompress a file, creating an uncompressed version next to the file:
    brotli -d {{path/to/file.br}}
  • Compress a file specifying the output filename:
    brotli {{path/to/file}} -o {{path/to/compressed_output_file.br}}
  • Decompress a Brotli file specifying the output filename:
    brotli -d {{path/to/compressed_file.br}} -o {{path/to/output_file}}
  • Specify the compression level [1=Fastest (Worst), 11=Slowest (Best)]:
    brotli -q {{11}} {{path/to/file}} -o {{path/to/compressed_output_file.br}}

nload

A tool for visualizing network usage in the terminal. More information: https://github.com/rolandriegel/nload.
  • View all network traffic (use the arrow keys to switch interfaces):
    nload
  • View network traffic on specific interfaces (use the arrow keys to switch interfaces):
    nload device {{interface_one}} {{interface_two}}

pip3

Python package manager. More information: https://pip.pypa.io.
  • Install a package:
    pip3 install {{package}}
  • Install a specific version of a package:
    pip3 install {{package}}=={{version}}
  • Upgrade a package:
    pip3 install --upgrade {{package}}
  • Uninstall a package:
    pip3 uninstall {{package}}
  • Save the list of installed packages to a file:
    pip3 freeze > {{requirements.txt}}
  • Install packages from a file:
    pip3 install --requirement {{requirements.txt}}
  • Show installed package info:
    pip3 show {{package}}

bundletool dump

Command-line tool to manipulate Android Application Bundles. More information: https://developer.android.com/studio/command-line/bundletool.
  • Display the AndroidManifest.xml of the base module:
    bundletool dump manifest --bundle={{path/to/bundle.aab}}
  • Display a specific value from the AndroidManifest.xml using XPath:
    bundletool dump manifest --bundle={{path/to/bundle.aab}} --xpath={{/manifest/@android:versionCode}}
  • Display the AndroidManifest.xml of a specific module:
    bundletool dump manifest --bundle={{path/to/bundle.aab}} --module={{name}}
  • Display all the resources in the application bundle:
    bundletool dump resources --bundle={{path/to/bundle.aab}}
  • Display the configuration for a specific resource:
    bundletool dump resources --bundle={{path/to/bundle.aab}} --resource={{type/name}}
  • Display the configuration and values for a specific resource using the ID:
    bundletool dump resources --bundle={{path/to/bundle.aab}} --resource={{0x7f0e013a}} --values
  • Display the contents of the bundle configuration file:
    bundletool dump config --bundle={{path/to/bundle.aab}}

Projucer

A project manager for JUCE framework applications. More information: https://juce.com/discover/stories/projucer-manual#10.4-command-line-tools.
  • Display information about a project:
    Projucer --status {{path/to/project_file}}
  • Resave all files and resources in a project:
    Projucer --resave {{path/to/project_file}}
  • Update the version number in a project:
    Projucer --set-version {{version_number}} {{path/to/project_file}}
  • Generate a JUCE project from a PIP file:
    Projucer --create-project-from-pip {{path/to/PIP}} {{path/to/output}}
  • Remove all JUCE-style comments (//=====, //----- or ///////):
    Projucer --tidy-divider-comments {{path/to/target_folder}}
  • Display help:
    Projucer --help

webstorm

The JetBrains JavaScript IDE. More information: https://www.jetbrains.com/help/webstorm/working-with-the-ide-features-from-command-line.html.
  • Open the current directory in WebStorm:
    webstorm
  • Open a specific directory in WebStorm:
    webstorm {{path/to/directory}}
  • Open specific files in the LightEdit mode:
    webstorm -e {{path/to/file1 path/to/file2 ...}}
  • Open and wait until done editing a specific file in the LightEdit mode:
    webstorm --wait -e {{path/to/file}}
  • Open a file with the cursor at the specific line:
    webstorm --line {{line_number}} {{path/to/file}}
  • Open and compare files (supports up to 3 files):
    webstorm diff {{path/to/file1}} {{path/to/file2}}
  • Open and perform a three-way merge:
    webstorm merge {{path/to/left_file}} {{path/to/right_file}} {{path/to/target_file}}

exa

A modern replacement for ls (List directory contents). More information: https://the.exa.website.
  • List files one per line:
    exa --oneline
  • List all files, including hidden files:
    exa --all
  • Long format list (permissions, ownership, size and modification date) of all files:
    exa --long --all
  • List files with the largest at the top:
    exa --reverse --sort={{size}}
  • Display a tree of files, three levels deep:
    exa --long --tree --level={{3}}
  • List files sorted by modification date (oldest first):
    exa --long --sort={{modified}}
  • List files with their headers, icons, and Git statuses:
    exa --long --header --icons --git
  • Don't list files mentioned in .gitignore:
    exa --git-ignore

git filter-repo

A versatile tool for rewriting Git history. See also: bfg. More information: https://github.com/newren/git-filter-repo.
  • Replace a sensitive string in all files:
    git filter-repo --replace-text <(echo '{{find}}==>{{replacement}}')
  • Extract a single folder, keeping history:
    git filter-repo --path {{path/to/folder}}
  • Remove a single folder, keeping history:
    git filter-repo --path {{path/to/folder}} --invert-paths
  • Move everything from sub-folder one level up:
    git filter-repo --path-rename {{path/to/folder/:}}

kdenlive

KDE's non-linear video editor. More information: https://manned.org/kdenlive.
  • Start the video editor:
    kdenlive
  • Open a specific file:
    kdenlive {{path/to/file}}.kdenlive
  • Set a specific path for an MLT environment:
    kdenlive --mlt-path {{path/to/directory}}
  • Set a specific log level for an MLT environment:
    kdenlive --mlt-log {{verbose|debug}}
  • Display help:
    kdenlive --help
  • Display version:
    kdenlive --version

httpry

A lightweight packet sniffer for displaying and logging HTTP traffic. It can be run in real-time displaying the traffic as it is parsed, or as a daemon process that logs to an output file. More information: http://dumpsterventures.com/jason/httpry/.
  • Save output to a file:
    httpry -o {{path/to/file.log}}
  • Listen on a specific interface and save output to a binary pcap format file:
    httpry {{eth0}} -b {{path/to/file.pcap}}
  • Filter output by a comma-separated list of HTTP verbs:
    httpry -m {{get|post|put|head|options|delete|trace|connect|patch}}
  • Read from an input capture file and filter by IP:
    httpry -r {{path/to/file.log}} '{{host 192.168.5.25}}'
  • Run as daemon process:
    httpry -d -o {{path/to/file.log}}

xpdf

Portable Document Format (PDF) file viewer. More information: https://www.xpdfreader.com/xpdf-man.html.
  • Open a PDF file:
    xpdf {{path/to/file.pdf}}
  • Open a specific page in a PDF file:
    xpdf {{path/to/file.pdf}} :{{page_number}}
  • Open a compressed PDF file:
    xpdf {{path/to/file.pdf.tar}}
  • Open a PDF file in fullscreen mode:
    xpdf -fullscreen {{path/to/file.pdf}}
  • Specify the initial zoom:
    xpdf -z {{75}}% {{path/to/file.pdf}}
  • Specify the initial zoom at page width or full page:
    xpdf -z {{page|width}} {{path/to/file.pdf}}

protector

Protect or unprotect branches on GitHub repositories. More information: https://github.com/jcgay/protector.
  • Protect branches of a GitHub repository (create branch protection rules):
    protector {{branches_regex}} -repos {{organization/repository}}
  • Use the dry run to see what would be protected (can also be used for freeing):
    protector -dry-run {{branches_regex}} -repos {{organization/repository}}
  • Free branches of a GitHub repository (delete branch protection rules):
    protector -free {{branches_regex}} -repos {{organization/repository}}

ranger

Console file manager with VI key bindings. More information: https://github.com/ranger/ranger.
  • Launch ranger:
    ranger
  • Show only directories:
    ranger --show-only-dirs
  • Change the configuration directory:
    ranger --confdir={{path/to/directory}}
  • Change the data directory:
    ranger --datadir={{path/to/directory}}
  • Print CPU usage statistics on exit:
    ranger --profile

choose

A human-friendly and fast alternative to cut and (sometimes) awk. More information: https://github.com/theryangeary/choose.
  • Print the 5th item from a line (starting from 0):
    choose {{4}}
  • Print the first, 3rd, and 5th item from a line, where items are separated by ':' instead of whitespace:
    choose --field-separator '{{:}}' {{0}} {{2}} {{4}}
  • Print everything from the 2nd to 5th item on the line, including the 5th:
    choose {{1}}:{{4}}
  • Print everything from the 2nd to 5th item on the line, excluding the 5th:
    choose --exclusive {{1}}:{{4}}
  • Print the beginning of the line to the 3rd item:
    choose :{{2}}
  • Print all items from the beginning of the line until the 3rd item (exclusive):
    choose --exclusive :{{2}}
  • Print all items from the 3rd to the end of the line:
    choose {{2}}:
  • Print the last item from a line:
    choose {{-1}}

starship

The minimal, blazing-fast, and infinitely customizable prompt for any shell. Some subcommands such as starship init have their own usage documentation. More information: https://starship.rs.
  • Print the starship integration code for the specified shell:
    starship init {{bash|elvish|fish|ion|powershell|tcsh|zsh}}
  • Explain each part of the current prompt and show the time taken to render them:
    starship explain
  • Print the computed starship configuration (use --default to print default configuration instead):
    starship print-config
  • List supported modules:
    starship module --list
  • Edit the starship configuration in the default editor:
    starship configure
  • Create a bug report GitHub issue pre-populated with information about the system and starship configuration:
    starship bug-report
  • Print the completion script for the specified shell:
    starship completions {{bash|elvish|fish|powershell|zsh}}
  • Display help for a subcommand:
    starship {{subcommand}} --help

drush

A command-line shell and scripting interface for Drupal. More information: https://www.drush.org.
  • Enable module "foo":
    drush en {{foo}}
  • Uninstall module "foo":
    drush pmu {{foo}}
  • Clear all caches:
    drush cr
  • Clear CSS and JavaScript caches:
    drush cc css-js

josm

Extensible OpenStreetMap editor for Java 8+. More information: https://josm.openstreetmap.de/.
  • Launch JOSM:
    josm
  • Launch JOSM in maximized mode:
    josm --maximize
  • Launch JOSM and set a specific language:
    josm --language {{de}}
  • Launch JOSM and reset all preferences to their default values:
    josm --reset-preferences
  • Launch JOSM and download a specific bounding box:
    josm --download {{minlat,minlon,maxlat,maxlon}}
  • Launch JOSM and download a specific bounding box as raw GPS:
    josm --downloadgps {{minlat,minlon,maxlat,maxlon}}
  • Launch JOSM without plugins:
    josm --skip-plugins

wapm

The WebAssembly package manager. More information: https://wapm.io/help/reference.
  • Interactively create a new wapm.toml file:
    wapm init
  • Download all the packages listed as dependencies in wapm.toml:
    wapm install
  • Download a specific version of a package and add it to the list of dependencies in wapm.toml:
    wapm install {{package}}@{{version}}
  • Download a package and install it globally:
    wapm install --global {{package}}
  • Uninstall a package and remove it from the list of dependencies in wapm.toml:
    wapm uninstall {{package}}
  • Print a tree of locally installed dependencies:
    wapm list
  • List top-level globally installed packages:
    wapm list --global
  • Execute a package command using the Wasmer runtime:
    wapm run {{command_name}} {{arguments}}

dict

Command line dictionary using the DICT protocol. More information: https://github.com/cheusov/dictd.
  • List available databases:
    dict -D
  • Get information about a database:
    dict -i {{database_name}}
  • Look up a word in a specific database:
    dict -d {{database_name}} {{word}}
  • Look up a word in all available databases:
    dict {{word}}
  • Show information about the DICT server:
    dict -I

goimports

Updates Go import lines, adding missing ones and removing unreferenced ones. More information: https://godoc.org/golang.org/x/tools/cmd/goimports.
  • Display the completed import source file:
    goimports {{path/to/file}}.go
  • Write the result back to the source file instead of stdout:
    goimports -w {{path/to/file}}.go
  • Display diffs and write the result back to the source file:
    goimports -w -d {{path/to/file}}.go
  • Set the import prefix string after 3rd-party packages (comma-separated list):
    goimports -local {{path/to/package}} {{path/to/file}}.go

lt

Localtunnel exposes your localhost to the world for easy testing and sharing. More information: https://github.com/localtunnel/localtunnel.
  • Start tunnel from a specific port:
    lt --port {{8000}}
  • Specify the upstream server doing the forwarding:
    lt --port {{8000}} --host {{host}}
  • Request a specific subdomain:
    lt --port {{8000}} --subdomain {{subdomain}}
  • Print basic request info:
    lt --port {{8000}} --print-requests
  • Open the tunnel URL in the default web browser:
    lt --port {{8000}} --open

ag

The Silver Searcher. Like ack, but aims to be faster. More information: https://github.com/ggreer/the_silver_searcher.
  • Find files containing "foo", and print the line matches in context:
    ag {{foo}}
  • Find files containing "foo" in a specific directory:
    ag {{foo}} {{path/to/directory}}
  • Find files containing "foo", but only list the filenames:
    ag -l {{foo}}
  • Find files containing "FOO" case-insensitively, and print only the match, rather than the whole line:
    ag -i -o {{FOO}}
  • Find "foo" in files with a name matching "bar":
    ag {{foo}} -G {{bar}}
  • Find files whose contents match a regular expression:
    ag '{{^ba(r|z)$}}'
  • Find files with a name matching "foo":
    ag -g {{foo}}

glab

Work seamlessly with GitLab. Some subcommands such as glab config have their own usage documentation. More information: https://github.com/profclems/glab.
  • Clone a GitLab repository locally:
    glab repo clone {{owner}}/{{repository}}
  • Create a new issue:
    glab issue create
  • View and filter the open issues of the current repository:
    glab issue list
  • View an issue in the default browser:
    glab issue view --web {{issue_number}}
  • Create a merge request:
    glab mr create
  • View a pull request in the default web browser:
    glab mr view --web {{pr_number}}
  • Check out a specific pull request locally:
    glab mr checkout {{pr_number}}

nokogiri

An HTML, XML, SAX and Reader parser. More information: https://nokogiri.org.
  • Parse the contents of a URL or file:
    nokogiri {{url|path/to/file}}
  • Parse as a specific type:
    nokogiri {{url|path/to/file}} --type {{xml|html}}
  • Load a specific initialization file before parsing:
    nokogiri {{url|path/to/file}} -C {{path/to/config_file}}
  • Parse using a specific encoding:
    nokogiri {{url|path/to/file}} --encoding {{encoding}}
  • Validate using a RELAX NG file:
    nokogiri {{url|path/to/file}} --rng {{url|path/to/file}}

transmission-create

Create BitTorrent .torrent files. More information: https://manned.org/transmission-create.
  • Create a torrent with 2048 KB as the piece size:
    transmission-create -o {{path/to/example.torrent}} --tracker {{tracker_announce_url}} --piecesize {{2048}} {{path/to/file_or_directory}}
  • Create a private torrent with a 2048 KB piece size:
    transmission-create -p -o {{path/to/example.torrent}} --tracker {{tracker_announce_url}} --piecesize {{2048}} {{path/to/file_or_directory}}
  • Create a torrent with a comment:
    transmission-create -o {{path/to/example.torrent}} --tracker {{tracker_url1}} -c {{comment}} {{path/to/file_or_directory}}
  • Create a torrent with multiple trackers:
    transmission-create -o {{path/to/example.torrent}} --tracker {{tracker_url1}} --tracker {{tracker_url2}} {{path/to/file_or_directory}}
  • Show help page:
    transmission-create --help

openssl

OpenSSL cryptographic toolkit. Some subcommands such as openssl req have their own usage documentation. More information: https://www.openssl.org.
  • Print a list of available subcommands:
    openssl help
  • Print options for a specific subcommand:
    openssl help {{x509}}
  • Print the version of OpenSSL:
    openssl version

nix-env

Manipulate or query Nix user environments. More information: https://nixos.org/manual/nix/stable/#sec-nix-env.
  • List all installed packages:
    nix-env -q
  • Query installed packages:
    nix-env -q {{search_term}}
  • Query available packages:
    nix-env -qa {{search_term}}
  • Install package:
    nix-env -iA nixpkgs.{{pkg_name}}
  • Install a package from a URL:
    nix-env -i {{pkg_name}} --file {{example.com}}
  • Uninstall package:
    nix-env -e {{pkg_name}}
  • Upgrade one package:
    nix-env -u {{pkg_name}}
  • Upgrade all packages:
    nix-env -u

mogrify

Perform operations on multiple images, such as resizing, cropping, flipping, and adding effects. Changes are applied directly to the original file. More information: https://imagemagick.org/script/mogrify.php.
  • Resize all JPEG images in the directory to 50% of their initial size:
    mogrify -resize {{50%}} {{*.jpg}}
  • Resize all images starting with "DSC" to 800x600:
    mogrify -resize {{800x600}} {{DSC*}}
  • Convert all PNGs in the directory to JPEG:
    mogrify -format {{jpg}} {{*.png}}
  • Halve the saturation of all image files in the current directory:
    mogrify -modulate {{100,50}} {{*}}
  • Double the brightness of all image files in the current directory:
    mogrify -modulate {{200}} {{*}}

zig

The Zig compiler and toolchain. More information: https://ziglang.org.
  • Compile the project in the current directory:
    zig build
  • Compile and run the project in the current directory:
    zig build run
  • Initialize a zig build application:
    zig init-exe
  • Initialize a zig build library:
    zig init-lib
  • Create and run a test build:
    zig test {{path/to/file.zig}}
  • Reformat Zig source into canonical form:
    zig fmt {{path/to/file.zig}}
  • Use Zig as a drop-in C compiler:
    zig cc {{path/to/file.c}}
  • Use Zig as a drop-in C++ compiler:
    zig c++ {{path/to/file.cpp}}

atom

A cross-platform pluggable text editor. Plugins are managed by apm. More information: https://atom.io/.
  • Open a file or directory:
    atom {{path/to/file_or_directory}}
  • Open a file or directory in a new window:
    atom -n {{path/to/file_or_directory}}
  • Open a file or directory in an existing window:
    atom --add {{path/to/file_or_directory}}
  • Open Atom in safe mode (does not load any additional packages):
    atom --safe
  • Prevent Atom from forking into the background, keeping Atom attached to the terminal:
    atom --foreground
  • Wait for Atom window to close before returning (useful for Git commit editor):
    atom --wait

shiori

Simple bookmark manager built with Go. More information: https://github.com/go-shiori/shiori.
  • Import bookmarks from HTML Netscape bookmark format file:
    shiori import {{path/to/bookmarks.html}}
  • Save the specified URL as bookmark:
    shiori add {{url}}
  • List the saved bookmarks:
    shiori print
  • Open the saved bookmark in a browser:
    shiori open {{bookmark_id}}
  • Start the web interface for managing bookmarks at port 8181:
    shiori serve --port {{8181}}

multipass

Manage Ubuntu virtual machines using native hypervisors. More information: https://multipass.run/.
  • List the aliases that can be used to launch an instance:
    multipass find
  • Launch a new instance, set its name and use a cloud-init configuration file:
    multipass launch -n {{instance_name}} --cloud-init {{configuration_file}}
  • List all the created instances and some of their properties:
    multipass list
  • Start a specific instance by name:
    multipass start {{instance_name}}
  • Show the properties of an instance:
    multipass info {{instance_name}}
  • Open a shell prompt on a specific instance by name:
    multipass shell {{instance_name}}
  • Delete an instance by name:
    multipass delete {{instance_name}}
  • Mount a directory into a specific instance:
    multipass mount {{path/to/local/directory}} {{instance_name}}:{{path/to/target/directory}}

kubetail

Utility to tail multiple Kubernetes pod logs at the same time. More information: https://github.com/johanhaleby/kubetail.
  • Tail the logs of multiple pods (whose name starts with "my_app") in one go:
    kubetail {{my_app}}
  • Tail only a specific container from multiple pods:
    kubetail {{my_app}} -c {{my_container}}
  • To tail multiple containers from multiple pods:
    kubetail {{my_app}} -c {{my_container_1}} -c {{my_container_2}}
  • To tail multiple applications at the same time separate them by comma:
    kubetail {{my_app_1}},{{my_app_2}}

sslscan

Check SSL/TLS protocols and ciphers supported by a server. More information: https://github.com/rbsec/sslscan.
  • Test a server on port 443:
    sslscan {{example.com}}
  • Test a specified port:
    sslscan {{example.com}}:{{465}}
  • Show certificate information:
    testssl --show-certificate {{example.com}}

git am

Apply patch files and create a commit. Useful when receiving commits via email. See also git format-patch, which can generate patch files. More information: https://git-scm.com/docs/git-am.
  • Apply and commit changes following a local patch file:
    git am {{path/to/file.patch}}
  • Apply and commit changes following a remote patch file:
    curl -L {{https://example.com/file.patch}} | git apply
  • Abort the process of applying a patch file:
    git am --abort
  • Apply as much of a patch file as possible, saving failed hunks to reject files:
    git am --reject {{path/to/file.patch}}

git rm

Remove files from repository index and local filesystem. More information: https://git-scm.com/docs/git-rm.
  • Remove file from repository index and filesystem:
    git rm {{path/to/file}}
  • Remove directory:
    git rm -r {{path/to/directory}}
  • Remove file from repository index but keep it untouched locally:
    git rm --cached {{path/to/file}}

7z

File archiver with a high compression ratio. More information: https://manned.org/7z.
  • [a]dd a file or directory to a new or existing archive:
    7z a {{path/to/archive.7z}} {{path/to/file_or_directory}}
  • Encrypt an existing archive (including filenames):
    7z a {{path/to/encrypted.7z}} -p{{password}} -mhe=on {{path/to/archive.7z}}
  • E[x]tract an archive preserving the original directory structure:
    7z x {{path/to/archive.7z}}
  • E[x]tract an archive to a specific directory:
    7z x {{path/to/archive.7z}} -o{{path/to/output}}
  • E[x]tract an archive to stdout:
    7z x {{path/to/archive.7z}} -so
  • [a]rchive using a specific archive type:
    7z a -t{{7z|bzip2|gzip|lzip|tar|zip}} {{path/to/archive.7z}} {{path/to/file_or_directory}}
  • [l]ist the contents of an archive:
    7z l {{path/to/archive.7z}}
  • List available archive types:
    7z i

trivy

Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues. More information: https://github.com/aquasecurity/trivy.
  • Scan an image:
    trivy image {{image:tag}}
  • Scan the filesystem for vulnerabilities and misconfigurations:
    trivy fs --security-checks {{vuln,config}} {{path/to/project_directory}}
  • Scan a directory for misconfigurations:
    trivy config {{path/to/iac_directory}}
  • Generate output with a SARIF template:
    trivy image --format {{template}} --template {{"@sarif.tpl"}} -o {{path/to/report.sarif}} {{image:tag}}

rustup completions

Generate shell completions for rustup and cargo. More information: https://rust-lang.github.io/rustup.
  • Print the completion script to stdout:
    rustup completions {{bash|elvish|fish|powershell|zsh}} {{rustup|cargo}}

http-server-upload

Zero-configuration command-line HTTP server which provides a lightweight interface to upload files. More information: https://github.com/crycode-de/http-server-upload.
  • Start an HTTP server on the default port to upload files to the current directory:
    http-server-upload
  • Start an HTTP server with the specified maximum allowed file size for uploads in MiB (defaults to 200 MiB):
    MAX_FILE_SIZE={{size_in_megabytes}} http-server-upload
  • Start an HTTP server on a specific port to upload files to the current directory:
    PORT={{port}} http-server-upload
  • Start an HTTP server, storing the uploaded files in a specific directory:
    UPLOAD_DIR={{path/to/directory}} http-server-upload
  • Start an HTTP server using a specific directory to temporarily store files during the upload process:
    UPLOAD_TMP_DIR={{path/to/directory}} http-server-upload
  • Start an HTTP server accepting uploads with a specific token field in the HTTP post:
    TOKEN={{secret}} http-server-upload

duplicacy

A lock-free deduplication cloud backup tool. More information: https://github.com/gilbertchen/duplicacy/wiki.
  • Use current directory as the repository, initialize a SFTP storage and encrypt the storage with a password:
    duplicacy init -e {{snapshot_id}} {{sftp://[email protected]/path/to/storage/}}
  • Save a snapshot of the repository to the default storage:
    duplicacy backup
  • List snapshots of current repository:
    duplicacy list
  • Restore the repository to a previously saved snapshot:
    duplicacy restore -r {{revision}}
  • Check the integrity of snapshots:
    duplicacy check
  • Add another storage to be used for the existing repository:
    duplicacy add {{storage_name}} {{snapshot_id}} {{storage_url}}
  • Prune a specific revision of snapshot:
    duplicacy prune -r {{revision}}
  • Prune revisions, keeping one revision every n days for all revisions older than m days:
    duplicacy prune -keep {{n:m}}

calligrastage

Calligra's presentation application. See also: calligraflow, calligrawords, calligrasheets. More information: https://manned.org/calligrastage.
  • Launch the presentation application:
    calligrastage
  • Open a specific presentation:
    calligrastage {{path/to/presentation}}
  • Display help or version:
    calligrastage --{{help|version}}

aws s3 mv

Move local files or S3 objects to another location locally or in S3. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/mv.html.
  • Move a file from local to a specified bucket:
    aws s3 mv {{path/to/local_file}} s3://{{bucket_name}}/{{path/to/remote_file}}
  • Move a specific S3 object into another bucket:
    aws s3 mv s3://{{bucket_name1}}/{{path/to/file}} s3://{{bucket_name2}}/{{path/to/target}}
  • Move a specific S3 object into another bucket keeping the original name:
    aws s3 mv s3://{{bucket_name1}}/{{path/to/file}} s3://{{bucket_name2}}
  • Display help:
    aws s3 mv help

tesseract

OCR (Optical Character Recognition) engine. More information: https://github.com/tesseract-ocr/tesseract.
  • Recognize text in an image and save it to output.txt (the .txt extension is added automatically):
    tesseract {{image.png}} {{output}}
  • Specify a custom language (default is English) with an ISO 639-2 code (e.g. deu = Deutsch = German):
    tesseract -l deu {{image.png}} {{output}}
  • List the ISO 639-2 codes of available languages:
    tesseract --list-langs
  • Specify a custom page segmentation mode (default is 3):
    tesseract -psm {{0_to_10}} {{image.png}} {{output}}
  • List page segmentation modes and their descriptions:
    tesseract --help-psm

textql

Execute SQL against structured text like csv or tsv files. More information: https://github.com/dinedal/textql.
  • Print the lines in the specified .csv file that match a SQL query to stdout:
    textql -sql "{{SELECT * FROM filename}}" {{path/to/filename.csv}}
  • Query .tsv file:
    textql -dlm=tab -sql "{{SELECT * FROM filename}}" {{path/to/filename.tsv}}
  • Query file with header row:
    textql -dlm={{delimiter}} -header -sql "{{SELECT * FROM filename}}" {{path/to/filename.csv}}
  • Read data from stdin:
    cat {{path/to/file}} | textql -sql "{{SELECT * FROM stdin}}"
  • Join two files on a specified common column:
    textql -header -sql "SELECT * FROM {{file1}} JOIN {{file2}} ON {{file1}}.{{c1}} = {{file2}}.{{c1}} LIMIT {{10}}" -output-header {{path/to/file1.csv}} {{path/to/file2.csv}}
  • Format output using an output delimiter with an output header line:
    textql -output-dlm={{delimiter}} -output-header -sql "SELECT {{column}} AS {{alias}} FROM {{filename}}" {{path/to/filename.csv}}


fastd

VPN daemon. Works on Layer 2 or Layer 3, supports different encryption methods, used by Freifunk. More information: https://fastd.readthedocs.io/en/stable/.
  • Start fastd with a specific configuration file:
    fastd --config {{path/to/fastd.conf}}
  • Start a Layer 3 VPN with an MTU of 1400, loading the rest of the configuration parameters from a file:
    fastd --mode {{tap}} --mtu {{1400}} --config {{path/to/fastd.conf}}
  • Validate a configuration file:
    fastd --verify-config --config {{path/to/fastd.conf}}
  • Generate a new key:
    fastd --generate-key
  • Show the public key to a private key in a configuration file:
    fastd --show-key --config {{path/to/fastd.conf}}
  • Show the current version:
    fastd -v

pueue pause

Pause running tasks or groups. See also: pueue start. More information: https://github.com/Nukesor/pueue.
  • Pause all tasks in the default group:
    pueue pause
  • Pause a running task:
    pueue pause {{task_id}}
  • Pause a running task and stop all its direct children:
    pueue pause --children {{task_id}}
  • Pause all tasks in a group and prevent it from starting new tasks:
    pueue pause --group {{group_name}}
  • Pause all tasks and prevent all groups from starting new tasks:
    pueue pause --all

glances

A cross-platform system monitoring tool. More information: https://nicolargo.github.io/glances/.
  • Run in terminal:
    glances
  • Run in web server mode to show results in browser:
    glances -w
  • Run in server mode to allow connections from other Glances clients:
    glances -s
  • Connect to a Glances server:
    glances -c {{hostname}}
  • Require a password in (web) server mode:
    glances -s --password

mp4box

MPEG-4 Systems Toolbox - Muxes streams into MP4 container. More information: https://gpac.wp.imt.fr/mp4box.
  • Display information about an existing MP4 file:
    mp4box -info {{path/to/file}}
  • Add an SRT subtitle file into an MP4 file:
    mp4box -add {{input_subs.srt}}:lang=eng -add {{input.mp4}} {{output.mp4}}
  • Combine audio from one file and video from another:
    mp4box -add {{input1.mp4}}#audio -add {{input2.mp4}}#video {{output.mp4}}

kubectl

Command-line interface for running commands against Kubernetes clusters. Some subcommands such as kubectl run have their own usage documentation. More information: https://kubernetes.io/docs/reference/kubectl/.
  • List information about a resource with more details:
    kubectl get {{pod|service|deployment|ingress|...}} -o wide
  • Update specified pod with the label 'unhealthy' and the value 'true':
    kubectl label pods {{name}} unhealthy=true
  • List all resources with different types:
    kubectl get all
  • Display resource (CPU/Memory/Storage) usage of nodes or pods:
    kubectl top {{pod|node}}
  • Print the address of the master and cluster services:
    kubectl cluster-info
  • Display an explanation of a specific field:
    kubectl explain {{pods.spec.containers}}
  • Print the logs for a container in a pod or specified resource:
    kubectl logs {{pod_name}}
  • Run command in an existing pod:
    kubectl exec {{pod_name}} -- {{ls /}}

borg

Deduplicating backup tool. Creates local or remote backups that are mountable as filesystems. More information: https://borgbackup.readthedocs.io/en/stable/usage/general.html.
  • Initialize a (local) repository:
    borg init {{path/to/repo_directory}}
  • Backup a directory into the repository, creating an archive called "Monday":
    borg create --progress {{path/to/repo_directory}}::{{Monday}} {{path/to/source_directory}}
  • List all archives in a repository:
    borg list {{path/to/repo_directory}}
  • Extract a specific directory from the "Monday" archive in a remote repository, excluding all *.ext files:
    borg extract {{user}}@{{host}}:{{path/to/repo_directory}}::{{Monday}} {{path/to/target_directory}} --exclude '{{*.ext}}'
  • Prune a repository by deleting all archives older than 7 days, listing changes:
    borg prune --keep-within {{7d}} --list {{path/to/repo_directory}}
  • Mount a repository as a FUSE filesystem:
    borg mount {{path/to/repo_directory}}::{{Monday}} {{path/to/mountpoint}}
  • Display help on creating archives:
    borg create --help

asar

A file archiver for the Electron platform. More information: https://github.com/electron/asar.
  • Archive a file or directory:
    asar pack {{path/to/input_file_or_directory}} {{path/to/output_archive.asar}}
  • Extract an archive:
    asar extract {{path/to/archive.asar}}
  • Extract a specific file from an archive:
    asar extract-file {{path/to/archive.asar}} {{file}}
  • List the contents of an archive file:
    asar list {{path/to/archive.asar}}

rm

Remove files or directories. See also: rmdir. More information: https://www.gnu.org/software/coreutils/rm.
  • Remove specific files:
    rm {{path/to/file1 path/to/file2 ...}}
  • Remove specific files ignoring nonexistent ones:
    rm -f {{path/to/file1 path/to/file2 ...}}
  • Remove specific files [i]nteractively prompting before each removal:
    rm -i {{path/to/file1 path/to/file2 ...}}
  • Remove specific files printing info about each removal:
    rm -v {{path/to/file1 path/to/file2 ...}}
  • Remove specific files and directories [r]ecursively:
    rm -r {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}

fossa

CLI for the Fossa service - Generate realtime license audits, vulnerability scans and reports about dependencies licenses. More information: https://github.com/fossas/fossa-cli.
  • Initialize a .fossa.yml configuration file:
    fossa init
  • Run a default project build:
    fossa build
  • Analyze built dependencies:
    fossa analyze
  • Generate reports:
    fossa report
  • Test current revision against the FOSSA scan status and exit with errors if issues are found:
    fossa test

7za

File archiver with a high compression ratio. Similar to 7z except that it supports fewer file types but is cross-platform. More information: https://manned.org/7za.
  • [a]rchive a file or directory:
    7za a {{path/to/archive.7z}} {{path/to/file_or_directory}}
  • Encrypt an existing archive (including file names):
    7za a {{path/to/encrypted.7z}} -p{{password}} -mhe={{on}} {{path/to/archive.7z}}
  • E[x]tract an archive preserving the original directory structure:
    7za x {{path/to/archive.7z}}
  • E[x]tract an archive to a specific directory:
    7za x {{path/to/archive.7z}} -o{{path/to/output}}
  • E[x]tract an archive to stdout:
    7za x {{path/to/archive.7z}} -so
  • [a]rchive using a specific archive type:
    7za a -t{{7z|bzip2|gzip|lzip|tar|...}} {{path/to/archive.7z}} {{path/to/file_or_directory}}
  • [l]ist the contents of an archive:
    7za l {{path/to/archive.7z}}
  • List available archive types:
    7za i

rails routes

List routes in a Rails application. More information: https://guides.rubyonrails.org/routing.html.
  • List all routes:
    rails routes
  • List all routes in an expanded format:
    rails routes --expanded
  • List routes partially matching URL helper method name, HTTP verb, or URL path:
    rails routes -g {{posts_path|GET|/posts}}
  • List routes that map to a specified controller:
    rails routes -c {{posts|Posts|Blogs::PostsController}}

gnmic get

Get a snapshot of a gnmi network device operation data. More information: https://gnmic.kmrd.dev/cmd/get.
  • Get a snapshot of the device state at a specific path:
    gnmic --address {{ip:port}} get --path {{path}}
  • Query the device state at multiple paths:
    gnmic -a {{ip:port}} get --path {{path1}} --path {{path2}}
  • Query the device state at multiple paths with a common prefix:
    gnmic -a {{ip:port}} get --prefix {{prefix}} --path {{path1}} --path {{path2}}
  • Query the device state and specify response encoding (json_ietf):
    gnmic -a {{ip:port}} get --path {{path}} --encoding json_ietf

func

Azure Functions Core Tools: Develop and test Azure Functions locally. Local functions can connect to live Azure services, and can deploy a function app to an Azure subscription. More information: https://learn.microsoft.com/azure/azure-functions/functions-run-local.
  • Create a new functions project:
    func init {{project}}
  • Create a new function:
    func new
  • Run functions locally:
    func start
  • Publish your code to a function app in Azure:
    func azure functionapp publish {{function}}
  • Download all settings from an existing function app:
    func azure functionapp fetch-app-settings {{function}}
  • Get the connection string for a specific storage account:
    func azure storage fetch-connection-string {{storage_account}}

hexyl

A simple hex viewer for the terminal. Uses colored output to distinguish different categories of bytes. More information: https://github.com/sharkdp/hexyl.
  • Print the hexadecimal representation of a file:
    hexyl {{path/to/file}}
  • Print the hexadecimal representation of the first n bytes of a file:
    hexyl -n {{n}} {{path/to/file}}
  • Print bytes 512 through 1024 of a file:
    hexyl -r {{512}}:{{1024}} {{path/to/file}}
  • Print 512 bytes starting at the 1024th byte:
    hexyl -r {{1024}}:+{{512}} {{path/to/file}}

pio update

Update installed PlatformIO Core packages, development platforms and global libraries. See also: pio platform update, pio lib update. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_update.html.
  • Perform a full update of all packages, development platforms and global libraries:
    pio update
  • Update core packages only (skips platforms and libraries):
    pio update --core-packages
  • Check for new versions of packages, platforms and libraries but do not actually update them:
    pio update --dry-run

cs install

Install an application in the installation directory onfigured when installing cs (to enable the binary to be loaded add to your .bash_profile the $ eval "$(cs install --env)" command). More information: https://get-coursier.io/docs/cli-install.
  • Install a specific application:
    cs install {{application_name}}
  • Install a specific version of an application:
    cs install {{application_name}}:{{application_version}}
  • Search an application by a specific name:
    cs search {{application_partial_name}}
  • Update a specific application if available:
    cs update {{application_name}}
  • Update all the installed applications:
    cs update
  • Uninstall a specific application:
    cs uninstall {{application_name}}
  • List all installed applications:
    cs list
  • Pass specific java options to an installed application:
    {{application_name}} {{-Jjava_option_name1=value1 -Jjava_option_name2=value2 ...}}

surge

Simple web publishing. More information: https://surge.sh.
  • Upload a new site to surge.sh:
    surge {{path/to/my_project}}
  • Deploy site to custom domain (note that the DNS records must point to the surge.sh subdomain):
    surge {{path/to/my_project}} {{my_custom_domain.com}}
  • List your surge projects:
    surge list
  • Remove a project:
    surge teardown {{my_custom_domain.com}}

unlzma

This command is an alias of xz --format=lzma --decompress. More information: https://manned.org/unlzma.
  • View documentation for the original command:
    tldr xz

httping

Measure the latency and throughput of a web server. More information: https://manned.org/httping.
  • Ping the specified URL:
    httping -g {{url}}
  • Ping the web server on host and port:
    httping -h {{host}} -p {{port}}
  • Ping the web server on host using a TLS connection:
    httping -l -g https://{{host}}
  • Ping the web server on host using HTTP basic authentication:
    httping -g http://{{host}} -U {{username}} -P {{password}}

make

Task runner for targets described in Makefile. Mostly used to control the compilation of an executable from source code. More information: https://www.gnu.org/software/make/manual/make.html.
  • Call the first target specified in the Makefile (usually named "all"):
    make
  • Call a specific target:
    make {{target}}
  • Call a specific target, executing 4 jobs at a time in parallel:
    make -j{{4}} {{target}}
  • Use a specific Makefile:
    make --file {{path/to/file}}
  • Execute make from another directory:
    make --directory {{path/to/directory}}
  • Force making of a target, even if source files are unchanged:
    make --always-make {{target}}
  • Override a variable defined in the Makefile:
    make {{target}} {{variable}}={{new_value}}
  • Override variables defined in the Makefile by the environment:
    make --environment-overrides {{target}}

hangups

Third party command-line client for Google Hangouts. More information: https://github.com/tdryer/hangups.
  • Start hangups:
    hangups
  • View troubleshooting information and help:
    hangups -h
  • Set a refresh token for hangups:
    hangups --token-path {{path/to/token}}

rails generate

Generate new Rails templates in an existing project. More information: https://guides.rubyonrails.org/command_line.html#bin-rails-generate.
  • List all available generators:
    rails generate
  • Generate a new model named Post with attributes title and body:
    rails generate model {{Post}} {{title:string}} {{body:text}}
  • Generate a new controller named Posts with actions index, show, new and create:
    rails generate controller {{Posts}} {{index}} {{show}} {{new}} {{create}}
  • Generate a new migration that adds a category attribute to an existing model called Post:
    rails generate migration {{AddCategoryToPost}} {{category:string}}
  • Generate a scaffold for a model named Post, predefining the attributes title and body:
    rails generate scaffold {{Post}} {{title:string}} {{body:text}}

truncate

Shrink or extend the size of a file to the specified size. More information: https://www.gnu.org/software/coreutils/truncate.
  • Set a size of 10 GB to an existing file, or create a new file with the specified size:
    truncate --size {{10G}} {{filename}}
  • Extend the file size by 50 MiB, fill with holes (which reads as zero bytes):
    truncate --size +{{50M}} {{filename}}
  • Shrink the file by 2 GiB, by removing data from the end of file:
    truncate --size -{{2G}} {{filename}}
  • Empty the file's content:
    truncate --size 0 {{filename}}
  • Empty the file's content, but do not create the file if it does not exist:
    truncate --no-create --size 0 {{filename}}

hello

Print "Hello, world!", "hello, world" or a customizable text. More information: https://www.gnu.org/software/hello/.
  • Print "Hello, world!":
    hello
  • Print "hello, world", the traditional type:
    hello --traditional
  • Print a text message:
    hello --greeting="{{greeting_text}}"

git submodule

Inspects, updates and manages submodules. More information: https://git-scm.com/docs/git-submodule.
  • Install a repository's specified submodules:
    git submodule update --init --recursive
  • Add a Git repository as a submodule:
    git submodule add {{repository_url}}
  • Add a Git repository as a submodule at the specified directory:
    git submodule add {{repository_url}} {{path/to/directory}}
  • Update every submodule to its latest commit:
    git submodule foreach git pull

fusermount

Mount and unmount FUSE filesystems. More information: https://manned.org/fusermount.
  • Unmount a FUSE filesystem:
    fusermount -u {{path/to/mount_point}}
  • Unmount a FUSE filesystem as soon as it becomes unused:
    fusermount -z {{path/to/mount_point}}
  • Display version:
    fusermount --version

gfortran

Preprocess and compile Fortran source files, then assemble and link them together. More information: https://gcc.gnu.org/wiki/GFortran.
  • Compile multiple source files into an executable:
    gfortran {{path/to/source1.f90 path/to/source2.f90 ...}} -o {{path/to/output_executable}}
  • Show common warnings, debug symbols in output, and optimize without affecting debugging:
    gfortran {{path/to/source.f90}} -Wall -g -Og -o {{path/to/output_executable}}
  • Include libraries from a different path:
    gfortran {{path/to/source.f90}} -o {{path/to/output_executable}} -I{{path/to/mod_and_include}} -L{{path/to/library}} -l{{library_name}}
  • Compile source code into Assembler instructions:
    gfortran -S {{path/to/source.f90}}
  • Compile source code into an object file without linking:
    gfortran -c {{path/to/source.f90}}

steam

Video game platform by Valve. More information: https://developer.valvesoftware.com/wiki/Command_Line_Options.
  • Launch Steam, printing debug messages to stdout:
    steam
  • Launch Steam and enable its in-app debug console tab:
    steam -console
  • Enable and open the Steam console tab in a running Steam instance:
    steam steam://open/console
  • Log into Steam with the specified credentials:
    steam -login {{username}} {{password}}
  • Launch Steam in Big Picture Mode:
    steam -tenfoot
  • Exit Steam:
    steam -shutdown

shfmt

Shell parser, formatter and interpreter. More information: https://pkg.go.dev/mvdan.cc/sh.
  • Print a formatted version of a shell script:
    shfmt {{path/to/file}}
  • List unformatted files:
    shfmt --list {{path/to/directory}}
  • Write the result to the file instead of printing it to the terminal:
    shfmt --write {{path/to/file}}
  • Simplify the code, removing redundant pieces of syntax (i.e. removing "$" from vars in expressions):
    shfmt --simplify {{path/to/file}}

pio remote

Helper command for PlatformIO Remote Development. pio remote [command] takes the same arguments as its locally executing counterpart pio [command]. More information: https://docs.platformio.org/en/latest/core/userguide/remote/index.html.
  • List all active Remote Agents:
    pio remote agent list
  • Start a new Remote Agent with a specific name and share it with friends:
    pio remote agent start --name {{agent_name}} --share {{[email protected]}} --share {{[email protected]}}
  • List devices from specified Agents (omit --agent to specify all Agents):
    pio remote --agent {{agent_name1}} --agent {{agent_name2}} device list
  • Connect to the serial port of a remote device:
    pio remote --agent {{agent_name}} device monitor
  • Run all targets on a specified Agent:
    pio remote --agent {{agent_name}} run
  • Update installed core packages, development platforms and global libraries on a specific Agent:
    pio remote --agent {{agent_name}} update
  • Run all tests in all environments on a specific Agent:
    pio remote --agent {{agent_name}} test

netlify

Deploy sites and configure continuous deployment to the Netlify platform. More information: https://cli.netlify.com.
  • Log in to the Netlify account:
    netlify login
  • Deploy the contents of a directory to Netlify:
    netlify deploy
  • Configure continuous deployment for a new or an existing site:
    netlify init
  • Start a local dev server:
    netlify dev

gh api

Makes authenticated HTTP requests to the GitHub API and prints the response. More information: https://cli.github.com/manual/gh_api.
  • Display the subcommand help:
    gh api --help
  • Display the releases for the current repository in JSON format:
    gh api repos/:owner/:repo/releases
  • Create a reaction for a specific issue:
    gh api --header {{Accept:application/vnd.github.squirrel-girl-preview+json}} --raw-field '{{content=+1}}' {{repos/:owner/:repo/issues/123/reactions}}
  • Display the result of a GraphQL query in JSON format:
    gh api graphql --field {{name=':repo'}} --raw-field '{{query}}'
  • Send a request using a custom HTTP method:
    gh api --method {{POST}} {{endpoint}}
  • Include the HTTP response headers in the output:
    gh api --include {{endpoint}}
  • Do not print the response body:
    gh api --silent {{endpoint}}
  • Send a request to a specific GitHub Enterprise Server:
    gh api --hostname {{github.example.com}} {{endpoint}}

docker-slim

Analyze and optimize Docker images. More information: https://github.com/docker-slim/docker-slim.
  • Start DockerSlim on interactive mode:
    docker-slim
  • Analyze Docker layers from a specific image:
    docker-slim xray --target {{image:tag}}
  • Lint a Dockerfile:
    docker-slim lint --target {{path/to/Dockerfile}}
  • Analyze and generate an optimized Docker image:
    docker-slim build {{image:tag}}
  • Display help for a subcommand:
    docker-slim {{subcommand}} --help

parallel

Run commands on multiple CPU cores. More information: https://www.gnu.org/software/parallel.
  • Gzip several files at once, using all cores:
    parallel gzip ::: {{file1}} {{file2}} {{file3}}
  • Read arguments from stdin, run 4 jobs at once:
    ls *.txt | parallel -j4 gzip
  • Convert JPG images to PNG using replacement strings:
    parallel convert {} {.}.png ::: *.jpg
  • Parallel xargs, cram as many args as possible onto one command:
    {{args}} | parallel -X {{command}}
  • Break stdin into ~1M blocks, feed each block to stdin of new command:
    cat {{big_file.txt}} | parallel --pipe --block 1M {{command}}
  • Run on multiple machines via SSH:
    parallel -S {{machine1}},{{machine2}} {{command}} ::: {{arg1}} {{arg2}}

ngrok

Reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service. More information: https://ngrok.com.
  • Expose a local HTTP service on a given port:
    ngrok http {{80}}
  • Expose a local HTTP service on a specific host:
    ngrok http {{foo.dev}}:{{80}}
  • Expose a local HTTPS server:
    ngrok http https://localhost
  • Expose TCP traffic on a given port:
    ngrok tcp {{22}}
  • Expose TLS traffic for a specific host and port:
    ngrok tls -hostname={{foo.com}} {{443}}

logstash

An Elasticsearch ETL (extract, transform and load) tool. Commonly used to load data from various sources (such as databases and log files) into Elasticsearch. More information: https://www.elastic.co/products/logstash.
  • Check validity of a Logstash configuration:
    logstash --configtest --config {{logstash_config.conf}}
  • Run Logstash using configuration:
    sudo logstash --config {{logstash_config.conf}}
  • Run Logstash with the most basic inline configuration string:
    sudo logstash -e 'input {} filter {} output {}'

fdp

Render an image of a force-directed network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    fdp -T png -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    fdp -T svg -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in a specific format:
    fdp -T {{ps|pdf|svg|fig|png|gif|jpg|json|dot}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | fdp -T gif > {{path/to/image.gif}}
  • Display help:
    fdp -?

p5

Template builder and sketch manager for p5.js. More information: https://github.com/chiunhau/p5-manager.
  • Create a new p5 collection:
    p5 new {{collection_name}}
  • Generate a new p5 project (should be run from collection directory):
    p5 generate {{project_name}}
  • Run the p5 manager server:
    p5 server
  • Update libraries to their latest versions:
    p5 update

pio access

Set the access level on published resources (packages) in the registry. More information: https://docs.platformio.org/en/latest/core/userguide/access/.
  • Grant a user access to a resource:
    pio access grant {{guest|maintainer|admin}} {{username}} {{resource_urn}}
  • Remove a user's access to a resource:
    pio access revoke {{username}} {{resource_urn}}
  • Show all resources that a user or team has access to and the access level:
    pio access list {{username}}
  • Restrict access to a resource to specific users or team members:
    pio access private {{resource_urn}}
  • Allow all users access to a resource:
    pio access public {{resource_urn}}

lzfgrep

This command is an alias of xzgrep --fixed-strings. See also: fgrep.
  • View documentation for the original command:
    tldr xzgrep

lzegrep

This command is an alias of xzgrep --extended-regexp. See also: egrep.
  • View documentation for the original command:
    tldr xzgrep

transmission-edit

Modify announce URLs from torrent files. See also: transmission. More information: https://manned.org/transmission-edit.
  • Add or remove a URL from a torrent's announce list:
    transmission-edit --{{add|delete}} {{http://example.com}} {{path/to/file.torrent}}
  • Update a tracker's passcode in a torrent file:
    transmission-edit --replace {{old-passcode}} {{new-passcode}} {{path/to/file.torrent}}

jupytext

Tool to convert Jupyter notebooks to plain text documents, and back again. More information: https://jupytext.readthedocs.io.
  • Turn a notebook into a paired .ipynb/.py notebook:
    jupytext --set-formats ipynb,py {{notebook.ipynb}}
  • Convert a notebook to a .py file:
    jupytext --to py {{notebook.ipynb}}
  • Convert a .py file to a notebook with no outputs:
    jupytext --to notebook {{notebook.py}}
  • Convert a .md file to a notebook and run it:
    jupytext --to notebook --execute {{notebook.md}}
  • Update the input cells in a notebook and preserve outputs and metadata:
    jupytext --update --to notebook {{notebook.py}}
  • Update all paired representations of a notebook:
    jupytext --sync {{notebook.ipynb}}

nativefier

Command-line tool to create a desktop app for any web site with minimal configuration. More information: https://github.com/jiahaog/nativefier.
  • Make a desktop app for a website:
    nativefier {{url}}
  • Create a desktop app with a custom name:
    nativefier --name {{name}} {{url}}
  • Use a custom icon, should be a PNG:
    nativefier --icon {{path/to/icon.png}} {{url}}

sponge

Soak up the input before writing the output file. More information: https://manned.org/sponge.
  • Append file content to the source file:
    cat {{path/to/file}} | sponge -a {{path/to/file}}
  • Remove all lines starting with # in a file:
    grep -v '^{{#}}' {{path/to/file}} | sponge {{path/to/file}}

aws rds

CLI for AWS Relational Database Service. Create and manage relational databases. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/index.html.
  • Show help for specific RDS subcommand:
    aws rds {{subcommand}} help
  • Stop instance:
    aws rds stop-db-instance --db-instance-identifier {{instance_identifier}}
  • Start instance:
    aws rds start-db-instance --db-instance-identifier {{instance_identifier}}
  • Modify an RDS instance:
    aws rds modify-db-instance --db-instance-identifier {{instance_identifier}} {{parameters}} --apply-immediately
  • Apply updates to an RDS instance:
    aws rds apply-pending-maintenance-action --resource-identifier {{database_arn}} --apply-action {{system-update}} --opt-in-type {{immediate}}
  • Change an instance identifier:
    aws rds modify-db-instance --db-instance-identifier {{old_instance_identifier}} --new-db-instance-identifier {{new_instance_identifier}}
  • Reboot an instance:
    aws rds reboot-db-instance --db-instance-identifier {{instance_identifier}}
  • Delete an instance:
    aws rds delete-db-instance --db-instance-identifier {{instance_identifier}} --final-db-snapshot-identifier {{snapshot_identifier}} --delete-automated-backups

pygmentize

Python-based syntax highlighter. More information: https://pygments.org/docs/cmdline/.
  • Highlight file syntax and print to stdout (language is inferred from the file extension):
    pygmentize {{file.py}}
  • Explicitly set the language for syntax highlighting:
    pygmentize -l {{javascript}} {{input_file}}
  • List available lexers (processors for input languages):
    pygmentize -L lexers
  • Save output to a file in HTML format:
    pygmentize -f html -o {{output_file.html}} {{input_file.py}}
  • List available output formats:
    pygmentize -L formatters
  • Output an HTML file, with additional formatter options (full page, with line numbers):
    pygmentize -f html -O "full,linenos=True" -o {{output_file.html}} {{input_file}}

git gc

Optimise the local repository by cleaning unnecessary files. More information: https://git-scm.com/docs/git-gc.
  • Optimise the repository:
    git gc
  • Aggressively optimise, takes more time:
    git gc --aggressive
  • Do not prune loose objects (prunes by default):
    git gc --no-prune
  • Suppress all output:
    git gc --quiet
  • View full usage:
    git gc --help

pueue stash

Stash tasks to prevent them starting automatically. See also pueue start and pueue enqueue. More information: https://github.com/Nukesor/pueue.
  • Stash an enqueued task:
    pueue stash {{task_id}}
  • Stash multiple tasks at once:
    pueue stash {{task_id}} {{task_id}}
  • Start a stashed task immediately:
    pueue start {{task_id}}
  • Enqueue a task to be executed when preceding tasks finish:
    pueue enqueue {{task_id}}

zola

A static site generator in a single binary with everything built-in. More information: https://www.getzola.org/documentation/getting-started/cli-usage/.
  • Create the directory structure used by Zola at the given directory:
    zola init {{my_site}}
  • Build the whole site in the public directory after deleting it:
    zola build
  • Build the whole site into a different directory:
    zola build --output-dir {{path/to/output_directory/}}
  • Build and serve the site using a local server (default is 127.0.0.1:1111):
    zola serve
  • Build all pages just like the build command would, but without writing any of the results to disk:
    zola check

socat

Multipurpose relay (SOcket CAT). More information: http://www.dest-unreach.org/socat/.
  • Listen to a port, wait for an incoming connection and transfer data to STDIO:
    socat - TCP-LISTEN:8080,fork
  • Listen on a port using SSL and print to STDOUT:
    socat OPENSSL-LISTEN:4433,reuseaddr,cert=./cert.pem,cafile=./ca.cert.pem,key=./key.pem,verify=0 STDOUT
  • Create a connection to a host and port, transfer data in STDIO to connected host:
    socat - TCP4:www.example.com:80
  • Forward incoming data of a local port to another host and port:
    socat TCP-LISTEN:80,fork TCP4:www.example.com:80

rbac-lookup

Find roles and cluster roles attached to any user, service account or group name in your Kubernetes cluster. More information: https://github.com/reactiveops/rbac-lookup.
  • View all RBAC bindings:
    rbac-lookup
  • View RBAC bindings that match a given expression:
    rbac-lookup {{search_term}}
  • View all RBAC bindings along with the source role binding:
    rbac-lookup -o wide
  • View all RBAC bindings filtered by subject:
    rbac-lookup -k {{user|group|serviceaccount}}
  • View all RBAC bindings along with IAM roles (if you are using GKE):
    rbac-lookup --gke

telnet

Connect to a specified port of a host using the telnet protocol. More information: https://manned.org/telnet.
  • Telnet to the default port of a host:
    telnet {{host}}
  • Telnet to a specific port of a host:
    telnet {{ip_address}} {{port}}
  • Exit a telnet session:
    quit
  • Emit the default escape character combination for terminating the session:
    Ctrl + ]
  • Start telnet with "x" as the session termination character:
    telnet -e {{x}} {{ip_address}} {{port}}
  • Telnet to Star Wars animation:
    telnet {{towel.blinkenlights.nl}}

mpc

Music Player Client. Program for controlling the Music Player Daemon (MPD). More information: https://www.musicpd.org/clients/mpc.
  • Toggle play/pause:
    mpc toggle
  • Stop playing:
    mpc stop
  • Show information about the currently playing song:
    mpc status
  • Play next song:
    mpc next
  • Play previous song:
    mpc prev
  • Forward or rewind the currently playing song:
    mpc [+-]{{seconds}}

whereis

Locate the binary, source, and manual page files for a command. More information: https://manned.org/whereis.
  • Locate binary, source and man pages for ssh:
    whereis {{ssh}}
  • Locate binary and man pages for ls:
    whereis -bm {{ls}}
  • Locate source of gcc and man pages for Git:
    whereis -s {{gcc}} -m {{git}}
  • Locate binaries for gcc in /usr/bin/ only:
    whereis -b -B {{/usr/bin/}} -f {{gcc}}
  • Locate unusual binaries (those that have more or less than one binary on the system):
    whereis -u *
  • Locate binaries that have unusual manual entries (binaries that have more or less than one manual installed):
    whereis -u -m *

zfgrep

Matches fixed strings in possibly compressed files. Equivalent to grep -F with input decompressed first if necessary. More information: https://manned.org/zfgrep.
  • Search for an exact string in a file:
    zfgrep {{search_string}} {{path/to/file}}
  • Count the number of lines that match the given string in a file:
    zfgrep --count {{search_string}} {{path/to/file}}
  • Show the line number in the file along with the matching lines:
    zfgrep --line-number {{search_string}} {{path/to/file}}
  • Display all lines except those that contain the search string:
    zfgrep --invert-match {{search_string}} {{path/to/file}}
  • List only filenames whose content matches the search string at least once:
    zfgrep --files-with-matches {{search_string}} {{path/to/file1 path/to/file2 ...}}

ncu

Find newer versions of package dependencies and check outdated npm packages locally or globally. ncu only updates dependency versions in package.json. To install the new versions, run npm install afterwards. More information: https://github.com/raineorshine/npm-check-updates.
  • List outdated dependencies in the current directory:
    ncu
  • List outdated global npm packages:
    ncu -g
  • Upgrade all dependencies in the current directory:
    ncu -u
  • Interactively upgrade dependencies in the current directory:
    ncu -i
  • Display help:
    ncu -h

makensis

Cross-platform compiler for NSIS installers. It compiles a NSIS script into a Windows installer executable. More information: https://nsis.sourceforge.io/Docs/Chapter3.html.
  • Compile a NSIS script:
    makensis {{path/to/file.nsi}}
  • Compile a NSIS script in strict mode (treat warnings as errors):
    makensis -WX {{path/to/file.nsi}}
  • Print help for a specific command:
    makensis -CMDHELP {{command}}

iotop

Display a table of current I/O usage by processes or threads. More information: https://manned.org/iotop.
  • Start top-like I/O monitor:
    sudo iotop
  • Show only processes or threads actually doing I/O:
    sudo iotop --only
  • Show I/O usage in non-interactive mode:
    sudo iotop --batch
  • Show only I/O usage of processes (default is to show all threads):
    sudo iotop --processes
  • Show I/O usage of given PID(s):
    sudo iotop --pid={{PID}}
  • Show I/O usage of a given user:
    sudo iotop --user={{user}}
  • Show accumulated I/O instead of bandwidth:
    sudo iotop --accumulated

cargo

Manage Rust projects and their module dependencies (crates). Some subcommands such as cargo build have their own usage documentation. More information: https://doc.rust-lang.org/cargo.
  • Search for crates:
    cargo search {{search_string}}
  • Install a crate:
    cargo install {{crate_name}}
  • List installed crates:
    cargo install --list
  • Create a new binary or library Rust project in the current directory:
    cargo init --{{bin|lib}}
  • Create a new binary or library Rust project in the specified directory:
    cargo new {{path/to/directory}} --{{bin|lib}}
  • Build the Rust project in the current directory:
    cargo build
  • Build the rust project in the current directory using the nightly compiler:
    cargo +nightly build
  • Build using a specific number of threads (default is the number of CPU cores):
    cargo build --jobs {{number_of_threads}}

tput

View and modify terminal settings and capabilities. More information: https://manned.org/tput.
  • Move the cursor to a screen location:
    tput cup {{row}} {{column}}
  • Set foreground (af) or background (ab) color:
    tput {{setaf|setab}} {{ansi_color_code}}
  • Show number of columns, lines, or colors:
    tput {{cols|lines|colors}}
  • Ring the terminal bell:
    tput bel
  • Reset all terminal attributes:
    tput sgr0
  • Enable or disable word wrap:
    tput {{smam|rmam}}

clangd

Language server that provides IDE-like features to editors. It should be used via an editor plugin rather than invoked directly. More information: https://clangd.llvm.org/.
  • Display available options:
    clangd --help
  • List of available options:
    clangd --help-list
  • Display version:
    clangd --version

hsd-cli

The command-line REST tool for the Handshake blockchain. More information: https://handshake.org.
  • Retrieve information about the current server:
    hsd-cli info
  • Broadcast a local transaction:
    hsd-cli broadcast {{transaction_hex}}
  • Retrieve a mempool snapshot:
    hsd-cli mempool
  • View a transaction by address or hash:
    hsd-cli tx {{address_or_hash}}
  • View a coin by its hash index or address:
    hsd-cli coin {{hash_index_or_address}}
  • View a block by height or hash:
    hsd-cli block {{height_or_hash}}
  • Reset the chain to the specified block:
    hsd-cli reset {{height_or_hash}}
  • Execute an RPC command:
    hsd-cli rpc {{command}} {{args}}

aws s3

CLI for AWS S3 - provides storage through web services interfaces. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/index.html.
  • Show files in a bucket:
    aws s3 ls {{bucket_name}}
  • Sync files and directories from local to bucket:
    aws s3 sync {{path/to/files}} s3://{{bucket_name}}
  • Sync files and directories from bucket to local:
    aws s3 sync s3://{{bucket_name}} {{path/to/target}}
  • Sync files and directories with exclusions:
    aws s3 sync {{path/to/files}} s3://{{bucket_name}} --exclude {{path/to/file}} --exclude {{path/to/directory}}/*
  • Remove file from bucket:
    aws s3 rm s3://{{bucket}}/{{path/to/file}}
  • Preview changes only:
    aws s3 {{any_command}} --dryrun

youtube-viewer

Command-line application for searching and playing videos from YouTube. More information: https://github.com/trizen/youtube-viewer.
  • Search for a video:
    youtube-viewer {{search_term}}
  • Log in to your YouTube account:
    youtube-viewer --login
  • Watch a video with a specific URL in VLC:
    youtube-viewer --player={{vlc}} {{https://youtube.com/watch?v=dQw4w9WgXcQ}}
  • Display a search prompt and play the selected video in 720p:
    youtube-viewer -{{7}}

plocate

Find filenames quickly. Make sure to run sudo updatedb to include new files. More information: https://plocate.sesse.net.
  • Look for patterns in the database (recomputed periodically):
    plocate {{pattern}}
  • Look for a file by its exact filename (a pattern containing no globbing characters is interpreted as *pattern*):
    plocate */{{filename}}

fc-cache

Scan font directories to build font cache files. More information: https://manned.org/fc-cache.
  • Generate font cache files:
    fc-cache
  • Force a rebuild of all font cache files, without checking if cache is up-to-date:
    fc-cache -f
  • Erase font cache files, then generate new font cache files:
    fc-cache -r

yarn-why

Identifies why a Yarn package has been installed. More information: https://github.com/amio/yarn-why.
  • Show why a Yarn package is installed:
    yarn-why {{package}}

skicka

Manage your Google Drive. More information: https://github.com/google/skicka.
  • Upload a file/folder to Google Drive:
    skicka upload {{path/to/local}} {{path/to/remote}}
  • Download a file/folder from Google Drive:
    skicka download {{path/to/remote}} {{path/to/local}}
  • List files:
    skicka ls {{path/to/folder}}
  • Show amount of space used by children folders:
    skicka du {{path/to/parent/folder}}
  • Create a folder:
    skicka mkdir {{path/to/folder}}
  • Delete a file:
    skicka rm {{path/to/file}}

nix search

Search for packages in a Nix flake. See tldr nix3 flake for information about flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-search.html.
  • Search nixpkgs for a package based on its name or description:
    nix search {{nixpkgs}} {{search_term...}}
  • Show description of a package from nixpkgs:
    nix search {{nixpkgs#pkg}}
  • Show all packages available from a flake on github:
    nix search {{github:owner/repo}}

pm2

Process manager for Node.js. Used for log management, monitoring and configuring processes. More information: https://pm2.keymetrics.io.
  • Start a process with a name that can be used for later operations:
    pm2 start {{app.js}} --name {{application_name}}
  • List processes:
    pm2 list
  • Monitor all processes:
    pm2 monit
  • Stop a process:
    pm2 stop {{application_name}}
  • Restart a process:
    pm2 restart {{application_name}}
  • Dump all processes for resurrecting them later:
    pm2 save
  • Resurrect previously dumped processes:
    pm2 resurrect

subl

Sublime Text editor. More information: https://www.sublimetext.com.
  • Open the current directory in Sublime Text:
    subl {{.}}
  • Open a file or directory in Sublime Text:
    subl {{path/to/file_or_directory}}
  • Open a file and jump to a specific line number:
    subl {{path/to/file}}:{{line_number}}
  • Open a file or directory in the currently open window:
    subl -a {{path/to/file}}
  • Open a file or directory in a new window:
    subl -n {{path/to/file}}

openttd

Open source clone of the Microprose game "Transport Tycoon Deluxe". More information: https://www.openttd.org.
  • Start a new game:
    openttd -g
  • Load save game at start:
    openttd -g {{path/to/file}}
  • Start with the specified window resolution:
    openttd -r {{1920x1080}}
  • Start with a custom configuration file:
    openttd -c {{path/to/file}}
  • Start with selected video, sound, and music drivers:
    openttd -v {{video_driver}} -s {{sound_driver}} -m {{music_driver}}
  • Start a dedicated server, forked in the background:
    openttd -f -D {{host}}:{{port}}
  • Join a server with a password:
    openttd -n {{host}}:{{port}}#{{player_name}} -p {{password}}

cosign

Container Signing, Verification and Storage in an OCI registry. More information: https://github.com/sigstore/cosign.
  • Generate a key-pair:
    cosign generate-key-pair
  • Sign a container and store the signature in the registry:
    cosign sign -key {{cosign.key}} {{image}}
  • Sign a container image with a key pair stored in a Kubernetes secret:
    cosign sign -key k8s://{{namespace}}/{{key}} {{image}}
  • Sign a blob with a local key pair file:
    cosign sign-blob --key {{cosign.key}} {{path/to/file}}
  • Verify a container against a public key:
    cosign verify -key {{cosign.pub}} {{image}}
  • Verify images with a public key in a Dockerfile:
    cosign dockerfile verify -key {{cosign.pub}} {{path/to/Dockerfile}}
  • Verify an image with a public key stored in a Kubernetes secret:
    cosign verify -key k8s://{{namespace}}/{{key}} {{image}}
  • Copy a container image and its signatures:
    cosign copy {{example.com/src:latest}} {{example.com/dest:latest}}

history

Command-line history. More information: https://www.gnu.org/software/bash/manual/html_node/Bash-History-Builtins.html.
  • Display the commands history list with line numbers:
    history
  • Display the last 20 commands (in zsh it displays all commands starting from the 20th):
    history {{20}}
  • Clear the commands history list (only for current bash shell):
    history -c
  • Overwrite history file with history of current bash shell (often combined with history -c to purge history):
    history -w
  • Delete the history entry at the specified offset:
    history -d {{offset}}

aws cognito-idp

Manage Amazon Cognito user pool and its users and groups using the CLI. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cognito-idp/index.html.
  • Create a new Cognito user pool:
    aws cognito-idp create-user-pool --pool-name {{name}}
  • List all user pools:
    aws cognito-idp list-user-pools --max-results {{10}}
  • Delete a specific user pool:
    aws cognito-idp delete-user-pool --user-pool-id {{user_pool_id}}
  • Create a user in a specific pool:
    aws cognito-idp admin-create-user --username {{username}} --user-pool-id {{user_pool_id}}
  • List the users of a specific pool:
    aws cognito-idp list-users --user-pool-id {{user_pool_id}}
  • Delete a user from a specific pool:
    aws cognito-idp admin-delete-user --username {{username}} --user-pool-id {{user_pool_id}}


bzip3

An efficient statistical file compressor. More information: https://github.com/kspalaiologos/bzip3.
  • Compress a file:
    bzip3 {{path/to/file_to_compress}}
  • Decompress a file:
    bzip3 -d {{path/to/compressed_file.bz3}}
  • Decompress a file to stdout:
    bzip3 -dc {{path/to/compressed_file.bz3}}
  • Test the integrity of each file inside the archive file:
    bzip3 --test {{path/to/compressed_file.bz3}}
  • Show the compression ratio for each file processed with detailed information:
    bzip3 --verbose {{path/to/compressed_files.bz3}}
  • Decompress a file overwriting existing files:
    bzip3 --force {{path/to/compressed_file.bz3}}
  • Display help:
    bzip3 -h



meshlabserver

Command-line interface for the MeshLab 3D mesh processing software. More information: https://manned.org/meshlabserver.
  • Convert an STL file to an OBJ file:
    meshlabserver -i {{input.stl}} -o {{output.obj}}
  • Convert a WRL file to a OFF file, including the vertex and face normals in the output mesh:
    meshlabserver -i {{input.wrl}} -o {{output.off}} -om vn fn
  • Dump a list of all the available processing filters into a file:
    meshlabserver -d {{path/to/file}}
  • Process a 3D file using a filter script created in the MeshLab GUI (Filters > Show current filter script > Save Script):
    meshlabserver -i {{input.ply}} -o {{output.ply}} -s {{filter_script.mlx}}
  • Process a 3D file using a filter script, writing the output of the filters into a log file:
    meshlabserver -i {{input.x3d}} -o {{output.x3d}} -s {{filter_script.mlx}} -l {{logfile}}

zcmp

Compare compressed files. More information: https://manned.org/zcmp.
  • Invoke cmp on two files compressed via gzip:
    zcmp {{path/to/file1.gz}} {{path/to/file2.gz}}
  • Compare a file to its gzipped version (assuming .gz exists already):
    zcmp {{path/to/file}}

mmv

Move and rename files in bulk. More information: https://manned.org/mmv.1.
  • Rename all files with a certain extension to a different extension:
    mmv "*{{.old_extension}}" "#1{{.new_extension}}"
  • Copy report6part4.txt to ./french/rapport6partie4.txt along with all similarly named files:
    mmv -c "{{report*part*.txt}}" "{{./french/rapport#1partie#2.txt}}"
  • Append all .txt files into one file:
    mmv -a "{{*.txt}}" "{{all.txt}}"
  • Convert dates in filenames from "M-D-Y" format to "D-M-Y" format:
    mmv "{{[0-1][0-9]-[0-3][0-9]-[0-9][0-9][0-9][0-9].txt}}" "{{#3#4-#1#2-#5#6#7#8.txt}}"

msmtp

An SMTP client. It reads text from stdin and sends it to an SMTP server. More information: https://marlam.de/msmtp.
  • Send an email using the default account configured in ~/.msmtprc:
    echo "{{Hello world}}" | msmtp {{[email protected]}}
  • Send an email using a specific account configured in ~/.msmtprc:
    echo "{{Hello world}}" | msmtp --account={{account_name}} {{[email protected]}}
  • Send an email without a configured account. The password should be specified in the ~/.msmtprc file:
    echo "{{Hello world}}" | msmtp --host={{localhost}} --port={{999}} --from={{[email protected]}} {{[email protected]}}

gh ssh-key

Manage GitHub SSH keys. More information: https://cli.github.com/manual/gh_ssh-key.
  • Display help:
    gh ssh-key
  • List SSH keys for the currently authenticated user:
    gh ssh-key list
  • Add an SSH key to the currently authenticated user's account:
    gh ssh-key add {{path/to/key.pub}}
  • Add an SSH key to the currently authenticated user's account with a specific title:
    gh ssh-key add --title {{title}} {{path/to/key.pub}}



pycodestyle

A tool to check Python code against PEP 8 style conventions. More information: https://pycodestyle.readthedocs.io.
  • Check the style of a single file:
    pycodestyle {{file.py}}
  • Check the style of multiple files:
    pycodestyle {{file1.py}} {{file2.py}} {{file3.py}}
  • Show only the first occurrence of an error:
    pycodestyle --first {{file.py}}
  • Show the source code for each error:
    pycodestyle --show-source {{file.py}}
  • Show the specific PEP 8 text for each error:
    pycodestyle --show-pep8 {{file.py}}

virsh pool-delete

Delete the underlying storage system of an inactive virtual machine storage pool. See also: virsh, virsh-pool-destroy, virsh-pool-undefine. More information: https://manned.org/virsh.
  • Delete the underlying storage system for the storage pool specified by name or UUID (determine using virsh pool-list):
    virsh pool-delete --pool {{name|uuid}}

ssh-agent

Spawn an SSH Agent process. An SSH Agent holds SSH keys decrypted in memory until removed or the process is killed. See also ssh-add, which can add and manage keys held by an SSH Agent. More information: https://man.openbsd.org/ssh-agent.
  • Start an SSH Agent for the current shell:
    eval $(ssh-agent)
  • Kill the currently running agent:
    ssh-agent -k

docker service

Manage the services on a docker daemon. More information: https://docs.docker.com/engine/reference/commandline/service/.
  • List the services on a docker daemon:
    docker service ls
  • Create a new service:
    docker service create --name {{service_name}} {{image}}:{{tag}}
  • Display detailed information of a space-separated list of services:
    docker service inspect {{service_name|ID}}
  • List the tasks of a space-separated list of services:
    docker service ps {{service_name|ID}}
  • Scale to a specific number of replicas for a space-separated list of services:
    docker service scale {{service_name}}={{count_of_replicas}}
  • Remove a space-separated list of services:
    docker service rm {{service_name|ID}}

yacas

Yet Another Computer Algebra System. More information: http://www.yacas.org.
  • Start an interactive yacas session:
    yacas
  • While in a yacas session, execute a statement:
    {{Integrate(x)Cos(x)}};
  • While in a yacas session, display an example:
    {{Example()}};
  • Quit from a yacas session:
    {{quit}}
  • Execute one or more yacas scripts (without terminal or prompts), then exit:
    yacas -p -c {{path/to/script1}} {{path/to/script2}}
  • Execute and print the result of one statement, then exit:
    echo "{{Echo( Deriv(x)Cos(1/x) );}}" | yacas -p -c /dev/stdin


unxz

This command is an alias of xz --decompress. More information: https://manned.org/unxz.
  • View documentation for the original command:
    tldr xz

vegeta

A command-line utility and a library for HTTP load testing. See also ab. More information: https://github.com/tsenart/vegeta.
  • Launch an attack lasting 30 seconds:
    echo "{{GET https://example.com}}" | vegeta attack -duration={{30s}}
  • Launch an attack on a server with a self-signed HTTPS certificate:
    echo "{{GET https://example.com}}" | vegeta attack -insecure -duration={{30s}}
  • Launch an attack with a rate of 10 requests per second:
    echo "{{GET https://example.com}}" | vegeta attack -duration={{30s}} -rate={{10}}
  • Launch an attack and display a report:
    echo "{{GET https://example.com}}" | vegeta attack -duration={{30s}} | vegeta report
  • Launch an attack and plot the results on a graph (latency over time):
    echo "{{GET https://example.com}}" | vegeta attack -duration={{30s}} | vegeta plot > {{path/to/results.html}}
  • Launch an attack against multiple URLs from a file:
    vegeta attack -duration={{30s}} -targets={{requests.txt}} | vegeta report

turbo

High-performance build system for JavaScript and TypeScript codebases. See also: nx. More information: https://turborepo.org/docs/reference/command-line-reference.
  • Log in using the default web browser with a Vercel account:
    turbo login
  • Link the current directory to a Vercel organization and enable remote caching:
    turbo link
  • Build the current project:
    turbo run build
  • Run a task without concurrency:
    turbo run {{task_name}} --concurrency={{1}}
  • Run a task ignoring cached artifacts and forcibly re-execute all tasks:
    turbo run {{task_name}} --force
  • Run a task in parallel across packages:
    turbo run {{task_name}} --parallel --no-cache
  • Unlink the current directory from your Vercel organization and disable Remote Caching:
    turbo unlink
  • Generate a Dot graph of a specific task execution (the output file format can be controlled with the filename):
    turbo run {{task_name}} --graph={{path/to/file}}.{{html|jpg|json|pdf|png|svg}}

prqlc

PRQL compiler. PRQL is a modern language for transforming data - a simple, powerful, pipelined SQL replacement. More information: https://prql-lang.org.
  • Run the compiler interactively:
    prqlc compile
  • Compile a specific .prql file to stdout:
    prqlc compile {{path/to/file.prql}}
  • Compile a .prql file to a .sql file:
    prqlc compile {{path/to/source.prql}} {{path/to/target.sql}}
  • Compile a query:
    echo "{{from employees | filter has_dog | select salary}}" | prqlc compile
  • Watch a directory and compile on file modification:
    prqlc watch {{path/to/directory}}

gacutil

Global Assembly Cache (CAG) management utility. More information: https://manned.org/gacutil.
  • Install the specified assembly into GAC:
    gacutil -i {{path/to/assembly.dll}}
  • Uninstall the specified assembly from GAC:
    gacutil -i {{assembly_display_name}}
  • Print the content of GAC:
    gacutil -l

enca

Detect and convert the encoding of text files. More information: https://github.com/nijel/enca.
  • Detect file(s) encoding according to the system's locale:
    enca {{path/to/file1 path/to/file2 ...}}
  • Detect file(s) encoding specifying a language in the POSIX/C locale format (e.g. zh_CN, en_US):
    enca -L {{language}} {{path/to/file1 path/to/file2 ...}}
  • Convert file(s) to a specific encoding:
    enca -L {{language}} -x {{to_encoding}} {{path/to/file1 path/to/file2 ...}}
  • Create a copy of an existing file using a different encoding:
    enca -L {{language}} -x {{to_encoding}} < {{original_file}} > {{new_file}}

kops

Create, destroy, upgrade and maintain Kubernetes clusters. More information: https://github.com/kubernetes/kops/.
  • Create a cluster from the configuration specification:
    kops create cluster -f {{cluster_name.yaml}}
  • Create a new ssh public key:
    kops create secret sshpublickey {{key_name}} -i {{~/.ssh/id_rsa.pub}}
  • Export the cluster configuration to the ~/.kube/config file:
    kops export kubecfg {{cluster_name}}
  • Get the cluster configuration as YAML:
    kops get cluster {{cluster_name}} -o yaml
  • Delete a cluster:
    kops delete cluster {{cluster_name}} --yes

gunzip

Extract file(s) from a gzip (.gz) archive. More information: https://manned.org/gunzip.
  • Extract a file from an archive, replacing the original file if it exists:
    gunzip {{archive.tar.gz}}
  • Extract a file to a target destination:
    gunzip --stdout {{archive.tar.gz}} > {{archive.tar}}
  • Extract a file and keep the archive file:
    gunzip --keep {{archive.tar.gz}}
  • List the contents of a compressed file:
    gunzip --list {{file.txt.gz}}
  • Decompress an archive from stdin:
    cat {{path/to/archive.gz}} | gunzip


dog

DNS lookup utility. It has colorful output, supports DNS-over-TLS and DNS-over-HTTPS protocols, and can emit JSON. More information: https://dns.lookup.dog.
  • Lookup the IP(s) associated with a hostname (A records):
    dog {{example.com}}
  • Query the MX records type associated with a given domain name:
    dog {{example.com}} MX
  • Specify a specific DNS server to query (e.g. Cloudflare):
    dog {{example.com}} MX @{{1.1.1.1}}
  • Query over TCP rather than UDP:
    dog {{example.com}} MX @{{1.1.1.1}} --tcp
  • Query the MX records type associated with a given domain name over TCP using explicit arguments:
    dog --query {{example.com}} --type MX --nameserver {{1.1.1.1}} --tcp
  • Lookup the IP(s) associated with a hostname (A records) using DNS over HTTPS (DoH):
    dog {{example.com}} --https @{{https://cloudflare-dns.com/dns-query}}

roave-backward-compatibility-check

A tool that can be used to verify backward compatibility breaks between two versions of a PHP library. More information: https://github.com/Roave/BackwardCompatibilityCheck.
  • Check for breaking changes since the last tag:
    roave-backward-compatibility-check
  • Check for breaking changes since a specific tag:
    roave-backward-compatibility-check --from={{git_reference}}
  • Check for breaking changes between the last tag and a specific reference:
    roave-backward-compatibility-check --to={{git_reference}}
  • Check for breaking changes and output to Markdown:
    roave-backward-compatibility-check --format=markdown > {{results.md}}

kube-capacity

Provide an overview of resource requests, limits, and utilization in a Kubernetes cluster. Combine the best parts of kubectl top and kubectl describe into a CLI focused on cluster resources. More information: https://github.com/robscott/kube-capacity.
  • Output a list of nodes with the total CPU and Memory resource requests and limits:
    kube-capacity
  • Include pods:
    kube-capacity -p
  • Include utilization:
    kube-capacity -u

progpilot

A PHP static analysis tool for detecting security vulnerabilities. More information: https://github.com/designsecurity/progpilot.
  • Analyze the current directory:
    progpilot
  • Analyze a specific file or directory:
    progpilot {{path/to/file_or_directory}}
  • Specify a custom configuration file:
    progpilot --configuration {{path/to/configuration.yml}}

tlmgr update

Update TeX Live packages. More information: https://www.tug.org/texlive/tlmgr.html.
  • Update all TeX Live packages:
    sudo tlmgr update --all
  • Update tlmgr itself:
    sudo tlmgr update --self
  • Update a specific package:
    sudo tlmgr update {{package}}
  • Update all except a specific package:
    sudo tlmgr update --all --exclude {{package}}
  • Update all packages, making a backup of the current packages:
    sudo tlmgr update --all --backup
  • Update a specific package without updating its dependencies:
    sudo tlmgr update --no-depends {{package}}
  • Simulate updating all packages without making any changes:
    sudo tlmgr update --all --dry-run

tbl

Table preprocessor for the groff (GNU Troff) document formatting system. See also groff and troff. More information: https://manned.org/tbl.
  • Process input with tables, saving the output for future typesetting with groff to PostScript:
    tbl {{path/to/input_file}} > {{path/to/output.roff}}
  • Typeset input with tables to PDF using the [me] macro package:
    tbl -T {{pdf}} {{path/to/input.tbl}} | groff -{{me}} -T {{pdf}} > {{path/to/output.pdf}}

jigsaw

A Laravel-based static site builder for PHP. More information: https://jigsaw.tighten.co.
  • Initialize a project:
    jigsaw init
  • Initialize a project using a starter template:
    jigsaw init {{template_name}}
  • Build the site for development:
    jigsaw build
  • Preview the site from the "build_local" directory:
    jigsaw serve
  • Build the site for production:
    jigsaw build production
  • Preview the site from the "build_production" directory:
    jigsaw serve {{build_production}}


pip install

Install Python packages. More information: https://pip.pypa.io.
  • Install a package:
    pip install {{package}}
  • Install a specific version of a package:
    pip install {{package}}=={{version}}
  • Install packages listed in a file:
    pip install --requirement {{path/to/requirements.txt}}
  • Install packages from an URL or local file archive (.tar.gz | .whl):
    pip install --find-links {{url|path/to/file}}
  • Install the local package in the current directory in develop (editable) mode:
    pip install --editable {{.}}

xdelta

Delta encoding utility. Often used for applying patches to binary files. More information: http://xdelta.org.
  • Apply a patch:
    xdelta -d -s {{path/to/input_file}} {{path/to/delta_file.xdelta}} {{path/to/output_file}}
  • Create a patch:
    xdelta -e -s {{path/to/old_file}} {{path/to/new_file}} {{path/to/output_file.xdelta}}

xml edit

Edit an XML document. More information: http://xmlstar.sourceforge.net/docs.php.
  • Delete elements matching an XPATH from an XML document:
    xml edit --delete "{{XPATH1}}" {{path/to/input.xml|URI}}
  • Move an element node of an XML document from XPATH1 to XPATH2:
    xml edit --move "{{XPATH1}}" "{{XPATH2}}" {{path/to/input.xml|URI}}
  • Rename all attributes named "id" to "ID":
    xml edit --rename "{{//*/@id}}" -v "{{ID}}" {{path/to/input.xml|URI}}
  • Rename sub-elements of the element "table" that are named "rec" to "record":
    xml edit --rename "{{/xml/table/rec}}" -v "{{record}}" {{path/to/input.xml|URI}}
  • Update the XML table record with "id=3" to the value "id=5":
    xml edit --update "{{xml/table/rec[@id=3]/@id}}" -v {{5}} {{path/to/input.xml|URI}}
  • Display help for the edit subcommand:
    xml edit --help

hostname

Show or set the system's host name. More information: https://manned.org/hostname.
  • Show current host name:
    hostname
  • Show the network address of the host name:
    hostname -i
  • Show all network addresses of the host:
    hostname -I
  • Show the FQDN (Fully Qualified Domain Name):
    hostname --fqdn
  • Set current host name:
    hostname {{new_hostname}}

mkdocs

Project documentation with Markdown. More information: https://www.mkdocs.org.
  • Create a new mkdocs project:
    mkdocs new {{project_name}}
  • Serve the project in the current directory using the mkdocs dev-server:
    mkdocs serve
  • Build the documentation in the current directory:
    mkdocs build
  • Deploy the documentation in the current directory to GitHub pages:
    mkdocs gh-deploy

typeset

Declare variables and give them attributes. More information: https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins.
  • Declare a string variable with the specified value:
    typeset {{variable}}="{{value}}"
  • Declare an integer variable with the specified value:
    typeset -i {{variable}}="{{value}}"
  • Declare an array variable with the specified value:
    typeset {{variable}}=({{item_a item_b item_c}})
  • Declare an associative array variable with the specified value:
    typeset -A {{variable}}=({{[key_a]=item_a [key_b]=item_b [key_c]=item_c}})
  • Declare a readonly variable with the specified value:
    typeset -r {{variable}}="{{value}}"
  • Declare a global variable within a function with the specified value:
    typeset -g {{variable}}="{{value}}"

cargo rustc

Compile a Rust package, and pass extra options to the compiler. More information: https://doc.rust-lang.org/cargo/commands/cargo-rustc.html.
  • Build the package or packages defined by the Cargo.toml manifest file in the current working directory:
    cargo rustc
  • Build artifacts in release mode, with optimizations:
    cargo rustc --release
  • Compile with architecture-specific optimizations for the current CPU:
    cargo rustc --release -- -C target-cpu=native
  • Compile with speed optimization:
    cargo rustc -- -C opt-level {{1|2|3}}
  • Compile with [s]ize optimization (z also turns off loop vectorization):
    cargo rustc -- -C opt-level {{s|z}}
  • Check if your package uses unsafe code:
    cargo rustc --lib -- -D unsafe-code
  • Build a specific package:
    cargo rustc --package {{package}}
  • Build only the specified binary:
    cargo --bin {{name}}

pueue completions

Generates shell completion files for Bash, Elvish, Fish, PowerShell, and Zsh. More information: https://github.com/Nukesor/pueue.
  • Generate completions for Bash:
    sudo pueue completions bash {{/usr/share/bash-completion/completions/pueue.bash}}
  • Generate completions for zsh:
    sudo pueue completions zsh {{/usr/share/zsh/site-functions}}
  • Generate completions for fish:
    sudo pueue completions fish {{/usr/share/fish/completions}}

pdfinfo

Portable Document Format (PDF) file information viewer. More information: https://www.xpdfreader.com/pdfinfo-man.html.
  • Print PDF file information:
    pdfinfo {{path/to/file.pdf}}
  • Specify user password for PDF file to bypass security restrictions:
    pdfinfo -upw {{password}} {{path/to/file.pdf}}
  • Specify owner password for PDF file to bypass security restrictions:
    pdfinfo -opw {{password}} {{path/to/file.pdf}}

restic

A backup program that aims to be fast, secure and efficient. More information: https://restic.net.
  • Initialize a backup repository in the specified local directory:
    restic init --repo {{path/to/repository}}
  • Backup a directory to the repository:
    restic --repo {{path/to/repository}} backup {{path/to/directory}}
  • Show backup snapshots currently stored in the repository:
    restic --repo {{path/to/repository}} snapshots
  • Restore a specific backup snapshot to a target directory:
    restic --repo {{path/to/repository}} restore {{latest|snapshot_id}} --target {{path/to/target}}
  • Restore a specific path from a specific backup to a target directory:
    restic --repo {{path/to/repository}} restore {{snapshot_id}} --target {{path/to/target}} --include {{path/to/restore}}
  • Clean up the repository and keep only the most recent snapshot of each unique backup:
    restic forget --keep-last 1 --prune


pipx

Install and run Python applications in isolated environments. More information: https://github.com/pypa/pipx.
  • Run an app in a temporary virtual environment:
    pipx run {{pycowsay}} {{moo}}
  • Install a package in a virtual environment and add entry points to path:
    pipx install {{package}}
  • List installed packages:
    pipx list
  • Run an app in a temporary virtual environment with a package name different from the executable:
    pipx run --spec {{httpx-cli}} {{httpx}} {{http://www.github.com}}
  • Inject dependencies into an existing virtual environment:
    pipx inject {{package}} {{dependency1 dependency2 ...}}
  • Install a package in a virtual environment with pip arguments:
    pipx install --pip-args='{{pip-args}}' {{package}}


rustc

The Rust compiler. Rust projects usually use cargo instead of invoking rustc directly. More information: https://doc.rust-lang.org/rustc.
  • Compile a binary crate:
    rustc {{path/to/main.rs}}
  • Compile with optimizations (s means optimize for binary size; z is the same with even more optimizations):
    rustc -C lto -C opt-level={{0|1|2|3|s|z}} {{path/to/main.rs}}
  • Compile with debugging information:
    rustc -g {{path/to/main.rs}}
  • Explain an error message:
    rustc --explain {{error_code}}
  • Compile with architecture-specific optimizations for the current CPU:
    rustc -C target-cpu={{native}} {{path/to/main.rs}}
  • Display the target list (Note: you have to add a target using rustup first to be able to compile for it):
    rustc --print target-list
  • Compile for a specific target:
    rustc --target {{target_triple}} {{path/to/main.rs}}


emacs

The extensible, customizable, self-documenting, real-time display editor. See also emacsclient. More information: https://www.gnu.org/software/emacs.
  • Start Emacs and open a file:
    emacs {{path/to/file}}
  • Open a file at a specified line number:
    emacs +{{line_number}} {{path/to/file}}
  • Run an Emacs Lisp file as a script:
    emacs --script {{path/to/file.el}}
  • Start Emacs in console mode (without an X window):
    emacs --no-window-system
  • Start an Emacs server in the background (accessible via emacsclient):
    emacs --daemon
  • Stop a running Emacs server and all its instances, asking for confirmation on unsaved files:
    emacsclient --eval '(save-buffers-kill-emacs)'
  • Save a file in Emacs:
    Ctrl + X, Ctrl + S
  • Quit Emacs:
    Ctrl + X, Ctrl + C

acme.sh

Shell script implementing ACME client protocol, an alternative to certbot. See also acme.sh dns. More information: https://github.com/acmesh-official/acme.sh.
  • Issue a certificate using webroot mode:
    acme.sh --issue --domain {{example.com}} --webroot {{/path/to/webroot}}
  • Issue a certificate for multiple domains using standalone mode using port 80:
    acme.sh --issue --standalone --domain {{example.com}} --domain {{www.example.com}}
  • Issue a certificate using standalone TLS mode using port 443:
    acme.sh --issue --alpn --domain {{example.com}}
  • Issue a certificate using a working Nginx configuration:
    acme.sh --issue --nginx --domain {{example.com}}
  • Issue a certificate using a working Apache configuration:
    acme.sh --issue --apache --domain {{example.com}}
  • Issue a wildcard (*) certificate using an automatic DNS API mode:
    acme.sh --issue --dns {{dns_cf}} --domain {{*.example.com}}
  • Install certificate files into the specified locations (useful for automatic certificate renewal):
    acme.sh --install-cert -d {{example.com}} --key-file {{/path/to/example.com.key}} --fullchain-file {{/path/to/example.com.cer}} --reloadcmd {{"systemctl force-reload nginx"}}

texcount

Count words in TeX documents omitting macros. Note: if the TeX document uses \include or \input and you want to count the included files, texcount must be run in the directory of the root TeX file. More information: https://app.uio.no/ifi/texcount/howto.html.
  • Count words in a TeX file:
    texcount {{path/to/file.tex}}
  • Count words in a document and subdocuments built with \input or \include:
    texcount -merge {{file.tex}}
  • Count words in a document and subdocuments, listing each file separately (and a total count):
    texcount -inc {{file.tex}}
  • Count words with verbose output:
    texcount -v {{path/to/file.tex}}


sails

Sails.js is a realtime enterprise level MVC framework built on top of Node.js. More information: https://sailsjs.com.
  • Start Sails:
    sails lift
  • Create new Sails project:
    sails new {{projectName}}
  • Generate Sails API:
    sails generate {{name}}
  • Generate Sails Controller:
    sails generate controller {{name}}
  • Generate Sails Model:
    sails generate model {{name}}

nikto

Web server scanner which performs tests against web servers for multiple items. More information: https://cirt.net/Nikto2.
  • Perform a basic Nikto scan against a target host:
    perl nikto.pl -h {{192.168.0.1}}
  • Specify the port number when performing a basic scan:
    perl nikto.pl -h {{192.168.0.1}} -p {{443}}
  • Scan ports and protocols with full URL syntax:
    perl nikto.pl -h {{https://192.168.0.1:443/}}
  • Scan multiple ports in the same scanning session:
    perl nikto.pl -h {{192.168.0.1}} -p {{80,88,443}}
  • Update to the latest plugins and databases:
    perl nikto.pl -update

git tag

Create, list, delete or verify tags. A tag is a static reference to a specific commit. More information: https://git-scm.com/docs/git-tag.
  • List all tags:
    git tag
  • Create a tag with the given name pointing to the current commit:
    git tag {{tag_name}}
  • Create a tag with the given name pointing to a given commit:
    git tag {{tag_name}} {{commit}}
  • Create an annotated tag with the given message:
    git tag {{tag_name}} -m {{tag_message}}
  • Delete the tag with the given name:
    git tag -d {{tag_name}}
  • Get updated tags from upstream:
    git fetch --tags
  • List all tags whose ancestors include a given commit:
    git tag --contains {{commit}}

svgr

Transform SVGs into React components. More information: https://react-svgr.com.
  • Transform a SVG file into a React component to stdout:
    svgr -- {{path/to/file.svg}}
  • Transform a SVG file into a React component using TypeScript to stdout:
    svgr --typescript -- {{path/to/file.svg}}
  • Transform a SVG file into a React component using JSX transform to stdout:
    svgr --jsx-runtime automatic -- {{path/to/file.svg}}
  • Transform all SVG files from a directory to React components into a specific directory:
    svgr --out-dir {{path/to/output_directory}} {{path/to/input_directory}}
  • Transform all SVG files from a directory to React components into a specific directory skipping already transformed files:
    svgr --out-dir {{path/to/output_directory}} --ignore-existing {{path/to/input_directory}}
  • Transform all SVG files from a directory to React components into a specific directory using a specific case for filenames:
    svgr --out-dir {{path/to/output_directory}} --filename-case {{camel|kebab|pascal}} {{path/to/input_directory}}
  • Transform all SVG files from a directory to React components into a specific directory without generating an index file:
    svgr --out-dir {{path/to/output_directory}} --no-index {{path/to/input_directory}}

pueue clean

Remove all finished tasks from the list and clear logs. More information: https://github.com/Nukesor/pueue.
  • Remove finished tasks and clear logs:
    pueue clean
  • Only clean commands that finished successfully:
    pueue clean --successful-only

caddy

An enterprise-ready open source web server with automatic HTTPS, written in Go. More information: https://caddyserver.com.
  • Start Caddy in the foreground:
    caddy run
  • Start Caddy with the specified Caddyfile:
    caddy run --config {{path/to/Caddyfile}}
  • Start Caddy in the background:
    caddy start
  • Stop a background Caddy process:
    caddy stop
  • Run a simple file server on the specified port with a browsable interface:
    caddy file-server --listen :{{8000}} --browse
  • Run a reverse proxy server:
    caddy reverse-proxy --from :{{80}} --to localhost:{{8000}}

ftp

Tools to interact with a server via File Transfer Protocol. More information: https://manned.org/ftp.
  • Connect to an FTP server:
    ftp {{ftp.example.com}}
  • Connect to an FTP server specifying its IP address and port:
    ftp {{ip_address}} {{port}}
  • Switch to binary transfer mode (graphics, compressed files, etc):
    binary
  • Transfer multiple files without prompting for confirmation on every file:
    prompt off
  • Download multiple files (glob expression):
    mget {{*.png}}
  • Upload multiple files (glob expression):
    mput {{*.zip}}
  • Delete multiple files on the remote server:
    mdelete {{*.txt}}
  • Rename a file on the remote server:
    rename {{original_filename}} {{new_filename}}

factor

Prints the prime factorization of a number. More information: https://www.gnu.org/software/coreutils/factor.
  • Display the prime-factorization of a number:
    factor {{number}}
  • Take the input from stdin if no argument is specified:
    echo {{number}} | factor

gpg

GNU Privacy Guard. See gpg2 for GNU Privacy Guard 2. Most operating systems symlink gpg to gpg2. More information: https://gnupg.org.
  • Create a GPG public and private key interactively:
    gpg --full-generate-key
  • Sign doc.txt without encryption (writes output to doc.txt.asc):
    gpg --clearsign {{doc.txt}}
  • Encrypt and sign doc.txt for [email protected] and [email protected] (output to doc.txt.gpg):
    gpg --encrypt --sign --recipient {{[email protected]}} --recipient {{[email protected]}} {{doc.txt}}
  • Encrypt doc.txt with only a passphrase (output to doc.txt.gpg):
    gpg --symmetric {{doc.txt}}
  • Decrypt doc.txt.gpg (output to stdout):
    gpg --decrypt {{doc.txt.gpg}}
  • Import a public key:
    gpg --import {{public.gpg}}
  • Export public key for [email protected] (output to stdout):
    gpg --export --armor {{[email protected]}}
  • Export private key for [email protected] (output to stdout):
    gpg --export-secret-keys --armor {{[email protected]}}

hg

Mercurial - a distributed source control management system. Some subcommands such as hg commit have their own usage documentation. More information: https://www.mercurial-scm.org.
  • Execute a Mercurial command:
    hg {{command}}
  • Call general help:
    hg help
  • Call help on a command:
    hg help {{command}}
  • Check the Mercurial version:
    hg --version

lz4

Compress or decompress .lz4 files. More information: https://github.com/lz4/lz4.
  • Compress a file:
    lz4 {{path/to/file}}
  • Decompress a file:
    lz4 -d {{file.lz4}}
  • Decompress a file and write to stdout:
    lz4 -dc {{file.lz4}}
  • Package and compress a directory and its contents:
    tar cvf - {{path/to/directory}} | lz4 - {{dir.tar.lz4}}
  • Decompress and unpack a directory and its contents:
    lz4 -dc {{dir.tar.lz4}} | tar -xv
  • Compress a file using the best compression:
    lz4 -9 {{path/to/file}}

ansible

Manage groups of computers remotely over SSH. (use the /etc/ansible/hosts file to add new groups/hosts). Some subcommands such as ansible galaxy have their own usage documentation. More information: https://www.ansible.com/.
  • List hosts belonging to a group:
    ansible {{group}} --list-hosts
  • Ping a group of hosts by invoking the ping module:
    ansible {{group}} -m ping
  • Display facts about a group of hosts by invoking the setup module:
    ansible {{group}} -m setup
  • Execute a command on a group of hosts by invoking command module with arguments:
    ansible {{group}} -m command -a '{{my_command}}'
  • Execute a command with administrative privileges:
    ansible {{group}} --become --ask-become-pass -m command -a '{{my_command}}'
  • Execute a command using a custom inventory file:
    ansible {{group}} -i {{inventory_file}} -m command -a '{{my_command}}'
  • List the groups in an inventory:
    ansible localhost -m debug -a '{{var=groups.keys()}}'

base32

Encode or decode file or stdin to/from Base32, to stdout. More information: https://www.gnu.org/software/coreutils/base32.
  • Encode a file:
    base32 {{path/to/file}}
  • Decode a file:
    base32 --decode {{path/to/file}}
  • Encode from stdin:
    {{somecommand}} | base32
  • Decode from stdin:
    {{somecommand}} | base32 --decode

lando

Local development environment and DevOps tool built on Docker. More information: https://docs.lando.dev/cli/.
  • Initialize code for use with lando:
    lando init
  • Print information about your app:
    lando info
  • Start your app:
    lando start
  • Stop your app:
    lando stop
  • Restart your app:
    lando restart
  • Rebuild your app from scratch, preserving data:
    lando rebuild
  • Display logs for your app:
    lando logs
  • Destroy your app:
    lando destroy

csv2tsv

Convert CSV (comma-separated) text to TSV (tab-separated) format. More information: https://github.com/eBay/tsv-utils/blob/master/README.md#csv2tsv.
  • Convert from CSV to TSV:
    csv2tsv {{path/to/input_csv1 path/to/input_csv2 ...}} > {{path/to/output_tsv}}
  • Convert field delimiter separated CSV to TSV:
    csv2tsv -c'{{field_delimiter}}' {{path/to/input_csv}}
  • Convert semicolon separated CSV to TSV:
    csv2tsv -c';' {{path/to/input_csv}}

stripe

Interact with a Stripe account. More information: https://github.com/stripe/stripe-cli.
  • Follow the logs of activity on the account:
    stripe logs tail
  • Listen for events, filtering on events with the name charge.succeeded and forwarding them to localhost:3000/events:
    stripe listen --events="{{charge.succeeded}}" --forward-to="{{localhost:3000/events}}"
  • Send a test webhook event:
    stripe trigger {{charge.succeeded}}
  • Create a customer:
    stripe customers create --email="{{[email protected]}}" --name="{{Jenny Rosen}}"
  • Print to JSON:
    stripe listen --print-json

in2csv

Converts various tabular data formats into CSV. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/in2csv.html.
  • Convert an XLS file to CSV:
    in2csv {{data.xls}}
  • Convert a DBF file to a CSV file:
    in2csv {{data.dbf}} > {{data.csv}}
  • Convert a specific sheet from an XLSX file to CSV:
    in2csv --sheet={{sheet_name}} {{data.xlsx}}
  • Pipe a JSON file to in2csv:
    cat {{data.json}} | in2csv -f json > {{data.csv}}

dvc fetch

Download DVC tracked files and directories from a remote repository. More information: https://dvc.org/doc/command-reference/fetch.
  • Fetch the latest changes from the default remote upstream repository (if set):
    dvc fetch
  • Fetch changes from a specific remote upstream repository:
    dvc fetch --remote {{remote_name}}
  • Fetch the latest changes for a specific target/s:
    dvc fetch {{target/s}}
  • Fetch changes for all branch and tags:
    dvc fetch --all-branches --all-tags
  • Fetch changes for all commits:
    dvc fetch --all-commits

volta

A JavaScript Tool Manager that installs Node.js runtimes, npm and Yarn package managers, or any binaries from npm. More information: https://volta.sh.
  • List all installed tools:
    volta list
  • Install the latest version of a tool:
    volta install {{node|npm|yarn|package_name}}
  • Install a specific version of a tool:
    volta install {{node|npm|yarn}}@version
  • Choose a tool version for a project (will store it in package.json):
    volta pin {{node|npm|yarn}}@version
  • Display help:
    volta help
  • Display help for a subcommand:
    volta help {{fetch|install|uninstall|pin|list|completions|which|setup|run|help}}

pio check

Perform a static analysis check on a PlatformIO project. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_check.html.
  • Perform a basic analysis check on the current project:
    pio check
  • Perform a basic analysis check on a specific project:
    pio check --project-dir {{project_dir}}
  • Perform an analysis check for a specific environment:
    pio check --environment {{environment}}
  • Perform an analysis check and only report a specified defect severity type:
    pio check --severity {{low|medium|high}}
  • Perform an analysis check and show detailed information when processing environments:
    pio check --verbose

flex

Lexical analyzer generator. Based on lex. Given the specification for a lexical analyzer, generates C code implementing it. More information: https://manned.org/flex.
  • Generate an analyzer from a flex file:
    flex {{analyzer.l}}
  • Specify the output file:
    flex --outfile {{analyzer.c}} {{analyzer.l}}
  • Compile a C file generated by flex:
    cc {{path/to/lex.yy.c}} --output {{executable}}

w

Show who is logged on and what they are doing. Print user login, TTY, remote host, login time, idle time, current process. More information: https://manned.org/w.
  • Show logged-in users info:
    w
  • Show logged-in users info without a header:
    w -h

shellcheck

Shell script static analysis tool. Check shell scripts for errors, usage of deprecated/insecure features, and bad practices. More information: https://www.shellcheck.net.
  • Check a shell script:
    shellcheck {{path/to/script.sh}}
  • Check a shell script interpreting it as the specified shell dialect (overrides the shebang at the top of the script):
    shellcheck --shell {{sh|bash|dash|ksh}} {{path/to/script.sh}}
  • Ignore one or more error types:
    shellcheck --exclude {{SC1009,SC1073}} {{path/to/script.sh}}
  • Also check any sourced shell scripts:
    shellcheck --checked-sourced {{path/to/script.sh}}
  • Display output in the specified format (defaults to tty):
    shellcheck --format {{tty|checkstyle|diff|gcc|json|json1|quiet}} {{path/to/script.sh}}
  • Enable one or more optional checks:
    shellcheck --enable={{add-default-case|avoid-nullary-conditions}}
  • List all available optional checks that are disabled by default:
    shellcheck --list-optional

ssh-keygen

Generate ssh keys used for authentication, password-less logins, and other things. More information: https://man.openbsd.org/ssh-keygen.
  • Generate a key interactively:
    ssh-keygen
  • Generate an ed25519 key with 32 key derivation function rounds and save the key to a specific file:
    ssh-keygen -t {{ed25519}} -a {{32}} -f {{~/.ssh/filename}}
  • Generate an RSA 4096-bit key with email as a comment:
    ssh-keygen -t {{rsa}} -b {{4096}} -C "{{comment|email}}"
  • Remove the keys of a host from the known_hosts file (useful when a known host has a new key):
    ssh-keygen -R {{remote_host}}
  • Retrieve the fingerprint of a key in MD5 Hex:
    ssh-keygen -l -E {{md5}} -f {{~/.ssh/filename}}
  • Change the password of a key:
    ssh-keygen -p -f {{~/.ssh/filename}}
  • Change the type of the key format (for example from OPENSSH format to PEM), the file will be rewritten in-place:
    ssh-keygen -p -N "" -m {{PEM}} -f {{~/.ssh/OpenSSH_private_key}}
  • Retrieve public key from secret key:
    ssh-keygen -y -f {{~/.ssh/OpenSSH_private_key}}

gatsby

Static site generator for React. More information: https://gatsbyjs.org.
  • Create a new site:
    gatsby new {{site_name}}
  • Create a new site with a Gatsby 'starter':
    gatsby new {{site_name}} {{url_of_starter_github_repo}}
  • Start a live-reloading local development server:
    gatsby develop
  • Perform a production build and generate static HTML:
    gatsby build
  • Start a local server which serves the production build:
    gatsby serve

git prune

Git command for pruning all unreachable objects from the object database. This command is often not used directly but as an internal command that is used by Git gc. More information: https://git-scm.com/docs/git-prune.
  • Report what would be removed by Git prune without removing it:
    git prune --dry-run
  • Prune unreachable objects and display what has been pruned to stdout:
    git prune --verbose
  • Prune unreachable objects while showing progress:
    git prune --progress

qpdf

Versatile PDF transformation software. More information: https://github.com/qpdf/qpdf.
  • Extract pages 1-3, 5 and 6-10 from a PDF file and save them as another one:
    qpdf --empty --pages {{input.pdf}} {{1-3,5,6-10}} -- {{output.pdf}}
  • Merge (concatenate) all the pages of a list of PDF files and save the result as a new PDF:
    qpdf --empty --pages {{file1.pdf}} {{file2.pdf}} {{file3.pdf}} -- {{output.pdf}}
  • Merge (concatenate) given pages from a list of PDF files and save the result as a new PDF:
    qpdf --empty --pages {{file1.pdf}} {{1,6-8}} {{file2.pdf}} {{3,4,5}} -- {{output.pdf}}
  • Write each group of n pages to a separate output file with a given filename pattern:
    qpdf --split-pages=n {{input.pdf}} {{out_%d.pdf}}
  • Rotate certain pages of a PDF with a given angle:
    qpdf --rotate={{90:2,4,6}} --rotate={{180:7-8}} {{input.pdf}} {{output.pdf}}
  • Remove the password from a password-protected file:
    qpdf --password={{password}} --decrypt {{input.pdf}} {{output.pdf}}

git-grep

Find strings inside files anywhere in a repository's history. Accepts a lot of the same flags as regular grep. More information: https://git-scm.com/docs/git-grep.
  • Search for a string in tracked files:
    git grep {{search_string}}
  • Search for a string in files matching a pattern in tracked files:
    git grep {{search_string}} -- {{file_glob_pattern}}
  • Search for a string in tracked files, including submodules:
    git grep --recurse-submodules {{search_string}}
  • Search for a string at a specific point in history:
    git grep {{search_string}} {{HEAD~2}}
  • Search for a string across all branches:
    git grep {{search_string}} $(git rev-list --all)

viu

View images on the terminal. More information: https://github.com/atanunq/viu.
  • Render an image or animated GIF:
    viu {{path/to/file}}
  • Render an image or GIF from the internet using curl:
    curl -s {{https://example.com/image.png}} | viu -
  • Render an image with a transparent background:
    viu -t {{path/to/file}}
  • Render an image with a specific width and height in pixels:
    viu -w {{width}} -h {{height}} {{path/to/file}}
  • Render an image or GIF and display its file name:
    viu -n {{path/to/file}}

gixy

Analyze nginx configuration files. More information: https://github.com/yandex/gixy.
  • Analyze nginx configuration (default path: /etc/nginx/nginx.conf):
    gixy
  • Analyze nginx configuration but skip specific tests:
    gixy --skips {{http_splitting}}
  • Analyze nginx configuration with the specific severity level:
    gixy {{-l|-ll|-lll}}
  • Analyze nginx configuration files on the specific path:
    gixy {{path/to/configuration_file_1}} {{path/to/configuration_file_2}}

stdbuf

Run a command with modified buffering operations for its standard streams. More information: https://www.gnu.org/software/coreutils/stdbuf.
  • Change stdin buffer size to 512 KiB:
    stdbuf --input={{512K}} {{command}}
  • Change stdout buffer to line-buffered:
    stdbuf --output={{L}} {{command}}
  • Change stderr buffer to unbuffered:
    stdbuf --error={{0}} {{command}}

sass

Converts SCSS or Sass files to CSS. More information: https://sass-lang.com/documentation/cli/dart-sass.
  • Convert a SCSS or Sass file to CSS and print out the result:
    sass {{inputfile.scss|inputfile.sass}}
  • Convert a SCSS or Sass file to CSS and save the result to a file:
    sass {{inputfile.scss|inputfile.sass}} {{outputfile.css}}
  • Watch a SCSS or Sass file for changes and output or update the CSS file with same filename:
    sass --watch {{inputfile.scss|inputfile.sass}}
  • Watch a SCSS or Sass file for changes and output or update the CSS file with the given filename:
    sass --watch {{inputfile.scss|inputfile.sass}}:{{outputfile.css}}

gdrive

Command-line tool to interact with Google Drive. Folder/file ID can be obtained from the Google Drive folder or ID URL. More information: https://github.com/gdrive-org/gdrive.
  • Upload a local path to the parent folder with the specified ID:
    gdrive upload -p {{id}} {{path/to/file_or_folder}}
  • Download file or directory by ID to current directory:
    gdrive download {{id}}
  • Download to a given local path by its ID:
    gdrive download --path {{path/to/folder}} {{id}}
  • Create a new revision of an ID using a given file or folder:
    gdrive update {{id}} {{path/to/file_or_folder}}

go doc

Show documentation for a package or symbol. More information: https://golang.org/cmd/go/#hdr-Show_documentation_for_package_or_symbol.
  • Show documentation for the current package:
    go doc
  • Show package documentation and exported symbols:
    go doc {{encoding/json}}
  • Show also documentation of symbols:
    go doc -all {{encoding/json}}
  • Show also sources:
    go doc -all -src {{encoding/json}}
  • Show a specific symbol:
    go doc -all -src {{encoding/json.Number}}


column

Format stdin or a file into multiple columns. Columns are filled before rows; the default separator is a whitespace. More information: https://manned.org/column.
  • Format the output of a command for a 30 characters wide display:
    printf "header1 header2\nbar foo\n" | column --output-width {{30}}
  • Split columns automatically and auto-align them in a tabular format:
    printf "header1 header2\nbar foo\n" | column --table
  • Specify the column delimiter character for the --table option (e.g. "," for CSV) (defaults to whitespace):
    printf "header1,header2\nbar,foo\n" | column --table --separator {{,}}
  • Fill rows before filling columns:
    printf "header1\nbar\nfoobar\n" | column --output-width {{30}} --fillrows

openssl s_client

OpenSSL command to create TLS client connections. More information: https://www.openssl.org/docs/manmaster/man1/openssl-s_client.html.
  • Display the start and expiry dates for a domain's certificate:
    openssl s_client -connect {{host}}:{{port}} 2>/dev/null | openssl x509 -noout -dates
  • Display the certificate presented by an SSL/TLS server:
    openssl s_client -connect {{host}}:{{port}} </dev/null
  • Set the Server Name Indicator (SNI) when connecting to the SSL/TLS server:
    openssl s_client -connect {{host}}:{{port}} -servername {{hostname}}
  • Display the complete certificate chain of an HTTPS server:
    openssl s_client -connect {{host}}:443 -showcerts </dev/null

pastel

Generate, analyze, convert and manipulate colors. More information: https://github.com/sharkdp/pastel.
  • Convert colors from one format to another. Here from RGB to HSL:
    pastel format {{hsl}} {{ff8000}}
  • Show and analyze colors on the terminal:
    pastel color "{{rgb(255,50,127)}}"
  • Pick a color from somewhere on the screen:
    pastel pick
  • Generate a set of N visually distinct colors:
    pastel distinct {{8}}
  • Get a list of all X11/CSS color names:
    pastel list

llvm-dis

Converts LLVM bitcode files into human-readable LLVM Intermediate Representation (IR). More information: https://www.llvm.org/docs/CommandGuide/llvm-dis.html.
  • Convert a bitcode file as LLVM IR and write the result to stdout:
    llvm-dis {{path/to/input.bc}} -o -
  • Convert a bitcode file to an LLVM IR file with the same filename:
    llvm-dis {{path/to/file.bc}}
  • Convert a bitcode file to LLVM IR, writing the result to the specified file:
    llvm-dis {{path/to/input.bc}} -o {{path/to/output.ll}}

install-tl

TeX Live cross-platform installer. More information: https://tug.org/texlive/.
  • Start the text-based installer (default on Unix systems):
    install-tl -no-gui
  • Start the GUI installer (default on macOS and Windows, requires Tcl/Tk):
    install-tl -gui
  • Install TeX Live as defined in a specific profile file:
    install-tl -profile {{path/to/texlive.profile}}
  • Start the installer with the settings from a specific profile file:
    install-tl -init-from-file {{path/to/texlive.profile}}
  • Start the installer for installation on a portable device, like a USB stick:
    install-tl -portable
  • Show help for install-tl:
    install-tl -help

hexo

A fast, simple & powerful blog framework. More information: https://hexo.io/.
  • Initialize a website:
    hexo init {{path/to/directory}}
  • Create a new article:
    hexo new {{layout}} {{title}}
  • Generate static files:
    hexo generate
  • Start a local server:
    hexo server
  • Deploy the website:
    hexo deploy
  • Clean the cache file (db.json) and generated files (public/):
    hexo clean

flips

Create and apply patches for IPS and BPS files. More information: https://github.com/Alcaro/Flips.
  • Start Flips to create and apply patches interactively:
    flips
  • Apply a patch and create a new ROM file:
    flips --apply {{patch.bps}} {{rom.smc}} {{hack.smc}}
  • Create a patch from two ROMs:
    flips --create {{rom.smc}} {{hack.smc}} {{patch.bps}}

betty

Use natural language to execute commands. More information: https://github.com/pickhardt/betty.
  • Ask Betty something:
    betty {{what time is it}}
  • Download a file:
    betty download {{https://example.com/file.ext}} to {{path/to/output_file.ext}}
  • Compress a file or directory to one of the support archive formats:
    betty {{zip}} {{path/to/file_or_directory}}
  • Extract an archive into the current directory:
    betty {{unzip}} {{archive.tar.gz}}
  • Extract an archive into a specific directory:
    betty unarchive {{archive.tar.gz}} to {{path/to/directory}}
  • Play Spotify:
    betty play {{Spotify}}
  • Drive Betty to madness:
    betty go crazy
  • Display version:
    betty version

loadtest

Run a load test on the selected HTTP or WebSockets URL. More information: https://github.com/alexfernandez/loadtest.
  • Run with concurrent users and a specified amount of requests per second:
    loadtest --concurrency {{10}} --rps {{200}} {{https://example.com}}
  • Run with a custom HTTP header:
    loadtest --headers "{{accept:text/plain;text-html}}" {{https://example.com}}
  • Run with a specific HTTP method:
    loadtest --method {{GET}} {{https://example.com}}

isisdl

A downloading utility for ISIS of TU-Berlin. Download all your files and videos from ISIS. More information: https://github.com/Emily3403/isisdl.
  • Start the synchronization process:
    isisdl
  • Limit the download rate to 20 MiB/s and download with 5 threads:
    isisdl --download-rate {{20}} --max-num-threads {{5}}
  • Run the initialization configuration wizard:
    isisdl --init
  • Run the additional configuration wizard:
    isisdl --config
  • Initiate a full synchronization of the database and compute the checksum of every file:
    isisdl --sync
  • Start ffmpeg to compress downloaded videos:
    isisdl --compress

iverilog

Preprocesses and compiles Verilog HDL (IEEE-1364) code into executable programs for simulation. More information: https://github.com/steveicarus/iverilog.
  • Compile a source file into an executable:
    iverilog {{path/to/source.v}} -o {{path/to/executable}}
  • Compile a source file into an executable while displaying all warnings:
    iverilog {{path/to/source.v}} -Wall -o {{path/to/executable}}
  • Compile and run explicitly using the VVP runtime:
    iverilog -o {{path/to/executable}} -tvvp {{path/to/source.v}}
  • Compile using Verilog library files from a different path:
    iverilog {{path/to/source.v}} -o {{path/to/executable}} -I{{path/to/library_directory}}
  • Preprocess Verilog code without compiling:
    iverilog -E {{path/to/source.v}}

ghc

The Glasgow Haskell Compiler. Compiles and links Haskell source files. More information: https://www.haskell.org/ghc.
  • Find and compile all modules in the current directory:
    ghc Main
  • Compile a single file:
    ghc {{file.hs}}
  • Compile using extra optimization:
    ghc -O {{file.hs}}
  • Stop compilation after generating object files (.o):
    ghc -c {{file.hs}}
  • Start a REPL (interactive shell):
    ghci
  • Evaluate a single expression:
    ghc -e {{expression}}

lsof

Lists open files and the corresponding processes. Note: Root privileges (or sudo) is required to list files opened by others. More information: https://manned.org/lsof.
  • Find the processes that have a given file open:
    lsof {{path/to/file}}
  • Find the process that opened a local internet port:
    lsof -i :{{port}}
  • Only output the process ID (PID):
    lsof -t {{path/to/file}}
  • List files opened by the given user:
    lsof -u {{username}}
  • List files opened by the given command or process:
    lsof -c {{process_or_command_name}}
  • List files opened by a specific process, given its PID:
    lsof -p {{PID}}
  • List open files in a directory:
    lsof +D {{path/to/directory}}
  • Find the process that is listening on a local IPv6 TCP port and don't convert network or port numbers:
    lsof -i6TCP:{{port}} -sTCP:LISTEN -n -P

tlmgr candidates

Get available candidate repositories from which a TeX Live package can be installed. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all available repositories from which a package can be installed:
    tlmgr candidates {{package}}

nvim

Neovim, a programmer's text editor based on Vim, provides several modes for different kinds of text manipulation. Pressing i in normal mode enters insert mode. <Esc> goes back to normal mode, which doesn't allow regular text insertion. See also vim, vimtutor, vimdiff. More information: https://neovim.io.
  • Open a file:
    nvim {{path/to/file}}
  • Enter text editing mode (insert mode):
    <Esc>i
  • Copy ("yank") or cut ("delete") the current line (paste it with P):
    <Esc>{{yy|dd}}
  • Enter normal mode and undo the last operation:
    <Esc>u
  • Search for a pattern in the file (press n/N to go to next/previous match):
    <Esc>/{{search_pattern}}<Enter>
  • Perform a regular expression substitution in the whole file:
    <Esc>:%s/{{regular_expression}}/{{replacement}}/g<Enter>
  • Enter normal mode and save (write) the file, and quit:
    <Esc>:wq<Enter>
  • Quit without saving:
    <Esc>:q!<Enter>

git rev-list

List revisions (commits) in reverse chronological order. More information: https://git-scm.com/docs/git-rev-list.
  • List all commits on the current branch:
    git rev-list {{HEAD}}
  • Print the latest commit that changed (add/edit/remove) a specific file on the current branch:
    git rev-list -n 1 HEAD -- {{path/to/file}}
  • List commits more recent than a specific date, on a specific branch:
    git rev-list --since={{'2019-12-01 00:00:00'}} {{branch_name}}
  • List all merge commits on a specific commit:
    git rev-list --merges {{commit}}
  • Print the number of commits since a specific tag:
    git rev-list {{tag_name}}..HEAD --count

rails db

Various database-related subcommands for Ruby on Rails. More information: https://guides.rubyonrails.org/command_line.html.
  • Create databases, load the schema, and initialize with seed data:
    rails db:setup
  • Access the database console:
    rails db
  • Create the databases defined in the current environment:
    rails db:create
  • Destroy the databases defined in the current environment:
    rails db:drop
  • Run pending migrations:
    rails db:migrate
  • View the status of each migration file:
    rails db:migrate:status
  • Rollback the last migration:
    rails db:rollback
  • Fill the current database with data defined in db/seeds.rb:
    rails db:seed

atq

Show jobs scheduled by at or batch commands. More information: https://manned.org/atq.
  • Show the current user's scheduled jobs:
    atq
  • Show jobs from queue named 'a' (queues have single-character names):
    atq -q {{a}}
  • Show jobs of all users (run as superuser):
    sudo atq

retry

Repeat command until it succeeds or a criterion is met. More information: https://github.com/minfrin/retry.
  • Retry a command until it succeeds:
    retry {{command}}
  • Retry a command every n seconds until it succeeds:
    retry --delay={{n}} {{command}}
  • Give up after n attempts:
    retry --times={{n}} {{command}}

docker volume

Manage Docker volumes. More information: https://docs.docker.com/engine/reference/commandline/volume/.
  • Create a volume:
    docker volume create {{volume_name}}
  • Create a volume with a specific label:
    docker volume create --label {{label}} {{volume_name}}
  • Create a tmpfs volume a size of 100 MiB and an uid of 1000:
    docker volume create --opt {{type}}={{tmpfs}} --opt {{device}}={{tmpfs}} --opt {{o}}={{size=100m,uid=1000}} {{volume_name}}
  • List all volumes:
    docker volume ls
  • Remove a volume:
    docker volume rm {{volume_name}}
  • Display information about a volume:
    docker volume inspect {{volume_name}}
  • Remove all unused local volumes:
    docker volume prune
  • Display help for a subcommand:
    docker volume {{subcommand}} --help

aws sqs

Create, delete, and send messages to queues for the AWS SQS service. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/index.html.
  • List all availables queues:
    aws sqs list-queues
  • Display the URL of a specific queue:
    aws sqs get-queue-url --queue-name {{queue_name}}
  • Create a queue with specific attributes from a file in JSON format:
    aws sqs create-queue --queue-name {{queue_name}} --attributes {{file://path/to/attributes_file.json}}
  • Send a specific message to a queue:
    aws sqs send-message --queue-url https://sqs.{{region}}.amazonaws.com/{{queue_name}} --message-body "{{message_body}}" --delay-seconds {{delay}} --message-attributes {{file://path/to/attributes_file.json}}
  • Delete the specified message from a queue:
    aws sqs delete-message --queue-url {{https://queue_url}} --receipt-handle {{receipt_handle}}
  • Delete a specific queue:
    aws sqs delete-queue --queue-url https://sqs.{{region}}.amazonaws.com/{{queue_name}}
  • Delete all messages from the specified queue:
    aws sqs purge-queue --queue-url https://sqs.{{region}}.amazonaws.com/{{queue_name}}
  • Enable a specific AWS account to send messages to queue:
    aws sqs add-permission --queue-url https://sqs.{{region}}.amazonaws.com/{{queue_name}} --label {{permission_name}} --aws-account-ids {{account_id}} --actions SendMessage

f3probe

Probe a block device (e.g. a flash drive or a microSD card) for counterfeit flash memory. See also f3read, f3write, f3fix. More information: https://github.com/AltraMayor/f3.
  • Probe a block device:
    sudo f3probe {{path/to/block_device}}
  • Use the minimum about of RAM possible:
    sudo f3probe --min-memory {{path/to/block_device}}
  • Time disk operations:
    sudo f3probe --time-ops {{path/to/block_device}}

rhash

Calculate or check common message digests. More information: https://rhash.sourceforge.net/manpage.php.
  • Calculate default CRC32 digests of a file:
    rhash {{path/to/file}}
  • Recursively process a directory to generate an SFV file using SHA1:
    rhash --sha1 --recursive {{path/to/folder}} > {{path/to/output.sfv}}
  • Verify the integrity of files based on an SFV file:
    rhash --check {{path/to/file.sfv}}
  • Calculate the SHA3 digest of a text message:
    rhash --sha3-256 --message '{{message}}'
  • Calculate CRC32 digest of a file and output digest encoded in base64 using BSD format:
    rhash --base64 --bsd {{path/to/file}}
  • Use custom output template:
    rhash --printf '{{%p\t%s\t%{mtime}\t%m\n}}' {{path/to/file}}

silicon

Create an image of source code. More information: https://github.com/Aloxaf/silicon.
  • Generate an image from a specific source file:
    silicon {{path/to/source_file}} --output {{path/to/output_image}}
  • Generate an image from a source file with a specific programming language syntax highlighting (e.g. rust, py, js, etc.):
    silicon {{path/to/source_file}} --output {{path/to/output_image}} --language {{language|extension}}
  • Generate an image from stdin:
    {{command}} | silicon --output {{path/to/output_image}}

php-coveralls

A PHP client for Coveralls. More information: https://php-coveralls.github.io/php-coveralls.
  • Send coverage information to Coveralls:
    php-coveralls
  • Send coverage information to Coveralls for a specific directory:
    php-coveralls --root_dir {{path/to/directory}}
  • Send coverage information to Coveralls with a specific config:
    php-coveralls --config {{path/to/.coveralls.yml}}
  • Send coverage information to Coveralls with verbose output:
    php-coveralls --verbose
  • Send coverage information to Coveralls excluding source files with no executable statements:
    php-coveralls --exclude-no-stmt
  • Send coverage information to Coveralls with a specific environment name:
    php-coveralls --env {{test|dev|prod}}
  • Specify multiple Coverage Clover XML files to upload:
    php-coveralls --coverage_clover {{path/to/first_clover.xml}} --coverage_clover {{path/to/second_clover.xml}}
  • Output the JSON that will be sent to Coveralls to a specific file:
    php-coveralls --json_path {{path/to/coveralls-upload.json}}

lerna

A tool for managing JavaScript projects with multiple packages. More information: https://lerna.js.org.
  • Initialize project files (lerna.json, package.json, .git, etc.):
    lerna init
  • Install all external dependencies of each package and symlink together local dependencies:
    lerna bootstrap
  • Run a specific script for every package that contains it in its package.json:
    lerna run {{script}}
  • Execute an arbitrary shell command in every package:
    lerna exec -- {{ls}}
  • Publish all packages that have changed since the last release:
    lerna publish

gh pr

Manage GitHub pull requests. Some subcommands such as gh pr create have their own usage documentation. More information: https://cli.github.com/manual/gh_pr.
  • Create a pull request:
    gh pr create
  • Check out a specific pull request locally:
    gh pr checkout {{pr_number}}
  • View the changes made in the pull request for the current branch:
    gh pr diff
  • Approve the pull request for the current branch:
    gh pr review --approve
  • Merge the pull request associated with the current branch interactively:
    gh pr merge
  • Edit a pull request interactively:
    gh pr edit
  • Edit the base branch of a pull request:
    gh pr edit --base {{branch_name}}
  • Check the status of the current repository's pull requests:
    gh pr status

mongo

The legacy MongoDB shell. See mongosh for the new shell. Note: all connection options can be replaced with one string: mongodb://user@host:port/db_name?authSource=authdb_name. More information: https://docs.mongodb.com/manual/reference/program/mongo.
  • Connect to a local database on the default port (mongodb://localhost:27017):
    mongo
  • Connect to a database:
    mongo --host {{host}} --port {{port}} {{db_name}}
  • Authenticate using the specified username on the specified database (you will be prompted for a password):
    mongo --host {{host}} --port {{port}} --username {{username}} --authenticationDatabase {{authdb_name}} {{db_name}}
  • Evaluate a JavaScript expression on a database:
    mongo --eval '{{JSON.stringify(db.foo.findOne())}}' {{db_name}}

cryfs

A cryptographic filesystem for the cloud. More information: https://www.cryfs.org/.
  • Mount an encrypted filesystem. The initialization wizard will be started on the first execution:
    cryfs {{path/to/cipher_dir}} {{path/to/mount_point}}
  • Unmount an encrypted filesystem:
    cryfs-unmount {{path/to/mount_point}}
  • Automatically unmount after ten minutes of inactivity:
    cryfs --unmount-idle {{10}} {{path/to/cipher_dir}} {{path/to/mount_point}}
  • Show a list of supported ciphers:
    cryfs --show-ciphers

gops

List and diagnose Go processes currently running on your system. More information: https://github.com/google/gops.
  • Print all go processes running locally:
    gops
  • Print more information about a process:
    gops {{pid}}
  • Display a process tree:
    gops tree
  • Print the current stack trace from a target program:
    gops stack {{pid|addr}}
  • Print the current runtime memory statistics:
    gops memstats {{pid|addr}}

hive

CLI tool for Apache Hive. More information: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli.
  • Start a Hive interactive shell:
    hive
  • Run HiveQL:
    hive -e "{{hiveql_query}}"
  • Run a HiveQL file with a variable substitution:
    hive --define {{key}}={{value}} -f {{path/to/file.sql}}
  • Run a HiveQL with HiveConfig (e.g. mapred.reduce.tasks=32):
    hive --hiveconf {{conf_name}}={{conf_value}}

az tag

Manage tags on a resource. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/tag.
  • Create a tag value:
    az tag add-value --name {{tag_name}} --value {{tag_value}}
  • Create a tag in the subscription:
    az tag create --name {{tag_name}}
  • Delete a tag from the subscription:
    az tag delete --name {{tag_name}}
  • List all tags on a subscription:
    az tag list --resource-id /subscriptions/{{subscription_id}}
  • Delete a tag value for a specific tag name:
    az tag remove-value --name {{tag_name}} --value {{tag_value}}

hakyll-init

Generate a new Hakyll sample blog. More information: https://github.com/jaspervdj/hakyll-init.
  • Generate a new Hakyll sample blog:
    hakyll-init {{path/to/directory}}
  • Show help for hakyll-init:
    hakyll-init --help

vagrant

Manage lightweight, reproducible, and portable development environments. More information: https://www.vagrantup.com.
  • Create Vagrantfile in current directory with the base Vagrant box:
    vagrant init
  • Create Vagrantfile with the Ubuntu 20.04 (Focal Fossa) box from HashiCorp Atlas:
    vagrant init ubuntu/focal64
  • Start and provision the vagrant environment:
    vagrant up
  • Suspend the machine:
    vagrant suspend
  • Halt the machine:
    vagrant halt
  • Connect to machine via SSH:
    vagrant ssh
  • Output the SSH configuration file of the running Vagrant machine:
    vagrant ssh-config
  • List all local boxes:
    vagrant box list

gh secret

Manage GitHub secrets. More information: https://cli.github.com/manual/gh_secret.
  • List secret keys for the current repository:
    gh secret list
  • List secret keys for a specific organization:
    gh secret list --org {{organization}}
  • List secret keys for a specific repository:
    gh secret list --repo {{owner}}/{{repository}}
  • Set a secret for the current repository (user will be prompted for the value):
    gh secret set {{name}}
  • Set a secret from a file for the current repository:
    gh secret set {{name}} < {{path/to/file}}
  • Set an organization secret for specific repositories:
    gh secret set {{name}} --org {{organization}} --repos {{repository1,repository2}}
  • Remove a secret for the current repository:
    gh secret remove {{name}}
  • Remove a secret for a specific organization:
    gh secret remove {{name}} --org {{organization}}

dhclient

DHCP client. More information: https://manned.org/dhclient.
  • Get an IP address for the eth0 interface:
    sudo dhclient {{eth0}}
  • Release an IP address for the eth0 interface:
    sudo dhclient -r {{eth0}}

musl-gcc

A wrapper around gcc that automatically sets options for linking against musl libc. All options specified are passed directly to gcc. More information: https://manned.org/musl-gcc.
  • View documentation for gcc:
    tldr gcc

docker stats

Display a live stream of resource usage statistics for containers. More information: https://docs.docker.com/engine/reference/commandline/stats/.
  • Display a live stream for the statistics of all running containers:
    docker stats
  • Display a live stream of statistics for a space-separated list of containers:
    docker stats {{container_name}}
  • Change the columns format to display container's CPU usage percentage:
    docker stats --format "{{.Name}}:\t{{.CPUPerc}}"
  • Display statistics for all containers (both running and stopped):
    docker stats --all
  • Disable streaming stats and only pull the current stats:
    docker stats --no-stream

docker tag

Assign tags to existing Docker images. More information: https://docs.docker.com/engine/reference/commandline/tag/.
  • Assign a name and tag to a specific image ID:
    docker tag {{id}} {{name}}:{{tag}}
  • Assign a tag to a specific image:
    docker tag {{image}}:{{current_tag}} {{image}}:{{new_tag}}
  • Display help:
    docker tag

ibmcloud

A command-line tool for managing IBM Cloud apps and services. More information: https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_cli.
  • Update ibmcloud to the latest version:
    ibmcloud update
  • Install the Cloud Foundry module for accessing Cloud Foundry services:
    ibmcloud cf install
  • List all available IBM Cloud regions:
    ibmcloud regions
  • Display ibmcloud version:
    ibmcloud version
  • Display help:
    ibmcloud help
  • Display help for a subcommand:
    ibmcloud help {{subcommand}}

clang

Compiler for C, C++, and Objective-C source files. Can be used as a drop-in replacement for GCC. More information: https://clang.llvm.org/docs/ClangCommandLineReference.html.
  • Compile a source code file into an executable binary:
    clang {{input_source.c}} -o {{output_executable}}
  • Activate output of all errors and warnings:
    clang {{input_source.c}} -Wall -o {{output_executable}}
  • Include libraries located at a different path than the source file:
    clang {{input_source.c}} -o {{output_executable}} -I{{header_path}} -L{{library_path}} -l{{library_name}}
  • Compile source code into LLVM Intermediate Representation (IR):
    clang -S -emit-llvm {{file.c}} -o {{file.ll}}
  • Compile source code without linking:
    clang -c {{input_source.c}}

cavif

PNG/JPEG to AVIF converter. More information: https://github.com/kornelski/cavif-rs.
  • Convert a JPEG file to AVIF:
    cavif {{path/to/file.jpg}}
  • Adjust the image quality (1-100) and convert a PNG file to AVIF:
    cavif --quality {{60}} {{path/to/file.png}}
  • Set the output location explicitly:
    cavif {{path/to/file.jpg}} --output {{path/to/file.avif}}
  • Overwrite the destination file if it already exists:
    cavif --overwrite {{path/to/file.jpg}}

tig

A text-mode interface for Git. More information: https://github.com/jonas/tig.
  • Show the sequence of commits starting from the current one in reverse chronological order:
    tig
  • Show the history of a specific branch:
    tig {{branch}}
  • Show the history of specific files or directories:
    tig {{path1 path2 ...}}
  • Show the difference between two references (such as branches or tags):
    tig {{base_ref}}..{{compared_ref}}
  • Display commits from all branches and stashes:
    tig --all
  • Start in stash view, displaying all saved stashes:
    tig stash

tslint

A pluggable linting utility for TypeScript. More information: https://palantir.github.io/tslint.
  • Create TSLint config:
    tslint --init
  • Lint on a given set of files:
    tslint {{path/to/file1.js path/to/file2.js ...}}
  • Fix lint issues:
    tslint --fix
  • Lint with the config file in the project root:
    tslint --project {{path/to/project_root}}

aws ecr

Push, pull, and manage container images. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/index.html.
  • Authenticate Docker with the default registry (username is AWS):
    aws ecr get-login-password --region {{region}} | {{docker login}} --username AWS --password-stdin {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com
  • Create a repository:
    aws ecr create-repository --repository-name {{repository}} --image-scanning-configuration scanOnPush={{true|false}} --region {{region}}
  • Tag a local image for ECR:
    docker tag {{container_name}}:{{tag}} {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com/{{container_name}}:{{tag}}
  • Push an image to a repository:
    docker push {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com/{{container_name}}:{{tag}}
  • Pull an image from a repository:
    docker pull {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com/{{container_name}}:{{tag}}
  • Delete an image from a repository:
    aws ecr batch-delete-image --repository-name {{repository}} --image-ids imageTag={{latest}}
  • Delete a repository:
    aws ecr delete-repository --repository-name {{repository}} --force
  • List images within a repository:
    aws ecr list-images --repository-name {{repository}}

scalafmt

Code formatter for Scala. Configurations are stored in the .scalafmt.conf file. More information: https://scalameta.org/scalafmt.
  • Reformat all .scala files in the current directory recursively:
    scalafmt
  • Reformat specific files or directories with a custom formatting configuration:
    scalafmt --config {{path/to/.scalafmt.conf}} {{path/to/file_or_directory}} {{path/to/file_or_directory}} {{...}}
  • Check if files are correctly formatted, returning 0 if all files respect the formatting style:
    scalafmt --config {{path/to/.scalafmt.conf}} --test
  • Exclude files or directories:
    scalafmt --exclude {{path/to/file_or_directory}} {{...}}
  • Format only files that were edited against the current Git branch:
    scalafmt --config {{path/to/.scalafmt.conf}} --mode diff

mg

A small, fast, and portable text editor based on emacs. More information: https://github.com/hboetes/mg.
  • Open a file for editing:
    mg {{path/to/file}}
  • Open a file at a specified line number:
    mg +{{line_number}} {{path/to/file}}
  • Open files in a read-only mode:
    mg -R {{path/to/file1 path/to/file2 ...}}
  • Disable ~ backup files while editing:
    mg -n {{path/to/file}}

uniq

Output the unique lines from the given input or file. Since it does not detect repeated lines unless they are adjacent, we need to sort them first. More information: https://www.gnu.org/software/coreutils/uniq.
  • Display each line once:
    sort {{path/to/file}} | uniq
  • Display only unique lines:
    sort {{path/to/file}} | uniq -u
  • Display only duplicate lines:
    sort {{path/to/file}} | uniq -d
  • Display number of occurrences of each line along with that line:
    sort {{path/to/file}} | uniq -c
  • Display number of occurrences of each line, sorted by the most frequent:
    sort {{path/to/file}} | uniq -c | sort -nr

basenc

Encode or decode file or stdin using a specified encoding, to stdout. More information: https://www.gnu.org/software/coreutils/basenc.
  • Encode a file with base64 encoding:
    basenc --base64 {{path/to/file}}
  • Decode a file with base64 encoding:
    basenc --decode --base64 {{path/to/file}}
  • Encode from stdin with base32 encoding with 42 columns:
    {{command}} | basenc --base32 -w42
  • Encode from stdin with base32 encoding:
    {{command}} | basenc --base32

jq

A command-line JSON processor that uses a domain-specific language. More information: https://stedolan.github.io/jq/manual/.
  • Execute a specific expression (print a colored and formatted json):
    {{cat path/to/file.json}} | jq '.'
  • Execute a specific script:
    {{cat path/to/file.json}} | jq --from-file {{path/to/script.jq}}
  • Pass specific arguments:
    {{cat path/to/file.json}} | jq {{--arg "name1" "value1" --arg "name2" "value2" ...}} '{{. + $ARGS.named}}'
  • Print specific keys:
    {{cat path/to/file.json}} | jq '{{.key1, .key2, ...}}'
  • Print specific array items:
    {{cat path/to/file.json}} | jq '{{.[index1], .[index2], ...}}'
  • Print all array items/object keys:
    {{cat path/to/file.json}} | jq '.[]'
  • Add/remove specific keys:
    {{cat path/to/file.json}} | jq '. {{+|-}} {{{"key1": "value1", "key2": "value2", ...}}}'

git for-each-repo

Run a Git command on a list of repositories. Note: this command is experimental and may change. More information: https://git-scm.com/docs/git-for-each-repo.
  • Run maintenance on each of a list of repositories stored in the maintenance.repo user configuration variable:
    git for-each-repo --config={{maintenance.repo}} {{maintenance run}}
  • Run git pull on each repository listed in a global configuration variable:
    git for-each-repo --config={{global_configuration_variable}} {{pull}}

mix

Mix is a build tool that provides tasks for creating, compiling, and testing Elixir projects, managing its dependencies, and more. More information: https://hexdocs.pm/mix.
  • Execute a particular file:
    mix run {{my_script.exs}}
  • Create a new project:
    mix new {{project_name}}
  • Compile project:
    mix compile
  • Run project tests:
    mix test
  • List all mix commands:
    mix help

git reset

Undo commits or unstage changes, by resetting the current Git HEAD to the specified state. If a path is passed, it works as "unstage"; if a commit hash or branch is passed, it works as "uncommit". More information: https://git-scm.com/docs/git-reset.
  • Unstage everything:
    git reset
  • Unstage specific file(s):
    git reset {{path/to/file1 path/to/file2 ...}}
  • Interactively unstage portions of a file:
    git reset --patch {{path/to/file}}
  • Undo the last commit, keeping its changes (and any further uncommitted changes) in the filesystem:
    git reset HEAD~
  • Undo the last two commits, adding their changes to the index, i.e. staged for commit:
    git reset --soft HEAD~2
  • Discard any uncommitted changes, staged or not (for only unstaged changes, use git checkout):
    git reset --hard
  • Reset the repository to a given commit, discarding committed, staged and uncommitted changes since then:
    git reset --hard {{commit}}

glab issue

Manage GitLab issues. More information: https://glab.readthedocs.io/en/latest/issue.
  • Display a specific issue:
    glab issue view {{issue_number}}
  • Display a specific issue in the default web browser:
    glab issue view {{issue_number}} --web
  • Create a new issue in the default web browser:
    glab issue create --web
  • List the last 10 issues with the bug label:
    glab issue list --per-page {{10}} --label "{{bug}}"
  • List closed issues made by a specific user:
    glab issue list --closed --author {{username}}
  • Reopen a specific issue:
    glab issue reopen {{issue_number}}

gpgconf

Modify .gnupg home directories. More information: https://www.gnupg.org/documentation/manuals/gnupg/gpgconf.html.
  • List all components:
    gpgconf --list-components
  • List the directories used by gpgconf:
    gpgconf --list-dirs
  • List all options of a component:
    gpgconf --list-options {{component}}
  • List programs and test whether they are runnable:
    gpgconf --check-programs
  • Reload a component:
    gpgconf --reload {{component}}

pio

Development environment for embedded boards. Some subcommands such as pio run have their own usage documentation. More information: https://docs.platformio.org/en/latest/core/userguide/.
  • Show help and list subcommands:
    pio --help
  • Print the version number and exit:
    pio --version
  • Show help for a specific subcommand:
    pio {{subcommand}} --help

openconnect

A VPN client, for Cisco AnyConnect VPNs and others. More information: https://www.infradead.org/openconnect/manual.html.
  • Connect to a server:
    openconnect {{vpn.example.org}}
  • Connect to a server, forking into the background:
    openconnect --background {{vpn.example.org}}
  • Terminate the connection that is running in the background:
    killall -SIGINT openconnect
  • Connect to a server, reading options from a config file:
    openconnect --config={{path/to/file}} {{vpn.example.org}}
  • Connect to a server and authenticate with a specific SSL client certificate:
    openconnect --certificate={{path/to/file}} {{vpn.example.org}}

psysh

A runtime developer console, interactive debugger and REPL for PHP. More information: https://psysh.org.
  • Open a shell in the current directory:
    psysh
  • Open a shell in a specific directory:
    psysh --cwd {{path/to/directory}}
  • Use a specific configuration file:
    psysh --config {{path/to/file}}

pueue reset

Kill everything and reset. More information: https://github.com/Nukesor/pueue.
  • Kill all tasks and remove everything (logs, status, groups, task IDs):
    pueue reset
  • Kill all tasks, terminate their children, and reset everything:
    pueue reset --children
  • Reset without asking for confirmation:
    pueue reset --force

bosh

Command-line tool to deploy and manage the bosh director. More information: https://bosh.io/docs/cli-v2/.
  • Create local alias for director:
    bosh alias-env {{environment_name}} -e {{ip_address|url}} --ca-cert {{ca_certificate}}
  • List environments:
    bosh environments
  • Log in to the director:
    bosh login -e {{environment}}
  • List deployments:
    bosh -e {{environment}} deployments
  • List environment virtual machines:
    bosh -e {{environment}} vms -d {{deployment}}
  • Ssh into virtual machine:
    bosh -e {{environment}} ssh {{virtual_machine}} -d {{deployment}}
  • Upload stemcell:
    bosh -e {{environment}} upload-stemcell {{stemcell_file|url}}
  • Show current cloud config:
    bosh -e {{environment}} cloud-config

glab mr create

Manage GitLab merge requests. More information: https://glab.readthedocs.io/en/latest/mr/create.html.
  • Interactively create a merge request:
    glab mr create
  • Create a merge request, determining the title and description from the commit messages of the current branch:
    glab mr create --fill
  • Create a draft merge request:
    glab mr create --draft
  • Create a merge request specifying the target branch, title, and description:
    glab mr create --target-branch {{target_branch}} --title "{{title}}" --description "{{description}}"
  • Start opening a merge request in the default web browser:
    glab mr create --web

varnishlog

Display Varnish logs. More information: https://varnish-cache.org/docs/trunk/reference/varnishlog.html.
  • Display logs in real time:
    varnishlog
  • Only display requests to a specific domain:
    varnishlog -q 'ReqHeader eq "Host: {{example.com}}"'
  • Only display POST requests:
    varnishlog -q 'ReqMethod eq "{{POST}}"'
  • Only display requests to a specific path:
    varnishlog -q 'ReqURL eq "{{/path}}"'
  • Only display requests to paths matching a regular expression:
    varnishlog -q 'ReqURL ~ "{{regex}}"'

go test

Tests Go packages (files have to end with _test.go). More information: https://golang.org/cmd/go/#hdr-Testing_flags.
  • Test the package found in the current directory:
    go test
  • [v]erbosely test the package in the current directory:
    go test -v
  • Test the packages in the current directory and all subdirectories (note the ...):
    go test -v ./...
  • Test the package in the current directory and run all benchmarks:
    go test -v -bench .
  • Test the package in the current directory and run all benchmarks for 50 seconds:
    go test -v -bench . -benchtime {{50s}}
  • Test the package with coverage analysis:
    go test -cover

xgettext

Extract gettext strings from code files. More information: https://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html.
  • Scan file and output strings to messages.po:
    xgettext {{path/to/input_file}}
  • Use a different output filename:
    xgettext --output {{path/to/output_file}} {{path/to/input_file}}
  • Append new strings to an existing file:
    xgettext --join-existing --output {{path/to/output_file}} {{path/to/input_file}}
  • Don't add a header containing metadata to the output file:
    xgettext --omit-header {{path/to/input_file}}

ab

Apache HTTP server benchmarking tool. More information: https://httpd.apache.org/docs/current/programs/ab.html.
  • Execute 100 HTTP GET requests to a given URL:
    ab -n {{100}} {{url}}
  • Execute 100 HTTP GET requests, in concurrent batches of 10, to a URL:
    ab -n {{100}} -c {{10}} {{url}}
  • Execute 100 HTTP POST requests to a URL, using a JSON payload from a file:
    ab -n {{100}} -T {{application/json}} -p {{path/to/file.json}} {{url}}
  • Use HTTP [K]eep Alive, i.e. perform multiple requests within one HTTP session:
    ab -k {{url}}
  • Set the maximum number of seconds to spend for benchmarking:
    ab -t {{60}} {{url}}

chmod

Change the access permissions of a file or directory. More information: https://www.gnu.org/software/coreutils/chmod.
  • Give the [u]ser who owns a file the right to e[x]ecute it:
    chmod u+x {{path/to/file}}
  • Give the [u]ser rights to [r]ead and [w]rite to a file/directory:
    chmod u+rw {{path/to/file_or_directory}}
  • Remove e[x]ecutable rights from the [g]roup:
    chmod g-x {{path/to/file}}
  • Give [a]ll users rights to [r]ead and e[x]ecute:
    chmod a+rx {{path/to/file}}
  • Give [o]thers (not in the file owner's group) the same rights as the [g]roup:
    chmod o=g {{path/to/file}}
  • Remove all rights from [o]thers:
    chmod o= {{path/to/file}}
  • Change permissions recursively giving [g]roup and [o]thers the ability to [w]rite:
    chmod -R g+w,o+w {{path/to/directory}}
  • Recursively give [a]ll users [r]ead permissions to files and e[X]ecute permissions to sub-directories within a directory:
    chmod -R a+rX {{path/to/directory}}

xml

XMLStarlet Toolkit: Query, edit, check, convert and transform XML documents. This command also has documentation about its subcommands, e.g. xml validate. More information: http://xmlstar.sourceforge.net/docs.php.
  • Display general help, including the list of subcommands:
    xml --help
  • Execute a subcommand with input from a file or URI, printing to stdout:
    xml {{subcommand}} {{options}} {{path/to/input.xml|URI}}
  • Execute a subcommand using stdin and stdout:
    xml {{subcommand}} {{options}}
  • Execute a subcommand with input from a file or URI and output to a file:
    xml {{subcommand}} {{options}} {{path/to/input.xml|URI}} > {{path/to/output}}
  • Display help for a subcommand:
    xml {{subcommand}} --help
  • Display the version of the XMLStarlet Toolkit:
    xml --version

gxl2gv

Convert a graph from gxl to gv format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/gxl2gv.1.pdf.
  • Convert a graph from gxl to gv format:
    gxl2gv -o {{output.gv}} {{input.gxl}}
  • Convert a graph using stdin and stdout:
    cat {{input.gxl}} | gxl2gv > {{output.gv}}
  • Display help:
    gxl2gv -?

pdfjam

Shell frontend for the LaTeX pdfpages package for mingling PDFs. More information: https://github.com/rrthomas/pdfjam.
  • Merge two (or more) PDFs:
    pdfjam {{path/to/file1.pdf}} {{path/to/file2.pdf}} --outfile {{path/to/output_file.pdf}}
  • Merge the first page of each file together:
    pdfjam {{files...}} 1 --outfile {{path/to/output_file.pdf}}
  • Merge subranges from two PDFs:
    pdfjam {{path/to/file1.pdf 3-5,1}} {{path/to/file2.pdf 4-6}} --outfile {{path/to/output_file.pdf}}
  • Sign an A4 page (adjust delta to height for other formats) with a scanned signature by overlaying them:
    pdfjam {{path/to/file.pdf}} {{path/to/signature}} --fitpaper true --outfile {{path/to/signed.pdf}} --nup "{{1x2}}" --delta "{{0 -842pt}}"
  • Arrange the pages from the input file into a fancy 2x2 grid:
    pdfjam {{path/to/file.pdf}} --nup {{2x2}} --suffix {{4up}} --preamble '{{\usepackage{fancyhdr} \pagestyle{fancy}}}'
  • Reverse the order of pages within each given file and concatenate them:
    pdfjam {{files...}} {{last-1}} --suffix {{reversed}}

avrdude

Driver program for Atmel AVR microcontrollers programming. More information: https://www.nongnu.org/avrdude/.
  • Read AVR microcontroller:
    avrdude -p {{AVR_device}} -c {{programmer}} -U flash:r:{{file.hex}}:i
  • Write AVR microcontroller:
    avrdude -p {{AVR_device}} -c {{programmer}} -U flash:w:{{file.hex}}
  • List available AVR devices:
    avrdude -p \?
  • List available AVR programmers:
    avrdude -c \?

last

View the last logged in users. More information: https://manned.org/last.
  • View last logins, their duration and other information as read from /var/log/wtmp:
    last
  • Specify how many of the last logins to show:
    last -n {{login_count}}
  • Print the full date and time for entries and then display the hostname column last to prevent truncation:
    last -F -a
  • View all logins by a specific user and show the IP address instead of the hostname:
    last {{username}} -i
  • View all recorded reboots (i.e., the last logins of the pseudo user "reboot"):
    last reboot
  • View all recorded shutdowns (i.e., the last logins of the pseudo user "shutdown"):
    last shutdown

xkcdpass

A flexible and scriptable password generator which generates strong passphrases. Inspired by XKCD 936. More information: https://github.com/redacted/XKCD-password-generator.
  • Generate one passphrase with the default options:
    xkcdpass
  • Generate one passphrase whose first letters of each word match the provided argument:
    xkcdpass -a {{acrostic}}
  • Generate passwords interactively:
    xkcdpass -i

musescore

MuseScore 3 sheet music editor. More information: https://musescore.org/en/handbook/3/command-line-options.
  • Use a specific audio driver:
    musescore --audio-driver {{jack|alsa|portaudio|pulse}}
  • Set the MP3 output bitrate in kbit/s:
    musescore --bitrate {{bitrate}}
  • Start MuseScore in debug mode:
    musescore --debug
  • Enable experimental features, such as layers:
    musescore --experimental
  • Export the given file to the specified output file. The file type depends on the given extension:
    musescore --export-to {{output_file}} {{input_file}}
  • Print a diff between the given scores:
    musescore --diff {{path/to/file1}} {{path/to/file2}}
  • Specify a MIDI import operations file:
    musescore --midi-operations {{path/to/file}}

kustomize

Kustomize is a tool to easily deploy resources for Kubernetes. More information: https://github.com/kubernetes-sigs/kustomize.
  • Create kustomization file with resources and namespace:
    kustomize create --resources {{deployment.yaml,service.yaml}} --namespace {{staging}}
  • Build kustomization file and deploy it with kubectl:
    kustomize build . | kubectl apply -f -
  • Set an image in the kustomization file:
    kustomize edit set image {{busybox=alpine:3.6}}
  • Search for Kubernetes resources in the current directory to be added to the kustomization file:
    kustomize create --autodetect

mongoexport

Produce exports of data stored in a MongoDB instance formatted as JSON or CSV. More information: https://docs.mongodb.com/database-tools/mongoexport/.
  • Export a collection to stdout, formatted as JSON:
    mongoexport --uri={{connection_string}} --collection={{collection_name}}
  • Export the documents in the specified collection that match a query to a JSON file:
    mongoexport --db={{database_name}} --collection={{collection_name}} --query="{{query_object}}" --out={{path/to/file.json}}
  • Export documents as a JSON array instead of one object per line:
    mongoexport --collection={{collection_name}} --jsonArray
  • Export documents to a CSV file:
    mongoexport --collection={{collection_name}} --type={{csv}} --fields="{{field1,field2,...}}" --out={{path/to/file.csv}}
  • Export documents that match the query in the specified file to a CSV file, omitting the list of field names on the first line:
    mongoexport --collection={{collection_name}} --type={{csv}} --fields="{{field1,field2,...}}" --queryFile={{path/to/file}} --noHeaderLine --out={{path/to/file.csv}}
  • Export documents to stdout, formatted as human-readable JSON:
    mongoexport --uri={{mongodb_uri}} --collection={{collection_name}} --pretty
  • Display help:
    mongoexport --help

mu

Index and search emails from a local Maildir. More information: https://man.cx/mu.
  • Initialize the email database, optionally specifying the Maildir directory and email addresses:
    mu init --maildir={{path/to/directory}} --my-address={{[email protected]}}
  • Index new emails:
    mu index
  • Find messages using a specific keyword (in message body, subject, sender, ...):
    mu find {{keyword}}
  • Find messages to Alice with subject jellyfish containing the words apples or oranges:
    mu find to:{{alice}} subject:{{jellyfish}} {{apples}} OR {{oranges}}
  • Find unread messages about words starting with soc (the * only works at the end of the search term) in the Sent Items folder:
    mu find 'subject:{{soc}}*' flag:{{unread}} maildir:'/{{Sent Items}}'
  • Find messages from Sam with attached images, between 2 KiB and 2 MiB, written in 2021:
    mu find 'mime:{{image/*}} size:{{2k..2m}} date:{{20210101..20211231}} from:{{sam}}
  • List contacts with Bob in either name or email address:
    mu cfind {{Bob}}

gst-launch-1.0

Build and run a GStreamer pipeline. More information: https://gstreamer.freedesktop.org/documentation/tools/gst-launch.html?gi-language=c.
  • Play test video in a window:
    gst-launch-1.0 videotestsrc ! xvimagesink
  • Play a media file in a window:
    gst-launch-1.0 playbin uri={{protocol}}://{{host}}/{{path/to/file}}
  • Re-encode a media file:
    gst-launch-1.0 filesrc location={{path/to/file}} ! {{file_type}}demux ! {{codec_type}}dec ! {{codec_type}}enc ! {{file_type}}mux ! filesink location={{path/to/file}}
  • Stream a file to an RTSP server:
    gst-launch-1.0 filesrc location={{path/to/file}} ! rtspclientsink location=rtsp://{{host_IP}}/{{path/to/file}}

rich

A toolbox for fancy output in the terminal. More information: https://github.com/Textualize/rich-cli.
  • Display a file with syntax highlighting:
    rich {{path/to/file.py}}
  • Add line numbers, and indentation guides:
    rich {{path/to/file.py}} --line-number --guides
  • Apply a theme:
    rich {{path/to/file.py}} --theme {{monokai}}
  • Display a file in an interactive pager:
    rich {{path/to/file.py}} --pager
  • Display contents from a URL:
    rich {{https://raw.githubusercontent.com/Textualize/rich-cli/main/README.md}} --markdown --pager
  • Export a file as HTML:
    rich {{path/to/file.md}} --export-html {{path/to/file.html}}
  • Display text with formatting tags, custom alignment, and line width:
    rich --print {{"Hello [green on black]Stylized[/green on black] [bold]World[/bold]"}} --{{left|center|right}} --width {{10}}


xev

Print contents of X events. More information: https://gitlab.freedesktop.org/xorg/app/xev.
  • Monitor all occurring X events:
    xev
  • Monitor all X events of the root window instead of creating a new one:
    xev -root
  • Monitor all X events of a particular window:
    xev -id {{window_id}}
  • Monitor X events from a given category (can be specified multiple times):
    xev -event {{event_category}}

aws sts

Security Token Service (STS) allows to request temporary credentials for (IAM) users or federated users. More information: https://docs.aws.amazon.com/cli/latest/reference/sts/.
  • Get temporary security credentials to access specific AWS resources:
    aws sts assume-role --role-arn {{aws_role_arn}}
  • Get an IAM user or role whose credentials are used to call the operation:
    aws sts get-caller-identity

virsh-connect

Connect to a virtual machine hypervisor. See also: virsh. More information: https://manned.org/virsh.
  • Connect to the default hypervisor:
    virsh connect
  • Connect as root to the local QEMU/KVM hypervisor:
    virsh connect qemu:///system
  • Launch a new instance of the hypervisor and connect to it as the local user:
    virsh connect qemu:///session
  • Connect as root to a remote hypervisor using ssh:
    virsh connect qemu+ssh://{{user_name@host_name}}/system

ncc

Compile a Node.js application into a single file. Supports TypeScript, binary addons and dynamic requires. More information: https://github.com/vercel/ncc.
  • Bundle a Node.js application:
    ncc build {{path/to/file.js}}
  • Bundle and minify a Node.js application:
    ncc build --minify {{path/to/file.js}}
  • Bundle and minify a Node.js application and generate source maps:
    ncc build --source-map {{path/to/file.js}}
  • Automatically recompile on changes to source files:
    ncc build --watch {{path/to/file.js}}
  • Bundle a Node.js application into a temporary directory and run it for testing:
    ncc run {{path/to/file.js}}
  • Clean the ncc cache:
    ncc clean cache

duckdb

Command-line client for DuckDB, an in-process analytical SQL engine. More information: https://duckdb.org.
  • Start an interactive shell with a transient in-memory database:
    duckdb
  • Start an interactive shell on a database file. If the file does not exist, a new database is created:
    duckdb {{path/to/dbfile}}
  • Directly query a CSV, JSON, or Parquet file:
    duckdb -c "{{SELECT * FROM 'data_source.[csv|csv.gz|json|json.gz|parquet]'}}"
  • Run a SQL script:
    duckdb -c ".read {{path/to/script.sql}}"
  • Run query on database file and keep the interactive shell open:
    duckdb {{path/to/dbfile}} -cmd "{{SELECT DISTINCT * FROM tbl}}"
  • Run SQL queries in file on database and keep the interactive shell open:
    duckdb {{path/to/dbfile}} -init {{path/to/script.sql}}
  • Read CSV from stdin and write CSV to stdout:
    cat {{path/to/source.csv}} | duckdb -c "{{COPY (FROM read_csv_auto('/dev/stdin')) TO '/dev/stdout' WITH (FORMAT CSV, HEADER)}}"
  • Display help:
    duckdb -help

transmission-daemon

Daemon controlled with transmission-remote or its web interface. See also: transmission. More information: https://manned.org/transmission-daemon.
  • Start a headless transmission session:
    transmission-daemon
  • Start and watch a specific directory for new torrents:
    transmission-daemon --watch-dir {{path/to/directory}}
  • Dump daemon settings in JSON format:
    transmission-daemon --dump-settings > {{path/to/file.json}}
  • Start with specific settings for the web interface:
    transmission-daemon --auth --username {{username}} --password {{password}} --port {{9091}} --allowed {{127.0.0.1}}

axel

Download accelerator. Supports HTTP, HTTPS, and FTP. More information: https://github.com/axel-download-accelerator/axel.
  • Download a URL to a file:
    axel {{url}}
  • Download and specify filename:
    axel {{url}} -o {{path/to/file}}
  • Download with multiple connections:
    axel -n {{connections_num}} {{url}}
  • Search for mirrors:
    axel -S {{mirrors_num}} {{url}}
  • Limit download speed (bytes per second):
    axel -s {{speed}} {{url}}

streamlink

Extracts streams from various services and pipes them into a video player of choice. More information: https://streamlink.github.io.
  • Attempt to extract streams from the URL specified, and if it's successful, print out a list of available streams to choose from:
    streamlink {{example.com/stream}}
  • Open a stream with the specified quality:
    streamlink {{example.com/stream}} {{720p60}}
  • Select the highest or lowest available quality:
    streamlink {{example.com/stream}} {{best|worst}}
  • Specify which player to use to feed stream data to (VLC is used by default if found):
    streamlink --player={{mpv}} {{example.com/stream}} {{best}}
  • Specify the amount of time to skip from the beginning of the stream. For live streams, this is a negative offset from the end of the stream (rewind):
    streamlink --hls-start-offset {{[HH:]MM:SS}} {{example.com/stream}} {{best}}
  • Skip to the beginning of a live stream, or as far back as possible:
    streamlink --hls-live-restart {{example.com/stream}} {{best}}
  • Write stream data to a file instead of playing it:
    streamlink --output {{path/to/file.ts}} {{example.com/stream}} {{best}}
  • Open the stream in the player, while at the same time writing it to a file:
    streamlink --record {{path/to/file.ts}} {{example.com/stream}} {{best}}

fisher

Fisher, a fish-shell plugin manager. Install plugins by name or from a managed 'fishfile' for bundled installs. More information: https://github.com/jorgebucaran/fisher.
  • Install one or more plugins:
    fisher {{plugin1}} {{plugin2}}
  • Install a plugin from a GitHub gist:
    fisher {{gist_url}}
  • Edit 'fishfile' manually with your favorite editor and install multiple plugins:
    {{editor}} ~/.config/fish/fishfile; fisher
  • List installed plugins:
    fisher ls
  • Update plugins:
    fisher update
  • Remove one or more plugins:
    fisher remove {{plugin1}} {{plugin2}}

patch

Patch a file (or files) with a diff file. Note that diff files should be generated by the diff command. More information: https://manned.org/patch.
  • Apply a patch using a diff file (filenames must be included in the diff file):
    patch < {{patch.diff}}
  • Apply a patch to a specific file:
    patch {{path/to/file}} < {{patch.diff}}
  • Patch a file writing the result to a different file:
    patch {{path/to/input_file}} -o {{path/to/output_file}} < {{patch.diff}}
  • Apply a patch to the current directory:
    patch -p1 < {{patch.diff}}
  • Apply the reverse of a patch:
    patch -R < {{patch.diff}}

unzip

Extract files/directories from ZIP archives. See also: zip. More information: https://manned.org/unzip.
  • Extract all files/directories from specific archives into the current directory:
    unzip {{path/to/archive1.zip path/to/archive2.zip ...}}
  • Extract files/directories from archives to a specific path:
    unzip {{path/to/archive1.zip path/to/archive2.zip ...}} -d {{path/to/output}}
  • Extract files/directories from archives to stdout:
    unzip -c {{path/to/archive1.zip path/to/archive2.zip ...}}
  • Extract the contents of the file(s) to stdout alongside the extracted file names:
    unzip -O {{gbk}} {{path/to/archive1.zip path/to/archive2.zip ...}}
  • List the contents of a specific archive without extracting them:
    unzip -l {{path/to/archive.zip}}
  • Extract a specific file from an archive:
    unzip -j {{path/to/archive.zip}} {{path/to/file_in_archive1 path/to/file_in_archive2 ...}}

apg

Creates arbitrarily complex random passwords. More information: https://manned.org/apg.
  • Create random passwords (default password length is 8):
    apg
  • Create a password with at least 1 symbol (S), 1 number (N), 1 uppercase (C), 1 lowercase (L):
    apg -M SNCL
  • Create a password with 16 characters:
    apg -m {{16}}
  • Create a password with maximum length of 16:
    apg -x {{16}}
  • Create a password that doesn't appear in a dictionary (the dictionary file has to be provided):
    apg -r {{path/to/dictionary_file}}

pinky

Print user information using the finger protocol. More information: https://manned.org/pinky.
  • Display details about the current user:
    pinky
  • Display details for a specific user:
    pinky {{user}}
  • Display details in the long format:
    pinky {{user}} -l
  • Omit the user's home directory and shell in long format:
    pinky {{user}} -lb
  • Omit the user's project file in long format:
    pinky {{user}} -lh
  • Omit the column headings in short format:
    pinky {{user}} -f

pr

Paginate or columnate files for printing. More information: https://www.gnu.org/software/coreutils/pr.
  • Print multiple files with a default header and footer:
    pr {{file1}} {{file2}} {{file3}}
  • Print with a custom centered header:
    pr -h "{{header}}" {{file1}} {{file2}} {{file3}}
  • Print with numbered lines and a custom date format:
    pr -n -D "{{format}}" {{file1}} {{file2}} {{file3}}
  • Print all files together, one in each column, without a header or footer:
    pr -m -T {{file1}} {{file2}} {{file3}}
  • Print, beginning at page 2 up to page 5, with a given page length (including header and footer):
    pr +{{2}}:{{5}} -l {{page_length}} {{file1}} {{file2}} {{file3}}
  • Print with an offset for each line and a truncating custom page width:
    pr -o {{offset}} -W {{width}} {{file1}} {{file2}} {{file3}}

expose

An open source tunnel application for sharing websites. More information: https://beyondco.de/docs/expose.
  • Register your authentication token:
    expose token {{token}}
  • Share the current working directory:
    expose
  • Share the current working directory with a specific subdomain:
    expose --subdomain={{subdomain}}
  • Share a local URL:
    expose share {{url}}
  • Run the Expose server:
    expose serve
  • Run the Expose server with a specific hostname:
    expose serve {{hostname}}


mixxx

Free and open source cross-platform DJ software. More information: https://mixxx.org/manual/latest/chapters/appendix.html#command-line-options.
  • Start the Mixxx GUI in fullscreen:
    mixxx --fullScreen
  • Start in safe developer mode to debug a crash:
    mixxx --developer --safeMode
  • Debug a malfunction:
    mixxx --debugAssertBreak --developer --loglevel trace
  • Start Mixxx using the specified settings file:
    mixxx --resourcePath {{mixxx/res/controllers}} --settingsPath {{path/to/settings-file}}
  • Debug a custom controller mapping:
    mixxx --controllerDebug --resourcePath {{path/to/mapping-directory}}
  • Show command-line help:
    mixxx --help

nl

A utility for numbering lines, either from a file, or from stdin. More information: https://www.gnu.org/software/coreutils/nl.
  • Number non-blank lines in a file:
    nl {{path/to/file}}
  • Read from stdout:
    cat {{path/to/file}} | nl {{options}} -
  • Number only the lines with printable text:
    nl -t {{path/to/file}}
  • Number all lines including blank lines:
    nl -b a {{path/to/file}}
  • Number only the body lines that match a basic regular expression (BRE) pattern:
    nl -b p'FooBar[0-9]' {{path/to/file}}


gv2gxl

Convert a graph from gv to gxl format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/gxl2gv.1.pdf.
  • Convert a graph from gv to gxl format:
    gv2gxl -o {{output.gxl}} {{input.gv}}
  • Convert a graph using stdin and stdout:
    cat {{input.gv}} | gv2gxl > {{output.gxl}}
  • Display help:
    gv2gxl -?

ned

Is like grep but with powerful replace capabilities. Unlike sed, as it isn't restricted to line oriented editing. More information: https://github.com/nevdelap/ned.
  • Recursively search starting in the current directory, ignoring case:
    ned --ignore-case --recursive '{{^[dl]og}}' {{.}}
  • Search always showing colored output:
    ned --colors '{{^[dl]og}}' {{.}}
  • Search never showing colored output:
    ned --colors=never '{{^[dl]og}}' {{.}}
  • Search ignoring certain files:
    ned --recursive --exclude '{{*.htm}}' '{{^[dl]og}}' {{.}}
  • Simple replace:
    ned '{{dog}}' --replace '{{cat}}' {{.}}
  • Replace using numbered group references:
    ned '{{the ([a-z]+) dog and the ([a-z]+) dog}}' --replace '{{the $2 dog and the $1 dog}}' {{.}}
  • Replace changing case:
    ned '{{([a-z]+) dog}}' --case-replacements --replace '{{\U$1\E! dog}}' --stdout {{.}}
  • Preview results of a find and replace without updating the target files:
    ned '{{^[sb]ad}}' --replace '{{happy}}' --stdout {{.}}

hledger

A plain text accounting software for the command-line. More information: https://hledger.org.
  • Add transactions to your journal interactively:
    hledger add
  • Show the account hierarchy, using a specific journal file:
    hledger --file {{path/to/file.journal}} accounts --tree
  • Show a monthly income statement:
    hledger incomestatement --monthly --depth 2
  • Print the amount of cash spent on food:
    hledger print assets:cash | hledger -f- -I balance expenses:food --depth 2

which

Locate a program in the user's path. More information: https://manned.org/which.
  • Search the PATH environment variable and display the location of any matching executables:
    which {{executable}}
  • If there are multiple executables which match, display all:
    which -a {{executable}}

doctl account

Retrieve information about Digital Ocean accounts. More information: https://docs.digitalocean.com/reference/doctl/reference/account/.
  • Display account info:
    doctl account get
  • Show the hourly API limit, progress towards it, and when the rate limit resets:
    doctl account ratelimit
  • Display help:
    doctl account --help

az vm

Manage virtual machines in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/vm.
  • List details of available Virtual Machines:
    az vm list
  • Create a virtual machine using the default Ubuntu image and generate ssh keys:
    az vm create --resource-group {{rg}} --name {{vm_name}} --image {{UbuntuLTS}} --admin-user {{azureuser}} --generate-ssh-keys
  • Stop a Virtual Machine:
    az vm stop --resource-group {{rg}} --name {{vm_name}}
  • Deallocate a Virtual Machine:
    az vm deallocate --resource-group {{rg}} --name {{vm_name}}
  • Start a Virtual Machine:
    az vm start --resource-group {{rg}} --name {{vm_name}}
  • Restart a Virtual Machine:
    az vm restart --resource-group {{rg}} --name {{vm_name}}
  • List VM images available in the Azure Marketplace:
    az vm image list


git blame

Show commit hash and last author on each line of a file. More information: https://git-scm.com/docs/git-blame.
  • Print file with author name and commit hash on each line:
    git blame {{path/to/file}}
  • Print file with author email and commit hash on each line:
    git blame -e {{path/to/file}}
  • Print file with author name and commit hash on each line at a specific commit:
    git blame {{commit}} {{path/to/file}}
  • Print file with author name and commit hash on each line before a specific commit:
    git blame {{commit}}~ {{path/to/file}}

aria2

This command is an alias of aria2c.
  • View documentation for the updated command:
    tldr aria2c

glib-compile-resources

Compiles resource files (e.g. images) into a binary resource bundle. These may be linked into GTK applications using the GResource API. More information: https://manned.org/glib-compile-resources.
  • Compile resources referenced in file.gresource.xml to a .gresource binary:
    glib-compile-resources {{file.gresource.xml}}
  • Compile resources referenced in file.gresource.xml to a C source file:
    glib-compile-resources --generate-source {{file.gresource.xml}}
  • Compile resources in file.gresource.xml to a chosen target file, with .c, .h or .gresource extension:
    glib-compile-resources --generate --target={{file.ext}} {{file.gresource.xml}}
  • Print a list of resource files referenced in file.gresource.xml:
    glib-compile-resources --generate-dependencies {{file.gresource.xml}}

go vet

Check Go source code and report suspicious constructs (e.g. lint your Go source files). Go vet returns a non-zero exit code if problems are found; returns a zero exit code if no problems are found. More information: https://pkg.go.dev/cmd/vet.
  • Check the Go package in the current directory:
    go vet
  • Check the Go package in the specified path:
    go vet {{path/to/file_or_directory}}
  • List available checks that can be run with go vet:
    go tool vet help
  • View details and flags for a particular check:
    go tool vet help {{check_name}}
  • Display offending lines plus N lines of surrounding context:
    go vet -c={{N}}
  • Output analysis and errors in JSON format:
    go vet -json

linode-cli volumes

Manage Linode Volumes. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/block-storage-volumes/.
  • List current Volumnes:
    linode-cli volumes list
  • Create a new Volume and attach it to a specific Linode:
    linode-cli volumes create --label {{volume_label}} --size {{size_in_GB}} --linode-id {{linode_id}}
  • Attach a Volume to a specific Linode:
    linode-cli volumes attach {{volume_id}} --linode-id {{linode_id}}
  • Detach a Volume from a Linode:
    linode-cli volumes detach {{volume_id}}
  • Resize a Volume (Note: size can only be increased):
    linode-cli volumes resize {{volume_id}} --size {{new_size_in_GB}}
  • Delete a Volume:
    linode-cli volumes delete {{volume_id}}

errno

Look up errno names and descriptions. More information: https://joeyh.name/code/moreutils/.
  • Lookup errno description by name or code:
    errno {{name|code}}
  • List all errno names, codes, and descriptions:
    errno --list
  • Search for code whose description contains all of the given text:
    errno --search {{text}}
  • Search for code whose description contains all of the given text (all locales):
    errno --search-all-locales {{text}}

consul-kv

Distributed key-value store with health checking and service discovery. More information: https://learn.hashicorp.com/consul/getting-started/kv.
  • Read a value from the key-value store:
    consul kv get {{key}}
  • Store a new key-value pair:
    consul kv put {{key}} {{value}}
  • Delete a key-value pair:
    consul kv delete {{key}}

jar

Java applications/libraries packager. More information: https://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html.
  • Recursively archive all files in the current directory into a .jar file:
    jar cf {{file.jar}} *
  • Unzip .jar/.war file to the current directory:
    jar -xvf {{file.jar}}
  • List a .jar/.war file content:
    jar tf {{path/to/file.jar}}
  • List a .jar/.war file content with verbose output:
    jar tvf {{path/to/file.jar}}

ybacklight

Manage screen backlight brightness. See also xbacklight. More information: https://github.com/pixelcmtd/ybacklight.
  • Print current brightness and maximal brightness, shortened and separated by a slash:
    ybacklight Sc/Sm
  • Set the brightness to 420:
    ybacklight s{{420}}
  • Increase the brightness by 42 big steps (4200 by default):
    ybacklight Si{{42}}
  • Decrease the brightness by 300:
    ybacklight d{{300}}

ptpython3

This command is an alias of ptpython.
  • View documentation for the original command:
    tldr ptpython

git repack

Pack unpacked objects in a Git repository. More information: https://git-scm.com/docs/git-repack.
  • Pack unpacked objects in the current directory:
    git repack
  • Also remove redundant objects after packing:
    git repack -d

light-arionum-cli

The PHP light wallet for the Arionum cryptocurrency. More information: https://github.com/arionum/lightWalletCLI.
  • Generate a new public/private key pair:
    light-arionum-cli
  • Display the balance of the current address:
    light-arionum-cli balance
  • Display the balance of the specified address:
    light-arionum-cli balance {{address}}
  • Send a transaction with an optional message:
    light-arionum-cli send {{address}} {{value}} {{optional_message}}
  • Export the current wallet information:
    light-arionum-cli export
  • Display information about the current block:
    light-arionum-cli block
  • Display information about the current address' transactions:
    light-arionum-cli transactions
  • Display information about a specific transaction:
    light-arionum-cli transaction {{transaction_id}}

aws-vault

A vault for securely storing and accessing AWS credentials in development environments. More information: https://github.com/99designs/aws-vault.
  • Add credentials to the secure keystore:
    aws-vault add {{profile}}
  • Execute a command with AWS credentials in the environment:
    aws-vault exec {{profile}} -- {{aws s3 ls}}
  • Open a browser window and login to the AWS Console:
    aws-vault login {{profile}}
  • List profiles, along with their credentials and sessions:
    aws-vault list
  • Rotate AWS credentials:
    aws-vault rotate {{profile}}
  • Remove credentials from the secure keystore:
    aws-vault remove {{profile}}

ripgrep

ripgrep is the common name for the command rg.
  • View documentation for the original command:
    tldr rg

smartctl

Monitor disk health including SMART data. More information: https://www.smartmontools.org.
  • Display SMART health summary:
    sudo smartctl --health {{/dev/sdX}}
  • Display device information:
    sudo smartctl --info {{/dev/sdX}}
  • Start a short self-test in the background:
    sudo smartctl --test short {{/dev/sdX}}
  • Display current/last self-test status and other SMART capabilities:
    sudo smartctl --capabilities {{/dev/sdX}}
  • Display exhaustive SMART data:
    sudo smartctl --all {{/dev/sdX}}

kubens

Utility to switch between Kubernetes namespaces. More information: https://github.com/ahmetb/kubectx.
  • List the namespaces:
    kubens
  • Change the active namespace:
    kubens {{name}}
  • Switch to the previous namespace:
    kubens -

webtorrent

The command-line interface for WebTorrent. Supports magnets, URLs, info hashes and .torrent files. More information: https://github.com/webtorrent/webtorrent-cli.
  • Download a torrent:
    webtorrent download "{{torrent_id}}"
  • Stream a torrent to VLC media player:
    webtorrent download "{{torrent_id}}" --vlc
  • Stream a torrent to a Digital Living Network Alliance (DLNA) device:
    webtorrent download "{{torrent_id}}" --dlna
  • Display a list of files for a specific torrent:
    webtorrent download "{{torrent_id}}" --select
  • Specify a file index from the torrent to download:
    webtorrent download "{{torrent_id}}" --select {{index}}
  • Seed a specific file or directory:
    webtorrent seed {{path/to/file_or_directory}}
  • Create a new torrent file for the specified file path:
    webtorrent create {{path/to/file}}
  • Display information for a magnet URI or .torrent file:
    webtorrent info {{path/to/file_or_magnet}}

split

Split a file into pieces. More information: https://www.gnu.org/software/coreutils/split.
  • Split a file, each split having 10 lines (except the last split):
    split -l {{10}} {{path/to/file}}
  • Split a file into 5 files. File is split such that each split has same size (except the last split):
    split -n {{5}} {{path/to/file}}
  • Split a file with 512 bytes in each split (except the last split; use 512k for kilobytes and 512m for megabytes):
    split -b {{512}} {{path/to/file}}
  • Split a file with at most 512 bytes in each split without breaking lines:
    split -C {{512}} {{path/to/file}}

xcv

Cut, copy, and paste in the command-line. More information: https://github.com/busterc/xcv.
  • Cut a file:
    xcv x {{input_file}}
  • Copy a file:
    xcv c {{input_file}}
  • Paste a file:
    xcv v {{output_file}}
  • List files available for pasting:
    xcv l

msfvenom

Manually generate payloads for metasploit. More information: https://github.com/rapid7/metasploit-framework/wiki/How-to-use-msfvenom.
  • List payloads:
    msfvenom -l payloads
  • List formats:
    msfvenom -l formats
  • Show payload options:
    msfvenom -p {{payload}} --list-options
  • Create an ELF binary with a reverse TCP handler:
    msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST={{local_ip}} LPORT={{local_port}} -f elf -o {{path/to/binary}}
  • Create an EXE binary with a reverse TCP handler:
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST={{local_ip}} LPORT={{local_port}} -f exe -o {{path/to/binary.exe}}
  • Create a raw bash with a reverse TCP handler:
    msfvenom -p cmd/unix/reverse_bash LHOST={{local_ip}} LPORT={{local_port}} -f raw

siege

HTTP loadtesting and benchmarking tool. More information: https://www.joedog.org/siege-manual/.
  • Test a URL with default settings:
    siege {{https://example.com}}
  • Test a list of URLs:
    siege --file {{path/to/url_list.txt}}
  • Test list of URLs in a random order (Simulates internet traffic):
    siege --internet --file {{path/to/url_list.txt}}
  • Benchmark a list of URLs (without waiting between requests):
    siege --benchmark --file {{path/to/url_list.txt}}
  • Set the amount of concurrent connections:
    siege --concurrent={{50}} --file {{path/to/url_list.txt}}
  • Set how long for the siege to run for:
    siege --time={{30s}} --file {{path/to/url_list.txt}}

joe

Joe's own text editor. More information: https://joe-editor.sourceforge.io.
  • Open a new file in JOE:
    joe
  • Open a specific file:
    joe {{path/to/file}}
  • Open a specific file, positioning the cursor at the specified line:
    joe +{{line}} {{path/to/file}}
  • Open a specific file in read-only mode:
    joe -rdonly {{path/to/file}}

units

Provide the conversion between two units of measure. More information: https://www.gnu.org/software/units/.
  • Run in interactive mode:
    units
  • List all units containing a specific string in interactive mode:
    search {{string}}
  • Show the conversion between two simple units:
    units {{quarts}} {{tablespoons}}
  • Convert between units with quantities:
    units "{{15 pounds}}" {{kilograms}}
  • Show the conversion between two compound units:
    units "{{meters / second}}" "{{inches / hour}}"
  • Show the conversion between units with different dimensions:
    units "{{acres}}" "{{ft^2}}"
  • Show the conversion of byte multipliers:
    units "{{15 megabytes}}" {{bytes}}

argon2

Calculate Argon2 cryptographic hashes. More information: https://github.com/P-H-C/phc-winner-argon2#command-line-utility.
  • Calculate a hash with a password and a salt with the default parameters:
    echo "{{password}}" | argon2 "{{salt_text}}"
  • Calculate a hash with the specified algorithm:
    echo "{{password}}" | argon2 "{{salt_text}}" -{{d|i|id}}
  • Display the output hash without additional information:
    echo "{{password}}" | argon2 "{{salt_text}}" -e
  • Calculate a hash with given iteration [t]imes, [m]emory usage, and [p]arallelism parameters:
    echo "{{password}}" | argon2 "{{salt_text}}" -t {{5}} -m {{20}} -p {{7}}

xz

Compress or decompress .xz and .lzma files. More information: https://manned.org/xz.
  • Compress a file using xz:
    xz {{path/to/file}}
  • Decompress an xz file:
    xz --decompress {{path/to/file.xz}}
  • Compress a file using lzma:
    xz --format={{lzma}} {{path/to/file}}
  • Decompress an lzma file:
    xz --decompress --format={{lzma}} {{path/to/file.lzma}}
  • Decompress a file and write to stdout (implies --keep):
    xz --decompress --stdout {{path/to/file.xz}}
  • Compress a file, but don't delete the original:
    xz --keep {{path/to/file}}
  • Compress a file using the fastest compression:
    xz -0 {{path/to/file}}
  • Compress a file using the best compression:
    xz -9 {{path/to/file}}


az storage account

Manage storage accounts in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/account.
  • Create an storage account:
    az storage account create --name {{storage_account_name}} --resource-group {{azure_resource_group}} --location {{azure_location}} --sku {{storage_account_sku}}
  • Generate a shared access signature for a specific storage account:
    az storage account generate-sas --account-name {{storage_account_name}} --name {{account_name}} --permissions {{sas_permissions}} --expiry {{expiry_date}} --services {{storage_services}} --resource-types {{resource_types}}
  • List storage accounts:
    az storage account list --resource-group {{azure_resource_group}}
  • Delete a specific storage account:
    az storage account delete --name {{storage_account_name}} --resource-group {{azure_resource_group}}

sshfs

Filesystem client based on SSH. More information: https://github.com/libfuse/sshfs.
  • Mount remote directory:
    sshfs {{username}}@{{remote_host}}:{{remote_directory}} {{mountpoint}}
  • Unmount remote directory:
    umount {{mountpoint}}
  • Mount remote directory from server with specific port:
    sshfs {{username}}@{{remote_host}}:{{remote_directory}} -p {{2222}}
  • Use compression:
    sshfs {{username}}@{{remote_host}}:{{remote_directory}} -C
  • Follow symbolic links:
    sshfs -o follow_symlinks {{username}}@{{remote_host}}:{{remote_directory}} {{mountpoint}}

pueue help

Display help for subcommands. More information: https://github.com/Nukesor/pueue.
  • Show all available subcommands and flags:
    pueue help
  • Show help for a specific subcommand:
    pueue help {{subcommand}}

command

Command forces the shell to execute the program and ignore any functions, builtins and aliases with the same name. More information: https://manned.org/command.
  • Execute the ls program literally, even if an ls alias exists:
    command {{ls}}
  • Display the path to the executable or the alias definition of a specific command:
    command -v {{command_name}}

amass viz

Visualize gathered information in a network graph. More information: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md#the-viz-subcommand.
  • Generate a D3.js visualization based on database data:
    amass viz -d3 -dir {{path/to/database_directory}}
  • Generate a DOT file based on database data:
    amass viz -dot -dir {{path/to/database_directory}}
  • Generate a Gephi Graph Exchange XML Format (GEXF) file based on database data:
    amass viz -gexf -dir {{path/to/database_directory}}
  • Generate a Graphistry JSON file based on database data:
    amass viz -graphistry -dir {{path/to/database_directory}}
  • Generate a Maltego CSV file based on database data:
    amass viz -maltego -dir {{path/to/database_directory}}

gifsicle

GIF manipulator. More information: https://www.lcdf.org/gifsicle.
  • Optimize a GIF as a new file:
    gifsicle {{path/to/input.gif}} --optimize=3 -o {{path/to/output.gif}}
  • Unoptimize a GIF in place:
    gifsicle -b {{path/to/input.gif}} --unoptimize
  • Extract a frame from a GIF:
    gifsicle {{path/to/input.gif}} '#{{0}}' > {{path/to/firstframe.gif}}
  • Make a GIF animation from selected GIFs:
    gifsicle {{*.gif}} --delay={{10}} --loop > {{path/to/output.gif}}
  • Reduce file size using lossy compression:
    gifsicle -b {{path/to/input.gif}} --optimize=3 --lossy={{100}} --colors={{16}} --dither
  • Delete the first 10 frames and all frames after frame 20 from a GIF:
    gifsicle -b {{path/to/input.gif}} --delete '#{{0-9}}' '#{{20-}}'
  • Modify all frames of a GIF using specific transformation options:
    gifsicle -b --crop {{50}},{{50}}+{{-50}}x{{-50}} --scale {{0.25}} --flip-horizontal --rotate-90 {{path/to/input.gif}}

kdig

Advanced DNS lookup utility. More information: https://www.knot-dns.cz/docs/latest/html/man_kdig.html.
  • Lookup the IP(s) associated with a hostname (A records):
    kdig {{example.com}}
  • Specify a specific DNS server to query (e.g. Google DNS):
    kdig {{example.com}} @{{8.8.8.8}}
  • Query a specific DNS record type associated with a given domain name:
    kdig {{example.com}} {{A|AAAA|NS|SOA|DNSKEY|ANY}}
  • Lookup the IP(s) associated with a hostname (A records) using DNS over TLS (DoT):
    kdig -d @{{8.8.8.8}} +tls-ca +tls-host={{dns.google}} {{example.com}}
  • Lookup the IP(s) associated with a hostname (A records) using DNS over HTTPS (DoH):
    kdig -d @{{1.1.1.1}} +https +tls-hostname={{1dot1dot1dot1.cloudflare-dns.com}} {{example.com}}

multitail

Extension of tail. More information: https://manned.org/multitail.
  • Tail all files matching a pattern in a single stream:
    multitail -Q 1 '{{pattern}}'
  • Tail all files in a directory in a single stream:
    multitail -Q 1 '{{path/to/directory}}/*'
  • Automatically add new files to a window:
    multitail -Q {{pattern}}
  • Show 5 logfiles while merging 2 and put them in 2 columns with only one in the left column:
    multitail -s 2 -sn 1,3 {{mergefile}} -I {{file1}} {{file2}} {{file3}} {{file4}}

jmap

Java memory map tool. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/jmap.html.
  • Print shared object mappings for a Java process (output like pmap):
    jmap {{java_pid}}
  • Print heap summary information:
    jmap -heap {{filename.jar}} {{java_pid}}
  • Print histogram of heap usage by type:
    jmap -histo {{java_pid}}
  • Dump contents of the heap into a binary file for analysis with jhat:
    jmap -dump:format=b,file={{path/to/file}} {{java_pid}}
  • Dump live objects of the heap into a binary file for analysis with jhat:
    jmap -dump:live,format=b,file={{path/to/file}} {{java_pid}}

gradle

Gradle is an open source build automation system. More information: https://gradle.org.
  • Compile a package:
    gradle build
  • Exclude test task:
    gradle build -x {{test}}
  • Run in offline mode to prevent Gradle from accessing the network during builds:
    gradle build --offline
  • Clear the build directory:
    gradle clean
  • Build an Android Package (APK) in release mode:
    gradle assembleRelease
  • List the main tasks:
    gradle tasks
  • List all the tasks:
    gradle tasks --all

aws s3 cp

Copy local files or S3 objects to another location locally or in S3. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html.
  • Copy a file from local to a specific bucket:
    aws s3 cp {{path/to/file}} s3://{{bucket_name}}/{{path/to/remote_file}}
  • Copy a specific S3 object into another bucket:
    aws s3 cp s3://{{bucket_name1}}/{{path/to/file}} s3://{{bucket_name2}}/{{path/to/target}}
  • Copy a specific S3 object into another bucket keeping the original name:
    aws s3 cp s3://{{bucket_name1}}/{{path/to/file}} s3://{{bucket_name2}}
  • Copy S3 objects to a local directory recursively:
    aws s3 cp s3://{{bucket_name}} . --recursive
  • Display help:
    aws s3 cp help

cpdf

Manipulate PDF files. More information: https://www.coherentpdf.com/cpdfmanual/cpdfmanual.html.
  • Select pages 1, 2, 3 and 6 from a source document and write those to a destination document:
    cpdf {{path/to/source_document.pdf}} {{1-3,6}} -o {{path/to/destination_document.pdf}}
  • Merge two documents into a new one:
    cpdf -merge {{path/to/source_document_one.pdf}} {{path/to/source_document_two.pdf}} -o {{path/to/destination_document.pdf}}
  • Show the bookmarks of a document:
    cpdf -list-bookmarks {{path/to/document.pdf}}
  • Split a document into ten-page chunks, writing them to chunk001.pdf, chunk002.pdf, etc:
    cpdf -split {{path/to/document.pdf}} -o {{path/to/chunk%%%.pdf}} -chunk {{10}}
  • Encrypt a document using 128bit encryption, providing fred as owner password and joe as user password:
    cpdf -encrypt {{128bit}} {{fred}} {{joe}} {{path/to/source_document.pdf}} -o {{path/to/encrypted_document.pdf}}
  • Decrypt a document using the owner password fred:
    cpdf -decrypt {{path/to/encrypted_document.pdf}} owner={{fred}} -o {{path/to/decrypted_document.pdf}}
  • Show the annotations of a document:
    cpdf -list-annotations {{path/to/document.pdf}}
  • Create a new document from an existing one with additional metadata:
    cpdf -set-metadata {{path/to/metadata.xml}} {{path/to/source_document.pdf}} -o {{path/to/destination_document.pdf}}

xml depyx

Convert a PYX (ESIS - ISO 8879) document to XML format. More information: http://xmlstar.sourceforge.net/docs.php.
  • Convert a PYX (ESIS - ISO 8879) document to XML format:
    xml depyx {{path/to/input.pyx|URI}} > {{path/to/output.xml}}
  • Convert a PYX document from stdin to XML format:
    cat {{path/to/input.pyx}} | xml depyx > {{path/to/output.xml}}
  • Display help for the depyx subcommand:
    xml depyx --help

mongorestore

Utility to import a collection or database from a binary dump into a MongoDB instance. More information: https://docs.mongodb.com/database-tools/mongorestore/.
  • Import a BSON data dump from a directory to a MongoDB database:
    mongorestore --db {{database_name}} {{path/to/directory}}
  • Import a BSON data dump from a directory to a given database in a MongoDB server host, running at a given port, with user authentication (user will be prompted for password):
    mongorestore --host {{database_host:port}} --db {{database_name}} --username {{username}} {{path/to/directory}} --password
  • Import a collection from a BSON file to a MongoDB database:
    mongorestore --db {{database_name}} {{path/to/file}}
  • Import a collection from a BSON file to a given database in a MongoDB server host, running at a given port, with user authentication (user will be prompted for password):
    mongorestore --host {{database_host:port}} --db {{database_name}} --username {{username}} {{path/to/file}} --password

aws-google-auth

Command-line tool to acquire AWS temporary (STS) credentials using Google Apps as a federated (Single Sign-On) provider. More information: https://github.com/cevoaustralia/aws-google-auth.
  • Log in with Google SSO using the IDP and SP identifiers and set the credentials duration to one hour:
    aws-google-auth -u {{[email protected]}} -I {{$GOOGLE_IDP_ID}} -S {{$GOOGLE_SP_ID}} -d {{3600}}
  • Log in [a]sking which role to use (in case of several available SAML roles):
    aws-google-auth -u {{[email protected]}} -I {{$GOOGLE_IDP_ID}} -S {{$GOOGLE_SP_ID}} -d {{3600}} -a
  • Resolve aliases for AWS accounts:
    aws-google-auth -u {{[email protected]}} -I {{$GOOGLE_IDP_ID}} -S {{$GOOGLE_SP_ID}} -d {{3600}} -a --resolve-aliases
  • Show help information:
    aws-google-auth -h

bob

Manage and switch between Neovim versions. More information: https://github.com/MordechaiHadad/bob.
  • Install and switch to the specified version of Neovim:
    bob use {{nightly|stable|latest|version_string|commit_hash}}
  • List installed and currently used versions of Neovim:
    bob list
  • Uninstall the specified version of Neovim:
    bob uninstall {{nightly|stable|latest|version_string|commit_hash}}
  • Uninstall Neovim and erase any changes bob has made:
    bob erase
  • Roll back to a previous nightly version:
    bob rollback

piodebuggdb

This command is an alias of pio debug --interface=gdb.
  • View documentation for the original command:
    tldr pio debug

gofmt

Tool for formatting Go source code. More information: https://golang.org/cmd/gofmt/.
  • Format a file and display the result to the console:
    gofmt {{source.go}}
  • Format a file, overwriting the original file in-place:
    gofmt -w {{source.go}}
  • Format a file, and then simplify the code, overwriting the original file:
    gofmt -s -w {{source.go}}
  • Print all (including spurious) errors:
    gofmt -e {{source.go}}

p7zip

Wrapper of 7-Zip file archiver with high compression ratio. Internally executes either 7za or 7zr command. More information: http://p7zip.sourceforge.net.
  • Archive a file, replacing it with a 7zipped compressed version:
    p7zip {{path/to/file}}
  • Archive a file keeping the input file:
    p7zip -k {{path/to/file}}
  • Decompress a file, replacing it with the original uncompressed version:
    p7zip -d {{compressed.ext}}.7z
  • Decompress a file keeping the input file:
    p7zip -d -k {{compressed.ext}}.7z
  • Skip some checks and force compression or decompression:
    p7zip -f {{path/to/file}}

nix build

Build a Nix expression (downloading from the cache when possible). See also: tldr nix-build. See tldr nix3 flake for information about flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-build.html.
  • Build a package from nixpkgs, symlinking the result to ./result:
    nix build {{nixpkgs#pkg}}
  • Build a package from a flake in the current directory, showing the build logs in the process:
    nix build -L {{.#pkg}}
  • Build the default package from a flake in some directory:
    nix build {{./path/to/directory}}
  • Build a package without making the result symlink, instead printing the store path to the stdout:
    nix build --no-link --print-out-paths

gvcolor

Colorize a ranked digraph with a range of colors. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://graphviz.org/pdf/gvcolor.1.pdf.
  • Colorize one or more ranked digraph (that were already processed by dot):
    gvcolor {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Lay out a graph and colorize it, then convert to a PNG image:
    dot {{path/to/input.gv}} | gvcolor | dot -T {{png}} > {{path/to/output.png}}
  • Display help for gvcolor:
    gvcolor -?

set

Display, set or unset values of shell attributes and positional parameters. More information: https://manned.org/set.
  • Display the names and values of shell variables:
    set
  • Mark variables that are modified or created for export:
    set -a
  • Notify of job termination immediately:
    set -b
  • Set various options, e.g. enable vi style line editing:
    set -o {{vi}}
  • Set the shell to exit as soon as the first error is encountered (mostly used in scripts):
    set -e

lambo new

A super-powered laravel new for Laravel and Valet. More information: https://github.com/tighten/lambo.
  • Create a new Laravel application:
    lambo new {{app_name}}
  • Install the application in a specific path:
    lambo new --path={{path/to/directory}} {{app_name}}
  • Include authentication scaffolding:
    lambo new --auth {{app_name}}
  • Include a specific frontend:
    lambo new --{{vue|bootstrap|react}} {{app_name}}
  • Install npm dependencies after the project has been created:
    lambo new --node {{app_name}}
  • Create a Valet site after the project has been created:
    lambo new --link {{app_name}}
  • Create a new MySQL database with the same name as the project:
    lambo new --create-db --dbuser={{user}} --dbpassword={{password}} {{app_name}}
  • Open a specific editor after the project has been created:
    lambo new --editor="{{editor}}" {{app_name}}

jupyter

Web application to create and share documents that contain code, visualizations and notes. Primarily used for data analysis, scientific computing and machine learning. More information: https://jupyter.org.
  • Start a Jupyter notebook server in the current directory:
    jupyter notebook
  • Open a specific Jupyter notebook:
    jupyter notebook {{example.ipynb}}
  • Export a specific Jupyter notebook into another format:
    jupyter nbconvert --to {{html|markdown|pdf|script}} {{example.ipynb}}
  • Start a server on a specific port:
    jupyter notebook --port={{port}}
  • List currently running notebook servers:
    jupyter notebook list
  • Stop the currently running server:
    jupyter notebook stop
  • Start JupyterLab, if installed, in the current directory:
    jupyter lab

sbt

Build tool for Scala and Java projects. More information: https://www.scala-sbt.org/1.x/docs/.
  • Start a REPL (interactive shell):
    sbt
  • Create a new Scala project from an existing Giter8 template hosted on GitHub:
    sbt new {{scala/hello-world.g8}}
  • Compile and run all tests:
    sbt test
  • Delete all generated files in the target directory:
    sbt clean
  • Compile the main sources in src/main/scala and src/main/java directories:
    sbt compile
  • Use the specified version of sbt:
    sbt -sbt-version {{version}}
  • Use a specific jar file as the sbt launcher:
    sbt -sbt-jar {{path}}
  • List all sbt options:
    sbt -h

pueue log

Display the log output of 1 or more tasks. See also: pueue status. More information: https://github.com/Nukesor/pueue.
  • Show the last few lines of output from all tasks:
    pueue log
  • Show the full output of a task:
    pueue log {{task_id}}
  • Show the last few lines of output from several tasks:
    pueue log {{task_id}} {{task_id}}
  • Print a specific number of lines from the tail of output:
    pueue log --lines {{number_of_lines}} {{task_id}}

infection

A mutation testing framework for PHP. More information: https://infection.github.io.
  • Analyze code using the configuration file (or create one if it does not exist):
    infection
  • Use a specific number of threads:
    infection --threads {{number_of_threads}}
  • Specify a minimum Mutation Score Indicator (MSI):
    infection --min-msi {{percentage}}
  • Specify a minimum covered code MSI:
    infection --min-covered-msi {{percentage}}
  • Use a specific test framework (defaults to PHPUnit):
    infection --test-framework {{phpunit|phpspec}}
  • Only mutate lines of code that are covered by tests:
    infection --only-covered
  • Display the mutation code that has been applied:
    infection --show-mutations
  • Specify the log verbosity:
    infection --log-verbosity {{default|all|none}}

bb

Native Clojure interpreter for scripting. More information: https://book.babashka.org/#usage.
  • [e]valuate an expression:
    bb -e "(+ 1 2 3)"
  • Evaluate a script [f]ile:
    bb -f {{path/to/script.clj}}
  • Bind input to a sequence of lines from stdin:
    printf "first\nsecond" | bb -i "(map clojure.string/capitalize *input*)"
  • Bind input to a sequence of EDN(Extensible Data Notation) values from stdin:
    echo "{:key 'val}" | bb -I "(:key (first *input*))"

ansible-galaxy

Create and manage Ansible roles. More information: https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html.
  • Install a role:
    ansible-galaxy install {{username}}.{{role_name}}
  • Remove a role:
    ansible-galaxy remove {{username}}.{{role_name}}
  • List installed roles:
    ansible-galaxy list
  • Search for a given role:
    ansible-galaxy search {{role_name}}
  • Create a new role:
    ansible-galaxy init {{role_name}}
  • Get information about a user role:
    ansible-galaxy role info {{username}}.{{role_name}}
  • Get information about a collection:
    ansible-galaxy collection info {{username}}.{{collection_name}}

netcat

This command is an alias of nc.
  • View documentation for the original command:
    tldr nc

pic

Picture preprocessor for the groff (GNU Troff) document formatting system. See also groff and troff. More information: https://manned.org/pic.
  • Process input with pictures, saving the output for future typesetting with groff to PostScript:
    pic {{path/to/input.pic}} > {{path/to/output.roff}}
  • Typeset input with pictures to PDF using the [me] macro package:
    pic -T {{pdf}} {{path/to/input.pic}} | groff -{{me}} -T {{pdf}} > {{path/to/output.pdf}}

xzless

Display text from xz and lzma compressed files. See also: less. More information: https://manned.org/xzless.
  • View a compressed file:
    xzless {{path/to/file}}
  • View a compressed file and display line numbers:
    xzless --LINE-NUMBERS {{path/to/file}}
  • View a compressed file and quit if the entire file can be displayed on the first screen:
    xzless --quit-if-one-screen {{path/to/file}}

robo

PHP task runner. More information: https://robo.li/.
  • List available commands:
    robo list
  • Run a specific command:
    robo {{foo}}
  • Simulate running a specific command:
    robo --simulate {{foo}}

file

Determine file type. More information: https://manned.org/file.
  • Give a description of the type of the specified file. Works fine for files with no file extension:
    file {{path/to/file}}
  • Look inside a zipped file and determine the file type(s) inside:
    file -z {{foo.zip}}
  • Allow file to work with special or device files:
    file -s {{path/to/file}}
  • Don't stop at first file type match; keep going until the end of the file:
    file -k {{path/to/file}}
  • Determine the MIME encoding type of a file:
    file -i {{path/to/file}}

velero

Backup and migrate Kubernetes applications and their persistent volumes. More information: https://github.com/heptio/velero.
  • Create a backup containing all resources:
    velero backup create {{backup_name}}
  • List all backups:
    velero backup get
  • Delete a backup:
    velero backup delete {{backup_name}}
  • Create a weekly backup, each living for 90 days (2160 hours):
    velero schedule create {{schedule_name}} --schedules="{{@every 7d}}" --ttl {{2160h0m0s}}
  • Create a restore from the latest successful backup triggered by specific schedule:
    velero restore create --from-schedule {{schedule_name}}


rustup which

Display which binary will be run for a given command managed by rustup. Like which, but searches a Rust toolchain instead of $PATH. More information: https://rust-lang.github.io/rustup.
  • Display the path to the binary in the default toolchain:
    rustup which {{command}}
  • Display the path to the binary in the specified toolchain (see rustup help toolchain for more information):
    rustup which --toolchain {{toolchain}} {{command}}

podman machine

Create and manage virtual machines running Podman. Included with Podman version 4 or greater. More information: https://docs.podman.io/en/latest/markdown/podman-machine.1.html.
  • List existing machines:
    podman machine ls
  • Create a new default machine:
    podman machine init
  • Create a new machine with a specific name:
    podman machine init {{name}}
  • Create a new machine with different resources:
    podman machine init --cpus={{4}} --memory={{4096}} --disk-size={{50}}
  • Start or stop a machine:
    podman machine {{start|stop}} {{name}}
  • Connect to a running machine via SSH:
    podman machine ssh {{name}}
  • Inspect information about a machine:
    podman machine inspect {{name}}


cd

Change the current working directory. More information: https://manned.org/cd.
  • Go to the specified directory:
    cd {{path/to/directory}}
  • Go up to the parent of the current directory:
    cd ..
  • Go to the home directory of the current user:
    cd
  • Go to the home directory of the specified user:
    cd ~{{username}}
  • Go to the previously chosen directory:
    cd -
  • Go to the root directory:
    cd /

w3m

A text-based web browser. Supports SSL and mouse input, even over SSH. More information: http://w3m.sourceforge.net.
  • Open a URL:
    w3m {{http://example.com}}
  • Open a URL in monochrome mode:
    w3m {{http://example.com}} -M
  • Open a URL without mouse support:
    w3m {{http://example.com}} --no-mouse
  • Open a new browser tab:
    Shift + T
  • Display your browser history:
    Ctrl + H
  • Quit w3m:
    'q' then 'y'

php artisan

Laravel's Artisan command-line interface. More information: https://laravel.com/docs/artisan.
  • Start PHP's built-in web server for the current Laravel application:
    php artisan serve
  • Start an interactive PHP command-line interface:
    php artisan tinker
  • Generate a new Eloquent model class with a migration, factory and resource controller:
    php artisan make:model {{ModelName}} --all
  • Display a list of all available commands:
    php artisan help


cs resolve

Resolve lists the transitive dependencies of one or more other dependencies. More information: https://get-coursier.io/docs/cli-resolve.
  • Resolve lists of transitive dependencies of two dependencies:
    cs resolve {{group_id1}}:{{artifact_id1}}:{{artifact_version1}} {{group_id2}}:{{artifact_id2}}:{{artifact_version2}}
  • Resolve lists of transitive dependencies of a package by the dependency tree:
    cs resolve --tree {{group_id}}:{{artifact_id}}:{{artifact_version}}
  • Resolve dependency tree in a reverse order (from a dependency to its dependencies):
    cs resolve --reverse-tree {{group_id}}:{{artifact_id}}:{{artifact_version}
  • Print all the libraries that depends on a specific library:
    cs resolve {{group_id}}:{{artifact_id}}:{{artifact_version}} --what-depends-on {{searched_group_id}}:{{searched_artifact_id}}
  • Print all the libraries that depends on a specific library version:
    cs resolve {{group_id}}:{{artifact_id}}:{{artifact_version}} --what-depends-on {{searched_group_id}}:{{searched_artifact_id}}{{searched_artifact_version}}
  • Print eventual conflicts between a set of packages:
    cs resolve --conflicts {{group_id1:artifact_id1:artifact_version1 group_id2:artifact_id2:artifact_version2 ...}}

csvkit

Manipulation toolkit for CSV files. See also: csvclean, csvcut, csvformat, csvgrep, csvlook, csvpy, csvsort, csvstat. More information: https://csvkit.readthedocs.io/en/0.9.1/cli.html.
  • Run a command on a CSV file with a custom delimiter:
    {{command}} -d {{delimiter}} {{path/to/file.csv}}
  • Run a command on a CSV file with a tab as a delimiter (overrides -d):
    {{command}} -t {{path/to/file.csv}}
  • Run a command on a CSV file with a custom quote character:
    {{command}} -q {{quote_char}} {{path/to/file.csv}}
  • Run a command on a CSV file with no header row:
    {{command}} -H {{path/to/file.csv}}

aws ses

CLI for AWS Simple Email Service. High-scale inbound and outbound cloud email service. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/index.html.
  • Create a new receipt rule set:
    aws ses create-receipt-rule-set --rule-set-name {{rule_set_name}} --generate-cli-skeleton
  • Describe the active receipt rule set:
    aws ses describe-active-receipt-rule-set --generate-cli-skeletion
  • Describe a specific receipt rule:
    aws ses describe-receipt-rule --rule-set-name {{rule_set_name}} --rule-name {{rule_name}} --generate-cli-skeleton
  • List all receipt rule sets:
    aws ses list-receipt-rule-sets --starting-token {{token_string}} --max-items {{integer}} --generate-cli-skeleton
  • Delete a specific receipt rule set (the currently active rule set cannot be deleted):
    aws ses delete-receipt-rule-set --rule-set-name {{rule_set_name}} --generate-cli-skeleton
  • Delete a specific receipt rule:
    aws ses delete-receipt-rule --rule-set-name {{rule_set_name}} --rule-name {{rule_name}} --generate-cli-skeleton
  • Send an email:
    aws ses send-email --from {{from_address}} --destination "ToAddresses={{addresses}}" --message "Subject={Data={{subject_text}},Charset=utf8},Body={Text={Data={{body_text}},Charset=utf8},Html={Data={{message_body_containing_html}},Charset=utf8}}"
  • Show help for a specific SES subcommand:
    aws ses {{subcommand}} help

minetest

Multiplayer infinite-world block sandbox. See also minetestserver, the server-only binary. More information: https://wiki.minetest.net/Minetest.
  • Start Minetest in client mode:
    minetest
  • Start Minetest in server mode by hosting a specific world:
    minetest --server --world {{name}}
  • Write logs to a specific file:
    minetest --logfile {{path/to/file}}
  • Only write errors to the console:
    minetest --quiet

logger

Add messages to syslog (/var/log/syslog). More information: https://manned.org/logger.
  • Log a message to syslog:
    logger {{message}}
  • Take input from stdin and log to syslog:
    echo {{log_entry}} | logger
  • Send the output to a remote syslog server running at a given port. Default port is 514:
    echo {{log_entry}} | logger --server {{hostname}} --port {{port}}
  • Use a specific tag for every line logged. Default is the name of logged in user:
    echo {{log_entry}} | logger --tag {{tag}}
  • Log messages with a given priority. Default is user.notice. See man logger for all priority options:
    echo {{log_entry}} | logger --priority {{user.warning}}

docker system

Manage Docker data and display system-wide information. More information: https://docs.docker.com/engine/reference/commandline/system/.
  • Show help:
    docker system
  • Show docker disk usage:
    docker system df
  • Show detailed information on disk usage:
    docker system df --verbose
  • Remove unused data:
    docker system prune
  • Remove unused data created more than a specified amount of time in the past:
    docker system prune --filter="until={{hours}}h{{minutes}}m"
  • Display real-time events from the Docker daemon:
    docker system events
  • Display real-time events from containers streamed as valid JSON Lines:
    docker system events --filter 'type=container' --format '{{json .}}'
  • Display system-wide information:
    docker system info

flake8

Tool to check the style and quality of Python code. More information: https://flake8.pycqa.org/.
  • Lint a file or directory recursively:
    flake8 {{path/to/file_or_directory}}
  • Lint a file or directory recursively and show the line on which each error occurred:
    flake8 --show-source {{path/to/file_or_directory}}
  • Lint a file or directory recursively and ignore a list of rules. (All available rules can be found at flake8rules.com):
    flake8 --ignore {{rule1,rule2}} {{path/to/file_or_directory}}
  • Lint a file or directory recursively but exclude files matching the given globs or substrings:
    flake8 --exclude {{substring1,glob2}} {{path/to/file_or_directory}}

pip uninstall

Uninstall Python packages. More information: https://pip.pypa.io.
  • Uninstall a package:
    pip uninstall {{package}}
  • Uninstall packages listed in a specific file:
    pip uninstall --requirement {{path/to/requirements.txt}}
  • Uninstall package without asking for confirmation:
    pip uninstall --yes {{package}}

graphml2gv

Convert a graph from graphml to gv format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/graphml2gv.1.pdf.
  • Convert a graph from gml to gv format:
    graphml2gv -o {{output.gv}} {{input.gml}}
  • Convert a graph using stdin and stdout:
    cat {{input.gml}} | graphml2gv > {{output.gv}}
  • Display help:
    graphml2gv -?

aws cloudformation

Model, provision, and manage AWS and third-party resources by treating infrastructure as code. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html.
  • Create a stack from a template file:
    aws cloudformation create-stack --stack-name {{stack-name}} --region {{region}} --template-body {{file://path/to/file.yml}} --profile {{profile}}
  • Delete a stack:
    aws cloudformation delete-stack --stack-name {{stack-name}} --profile {{profile}}
  • List all stacks:
    aws cloudformation list-stacks --profile {{profile}}
  • List all running stacks:
    aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE --profile {{profile}}
  • Check the status of a stack:
    aws cloudformation describe-stacks --stack-name {{stack-id}} --profile {{profile}}
  • Initiate drift detection for a stack:
    aws cloudformation detect-stack-drift --stack-name {{stack-id}} --profile {{profile}}
  • Check the drift status output of a stack using 'StackDriftDetectionId' from the previous command output:
    aws cloudformation describe-stack-resource-drifts --stack-name {{stack-drift-detection-id}} --profile {{profile}}

python

Python language interpreter. More information: https://www.python.org.
  • Start a REPL (interactive shell):
    python
  • Execute a specific Python file:
    python {{path/to/file.py}}
  • Execute a specific Python file and start a REPL:
    python -i {{path/to/file.py}}
  • Execute a Python expression:
    python -c "{{expression}}"
  • Run the script of the specified library module:
    python -m {{module}} {{arguments}}
  • Install a package using pip:
    python -m pip install {{package}}
  • Interactively debug a Python script:
    python -m {{pdb}} {{path/to/file.py}}
  • Start the built-in HTTP server on port 8000 in the current directory:
    python -m {{http.server}}

laravel

A command-line installer for the Laravel framework. More information: https://laravel.com.
  • Create a new Laravel application:
    laravel new {{name}}
  • Use the latest development release:
    laravel new {{name}} --dev
  • Overwrite if the directory already exists:
    laravel new {{name}} --force
  • Install the Laravel Jetstream scaffolding:
    laravel new {{name}} --jet
  • Install the Laravel Jetstream scaffolding with a specific stack:
    laravel new {{name}} --jet --stack {{livewire|inertia}}
  • Install the Laravel Jetstream scaffolding with support for teams:
    laravel new {{name}} --jet --teams
  • List the available installer commands:
    laravel list

for

Perform a command several times. More information: https://www.gnu.org/software/bash/manual/bash.html#Looping-Constructs.
  • Execute the given commands for each of the specified items:
    for {{variable}} in {{item1 item2 ...}}; do {{echo "Loop is executed"}}; done
  • Iterate over a given range of numbers:
    for {{variable}} in {{{from}}..{{to}}..{{step}}}; do {{echo "Loop is executed"}}; done
  • Iterate over a given list of files:
    for {{variable}} in {{path/to/file1 path/to/file2 ...}}; do {{echo "Loop is executed"}}; done
  • Iterate over a given list of directories:
    for {{variable}} in {{path/to/directory1/ path/to/directory2/ ...}}; do {{echo "Loop is executed"}}; done
  • Perform a given command in every directory:
    for {{variable}} in */; do (cd "${{variable}}" || continue; {{echo "Loop is executed"}}) done

gnucash

Personal and small-business financial-accounting software. More information: https://gnucash.org.
  • Launch GnuCash and load the previously opened file:
    gnucash
  • Launch GnuCash and load the specified file:
    gnucash {{path/to/file.gnucash}}
  • Launch GnuCash and load an empty file:
    gnucash --nofile

zlib-flate

Raw zlib compression and decompression program. Part of qpdf. More information: https://manned.org/zlib-flate.
  • Compress a file:
    zlib-flate -compress < {{path/to/input_file}} > {{path/to/compressed.zlib}}
  • Uncompress a file:
    zlib-flate -uncompress < {{path/to/compressed.zlib}} > {{path/to/output_file}}
  • Compress a file with a specified compression level. 0=Fastest (Worst), 9=Slowest (Best):
    zlib-flate -compress={{compression_level}} < {{path/to/input_file}} > {{path/to/compressed.zlib}}

dolt fetch

Download objects and refs from another repository. More information: https://github.com/dolthub/dolt.
  • Fetch the latest changes from the default remote upstream repository (origin):
    dolt fetch
  • Fetch latest changes from a specific remote upstream repository:
    dolt fetch {{remote_name}}
  • Update branches with the current state of the remote, overwriting any conflicting history:
    dolt fetch -f

freshclam

Update virus definitions for ClamAV antivirus program. More information: https://www.clamav.net.
  • Update virus definitions:
    freshclam

git request-pull

Generate a request asking the upstream project to pull changes into its tree. More information: https://git-scm.com/docs/git-request-pull.
  • Produce a request summarizing the changes between the v1.1 release and a specified branch:
    git request-pull {{v1.1}} {{https://example.com/project}} {{branch_name}}
  • Produce a request summarizing the changes between the v0.1 release on the foo branch and the local bar branch:
    git request-pull {{v0.1}} {{https://example.com/project}} {{foo:bar}}

espanso

Cross-platform Text Expander written in Rust. More information: https://espanso.org.
  • Check status:
    espanso status
  • Edit the configuration:
    espanso edit config
  • Install a package from the hub store (https://hub.espanso.org/):
    espanso install {{package}}
  • Restart (required after installing a package, useful in case of failure):
    espanso restart

docker exec

Execute a command on an already running Docker container. More information: https://docs.docker.com/engine/reference/commandline/exec/.
  • Enter an interactive shell session on an already-running container:
    docker exec --interactive --tty {{container_name}} {{/bin/bash}}
  • Run a command in the background (detached) on a running container:
    docker exec --detach {{container_name}} {{command}}
  • Select the working directory for a given command to execute into:
    docker exec --interactive -tty --workdir {{path/to/directory}} {{container_name}} {{command}}
  • Run a command in background on existing container but keep stdin open:
    docker exec --interactive --detach {{container_name}} {{command}}
  • Set an environment variable in a running Bash session:
    docker exec --interactive --tty --env {{variable_name}}={{value}} {{container_name}} {{/bin/bash}}
  • Run a command as a specific user:
    docker exec --user {{user}} {{container_name}} {{command}}

Rscript

Run a script with the R programming language. More information: https://www.r-project.org.
  • Run a script:
    Rscript {{path/to/file.R}}
  • Run a script in vanilla mode (i.e. a blank session that doesn't save the workspace at the end):
    Rscript --vanilla {{path/to/file.R}}
  • Execute one or more R expressions:
    Rscript -e {{expression1}} -e {{expression2}}
  • Display R version:
    Rscript --version

kubectl logs

Show logs for containers in a pod. More information: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs.
  • Show logs for a single-container pod:
    kubectl logs {{pod_name}}
  • Show logs for a specified container in a pod:
    kubectl logs --container {{container_name}} {{pod_name}}
  • Show logs for all containers in a pod:
    kubectl logs --all-containers={{true}} {{pod_name}}
  • Stream pod logs:
    kubectl logs --follow {{pod_name}}
  • Stream logs for a specified container in a pod:
    kubectl logs --follow --container {{container_name}} {{pod_name}}
  • Show pod logs newer than a relative time like 10s, 5m, or 1h:
    kubectl logs --since={{relative_time}} {{pod_name}}
  • Show the 10 most recent logs in a pod:
    kubectl logs --tail={{10}} {{pod_name}}

typeorm

A JavaScript ORM that can run on Node.js, browser, Cordova, Ionic, React Native, NativeScript, and Electron platforms. More information: https://typeorm.io/.
  • Generate a new initial TypeORM project structure:
    typeorm init
  • Create an empty migration file:
    typeorm migration:create --name {{migration_name}}
  • Create a migration file with the SQL statements to update the schema:
    typeorm migration:generate --name {{migration_name}}
  • Run all pending migrations:
    typeorm migration:run
  • Create a new entity file in a specific directory:
    typeorm entity:create --name {{entity}} --dir {{path/to/directory}}
  • Display the SQL statements to be executed by typeorm schema:sync on the default connection:
    typeorm schema:log
  • Execute a specific SQL statement on the default connection:
    typeorm query {{sql_sentence}}
  • Display help for a subcommand:
    typeorm {{subcommand}} --help

dhcpig

Initiates an advanced DHCP exhaustion attack and stress test. DHCPig needs to be run with root privileges. More information: https://github.com/kamorin/DHCPig.
  • Exhaust all of the available DHCP addresses using the specified interface:
    sudo ./pig.py {{eth0}}
  • Exhaust IPv6 addresses using eth1 interface:
    sudo ./pig.py -6 {{eth1}}
  • Send fuzzed/malformed data packets using the interface:
    sudo ./pig.py --fuzz {{eth1}}
  • Enable color output:
    sudo ./pig.py -c {{eth1}}
  • Enable minimal verbosity and color output:
    sudo ./pig.py -c --verbosity=1 {{eth1}}
  • Set debug verbosity and scan network of neighboring devices using ARP packets:
    sudo ./pig.py -c --verbosity=100 --neighbors-scan-arp {{eth1}}
  • Enable printing lease information, attempt to scan and release all neighbor IP addresses:
    sudo ./pig.py --neighbors-scan-arp -r --show-options {{eth1}}

cbonsai

Cbonsai is a beautifully random bonsai tree CLI generator. More information: https://gitlab.com/jallbrit/cbonsai.
  • Generate a bonsai in live mode:
    cbonsai -l
  • Generate a bonsai in infinite mode:
    cbonsai -i
  • Append a message to the bonsai:
    cbonsai -m "{{message}}"
  • Display extra information about the bonsai:
    cbonsai -v
  • Display cbonsai help:
    cbonsai -h

pkill

Signal process by name. Mostly used for stopping processes. More information: https://www.man7.org/linux/man-pages/man1/pkill.1.html.
  • Kill all processes which match:
    pkill "{{process_name}}"
  • Kill all processes which match their full command instead of just the process name:
    pkill -f "{{command_name}}"
  • Force kill matching processes (can't be blocked):
    pkill -9 "{{process_name}}"
  • Send SIGUSR1 signal to processes which match:
    pkill -USR1 "{{process_name}}"
  • Kill the main firefox process to close the browser:
    pkill --oldest "{{firefox}}"

piactl

The command-line tool for Private Internet Access, a commercial VPN provider. More information: https://helpdesk.privateinternetaccess.com/kb/articles/pia-desktop-command-line-interface-part-1.
  • Log in to Private Internet Access:
    piactl login {{path/to/login_file}}
  • Connect to Private Internet Access:
    piactl connect
  • Disconnect from Private Internet Access:
    piactl disconnect
  • Enable or disable the Private Internet Access daemon in the background:
    piactl background {{enable|disable}}
  • List all available VPN regions:
    piactl get regions
  • Display the current VPN region:
    piactl get region
  • Set your VPN region:
    piactl set region {{region}}
  • Log out of Private Internet Access:
    piactl logout

nginx

Nginx web server. More information: https://nginx.org/en/.
  • Start server with the default config file:
    nginx
  • Start server with a custom configuration file:
    nginx -c {{configuration_file}}
  • Start server with a prefix for all relative paths in the configuration file:
    nginx -c {{configuration_file}} -p {{prefix/for/relative/paths}}
  • Test the configuration without affecting the running server:
    nginx -t
  • Reload the configuration by sending a signal with no downtime:
    nginx -s reload

grumphp

A PHP Composer plugin that enables source code quality checks. More information: https://github.com/phpro/grumphp.
  • Register the Git hooks:
    grumphp git:init
  • Trigger the pre-commit hook manually:
    grumphp git:pre-commit
  • Check every versioned file:
    grumphp run

goreload

Live reload utility for Go programs. More information: https://github.com/acoshift/goreload.
  • Set the name of the binary file to watch (defaults to .goreload):
    goreload -b {{path/to/binary}} {{path/to/file}}.go
  • Set a custom log prefix (defaults to goreload):
    goreload --logPrefix {{prefix}} {{path/to/file}}.go
  • Reload whenever any file changes:
    goreload --all

hg add

Adds specified files to the staging area for the next commit in Mercurial. More information: https://www.mercurial-scm.org/doc/hg.1.html#add.
  • Add files or directories to the staging area:
    hg add {{path/to/file}}
  • Add all unstaged files matching a specified pattern:
    hg add --include {{pattern}}
  • Add all unstaged files, excluding those that match a specified pattern:
    hg add --exclude {{pattern}}
  • Recursively add sub-repositories:
    hg add --subrepos
  • Perform a test-run without performing any actions:
    hg add --dry-run

elvish

Expressive programming language and a versatile interactive shell. See also: nu. More information: https://elv.sh.
  • Start an interactive shell session:
    elvish
  • Execute specific [c]ommands:
    elvish -c "{{echo 'elvish is executed'}}"
  • Execute a specific script:
    elvish {{path/to/script.elv}}

pprof

Command-line tool for visualization and analysis of profile data. More information: https://github.com/google/pprof.
  • Generate a text report from a specific profiling file, on fibbo binary:
    pprof -top {{./fibbo}} {{./fibbo-profile.pb.gz}}
  • Generate a graph and open it on a web browser:
    pprof -svg {{./fibbo}} {{./fibbo-profile.pb.gz}}
  • Run pprof in interactive mode to be able to manually launch pprof on a file:
    pprof {{./fibbo}} {{./fibbo-profile.pb.gz}}
  • Run a web server that serves a web interface on top of pprof:
    pprof -http={{localhost:8080}} {{./fibbo}} {{./fibbo-profile.pb.gz}}
  • Fetch a profile from an HTTP server and generate a report:
    pprof {{http://localhost:8080/debug/pprof}}

mods

AI for the command line, built for pipelines. More information: https://github.com/charmbracelet/mods.
  • Ask a generic question:
    mods "{{write me a poem about platypuses}}"
  • Open settings in your $EDITOR:
    mods --settings
  • Ask for comments on your code, in markdown format:
    mods --format "{{what are your thoughts on improving this code?}}" < {{path/to/file}}
  • Ask for help with your documentation, in markdown format:
    mods --format "{{write a new section to this readme for a feature that sends you a free rabbit if you hit r}}" < {{README.md}}
  • Organize your videos, in markdown format:
    ls {{path/to/videos}} | mods --format "{{organize these by decade and summarize}}"
  • Read through raw HTML and summarize the contents, in markdown format:
    curl "{{https://api.open-meteo.com/v1/forecast?latitude=29.00&longitude=-90.00&current_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m}}" | mods --format "{{summarize this weather data for a human}}"
  • Display help and exit:
    mods --help

vale

Extensible style checker that supports multiple markup formats, such as Markdown and AsciiDoc. More information: https://vale.sh.
  • Check the style of a file:
    vale {{path/to/file}}
  • Check the style of a file with a specified configuration:
    vale --config='{{path/to/.vale.ini}}' {{path/to/file}}
  • Output the results in JSON format:
    vale --output=JSON {{path/to/file}}
  • Check style issues at the specific severity and higher:
    vale --minAlertLevel={{suggestion|warning|error}} {{path/to/file}}
  • Check the style from stdin, specifying markup format:
    cat {{file.md}} | vale --ext=.md
  • List the current configuration:
    vale ls-config

pio settings

View and modify PlatformIO settings. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_settings.html.
  • Display the names, values and descriptions of all PlatformIO settings:
    pio settings get
  • Display the name, value and description of a specific PlatformIO setting:
    pio settings get {{setting}}
  • Set a specific setting value:
    pio settings set {{setting}} {{value}}
  • Reset the values of all modified settings to their factory defaults:
    pio settings reset

perl

The Perl 5 language interpreter. More information: https://www.perl.org.
  • Parse and execute a Perl script:
    perl {{script.pl}}
  • Check syntax errors on a Perl script:
    perl -c {{script.pl}}
  • Parse and execute a Perl statement:
    perl -e {{perl_statement}}
  • Run a Perl script in debug mode, using perldebug:
    perl -d {{script.pl}}
  • Edit all file lines [i]n-place with a specific replacement [e]xpression, saving a backup with a new extension:
    perl -p -i'.{{extension}}' -e 's/{{regular_expression}}/{{replacement}}/g' {{path/to/file}}
  • Run a multi-line replacement [e]xpression on a file, and save the result in a specific file:
    perl -p -e 's/{{foo\nbar}}/{{foobar}}/g' {{path/to/input_file}} > {{path/to/output_file}}
  • Run a regular [e]xpression on stdin, printing matching [l]ines:
    cat {{path/to/file}} | perl -n -l -e 'print if /{{regular_expression}}/'
  • Run a regular [e]xpression on stdin, printing only the first capture group for each matching [l]ine:
    cat {{path/to/file}} | perl -n -l -e 'print $1 if /{{before}}({{regular_expression}}){{after}}/'

lp

Print files. More information: https://manned.org/lp.
  • Print the output of a command to the default printer (see lpstat command):
    echo "test" | lp
  • Print a file to the default printer:
    lp {{path/to/filename}}
  • Print a file to a named printer (see lpstat command):
    lp -d {{printer_name}} {{path/to/filename}}
  • Print N copies of file to default printer (replace N with desired number of copies):
    lp -n {{N}} {{path/to/filename}}
  • Print only certain pages to the default printer (print pages 1, 3-5, and 16):
    lp -P 1,3-5,16 {{path/to/filename}}
  • Resume printing a job:
    lp -i {{job_id}} -H resume

grafana-cli

A small executable that is bundled with Grafana serve. More information: https://grafana.com/docs/grafana/latest/cli/.
  • Install, update, or remove specific plugins:
    grafana-cli plugins {{install|update|remove}} {{plugin_id1 plugin_id2 ...}}
  • List all installed plugins:
    grafana-cli plugins ls

expand

Convert tabs to spaces. More information: https://www.gnu.org/software/coreutils/expand.
  • Convert tabs in each file to spaces, writing to stdout:
    expand {{path/to/file}}
  • Convert tabs to spaces, reading from stdin:
    expand
  • Do not convert tabs after non blanks:
    expand -i {{path/to/file}}
  • Have tabs a certain number of characters apart, not 8:
    expand -t={{number}} {{path/to/file}}
  • Use a comma separated list of explicit tab positions:
    expand -t={{1,4,6}}

zeek

Passive network traffic analyzer. Any output and log files will be saved to the current working directory. More information: https://docs.zeek.org/en/lts/quickstart.html#zeek-as-a-command-line-utility.
  • Analyze live traffic from a network interface:
    sudo zeek --iface {{interface}}
  • Analyze live traffic from a network interface and load custom scripts:
    sudo zeek --iface {{interface}} {{script1}} {{script2}}
  • Analyze live traffic from a network interface, without loading any scripts:
    sudo zeek --bare-mode --iface {{interface}}
  • Analyze live traffic from a network interface, applying a tcpdump filter:
    sudo zeek --filter {{path/to/filter}} --iface {{interface}}
  • Analyze live traffic from a network interface using a watchdog timer:
    sudo zeek --watchdog --iface {{interface}}
  • Analyze traffic from a pcap file:
    zeek --readfile {{path/to/file.trace}}

ar

Create, modify, and extract from Unix archives. Typically used for static libraries (.a) and Debian packages (.deb). See also: tar. More information: https://manned.org/ar.
  • E[x]tract all members from an archive:
    ar x {{path/to/file.a}}
  • Lis[t] contents in a specific archive:
    ar t {{path/to/file.ar}}
  • [r]eplace or add specific files to an archive:
    ar r {{path/to/file.deb}} {{path/to/debian-binary path/to/control.tar.gz path/to/data.tar.xz ...}}
  • In[s]ert an object file index (equivalent to using ranlib):
    ar s {{path/to/file.a}}
  • Create an archive with specific files and an accompanying object file index:
    ar rs {{path/to/file.a}} {{path/to/file1.o path/to/file2.o ...}}

git notes

Add or inspect object notes. More information: https://git-scm.com/docs/git-notes.
  • List all notes and the objects they are attached to:
    git notes list
  • List all notes attached to a given object (defaults to HEAD):
    git notes list [{{object}}]
  • Show the notes attached to a given object (defaults to HEAD):
    git notes show [{{object}}]
  • Append a note to a specified object (opens the default text editor):
    git notes append {{object}}
  • Append a note to a specified object, specifying the message:
    git notes append --message="{{message_text}}"
  • Edit an existing note (defaults to HEAD):
    git notes edit [{{object}}]
  • Copy a note from one object to another:
    git notes copy {{source_object}} {{target_object}}
  • Remove all the notes added to a specified object:
    git notes remove {{object}}

rsstail

tail for RSS feeds. More information: https://github.com/gvalkov/rsstail.py.
  • Show the feed of a given URL and wait for new entries appearing at the bottom:
    rsstail -u {{url}}
  • Show the feed in reverse chronological order (newer at the bottom):
    rsstail -r -u {{url}}
  • Include publication date and link:
    rsstail -pl -u {{url}}
  • Set update interval:
    rsstail -u {{url}} -i {{interval_in_seconds}}
  • Show feed and exit:
    rsstail -1 -u {{url}}

dvc unfreeze

Unfreeze stages in the DVC pipeline. This allows DVC to start tracking changes in stage dependencies again after they were frozen. See also dvc freeze. More information: https://dvc.org/doc/command-reference/unfreeze.
  • Unfreeze 1 or more specified stages:
    dvc unfreeze {{stage_name_a}} [{{stage_name_b}} ...]

go get

Add a dependency package, or download packages in legacy GOPATH mode. More information: https://pkg.go.dev/cmd/go#hdr-Add_dependencies_to_current_module_and_install_them.
  • Add a specified package to go.mod in module-mode or install the package in GOPATH-mode:
    go get {{example.com/pkg}}
  • Modify the package with a given version in module-aware mode:
    go get {{example.com/pkg}}@{{v1.2.3}}
  • Remove a specified package:
    go get {{example.com/pkg}}@{{none}}

git merge

Merge branches. More information: https://git-scm.com/docs/git-merge.
  • Merge a branch into your current branch:
    git merge {{branch_name}}
  • Edit the merge message:
    git merge --edit {{branch_name}}
  • Merge a branch and create a merge commit:
    git merge --no-ff {{branch_name}}
  • Abort a merge in case of conflicts:
    git merge --abort
  • Merge using a specific strategy:
    git merge --strategy {{strategy}} --strategy-option {{strategy_option}} {{branch_name}}

rustup default

Set the default Rust toolchain. More information: https://rust-lang.github.io/rustup.
  • Switch the default Rust toolchain (see rustup help toolchain for more information):
    rustup default {{toolchain}}

watch

Execute a program periodically, showing output fullscreen. More information: https://manned.org/watch.
  • Repeatedly run a command and show the result:
    watch {{command}}
  • Re-run a command every 60 seconds:
    watch -n {{60}} {{command}}
  • Monitor the contents of a directory, highlighting differences as they appear:
    watch -d {{ls -l}}
  • Repeatedly run a pipeline and show the result:
    watch '{{command_1}} | {{command_2}} | {{command_3}}'

dillo

A lightweight web browser intended for slow computers. More information: https://www.dillo.org/.
  • Launch Dillo:
    dillo
  • Launch Dillo with a specific window size and screen location:
    dillo --geometry {{width}}x{{height}}+{{x_position}}+{{y_position}}
  • Launch Dillo and open a specific URL:
    dillo {{duckduckgo.com}}
  • Launch Dillo and open a file or directory:
    dillo {{path/to/file_or_directory}}
  • Launch Dillo in full-screen mode:
    dillo --fullwindow
  • Display version:
    dillo --version
  • Display help:
    dillo --help

pueue add

Enqueue a task for execution. More information: https://github.com/Nukesor/pueue.
  • Add any command to the default queue:
    pueue add {{command}}
  • Pass a list of flags or arguments to a command when enqueuing:
    pueue add -- {{command --arg -f}}
  • Add a command but do not start it if it's the first in a queue:
    pueue add --stashed -- {{rsync --archive --compress /local/directory /remote/directory}}
  • Add a command to a group and start it immediately, see pueue group to manage groups:
    pueue add --immediate --group "{{CPU_intensive}}" -- {{ffmpeg -i input.mp4 frame_%d.png}}
  • Add a command and start it after commands 9 and 12 finish successfully:
    pueue add --after {{9}} {{12}} --group "{{torrents}}" -- {{transmission-cli torrent_file.torrent}}
  • Add a command with a label after some delay has passed, see pueue enqueue for valid datetime formats:
    pueue add --label "{{compressing large file}}" --delay "{{wednesday 10:30pm}}" -- "{{7z a compressed_file.7z large_file.xml}}"

rdfind

Find files with duplicate content and get rid of them. More information: https://rdfind.pauldreik.se.
  • Identify all duplicates in a given directory and output a summary:
    rdfind -dryrun true {{path/to/directory}}
  • Replace all duplicates with hardlinks:
    rdfind -makehardlinks true {{path/to/directory}}
  • Replace all duplicates with symlinks/soft links:
    rdfind -makesymlinks true {{path/to/directory}}
  • Delete all duplicates and do not ignore empty files:
    rdfind -deleteduplicates true -ignoreempty false {{path/to/directory}}

git clear

Clear a Git working directory as if it was freshly cloned with the current branch including files in .gitignore. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-clear.
  • Reset all tracked files and delete all untracked files even if they are included in the .gitignore:
    git clear

gdu

Disk usage analyzer with console interface. More information: https://github.com/dundee/gdu.
  • Interactively show the disk usage of the current directory:
    gdu
  • Interactively show the disk usage of a given directory:
    gdu {{path/to/directory}}
  • Interactively show the disk usage of all mounted disks:
    gdu --show-disks
  • Interactively show the disk usage of the current directory but ignore some sub-directories:
    gdu --ignore-dirs {{path/to/directory1,path/to/directory2,...}}
  • Ignore paths by regular expression:
    gdu --ignore-dirs-pattern '{{.*[abc]+}}'
  • Ignore hidden directories:
    gdu --no-hidden
  • Only print the result, do not enter interactive mode:
    gdu --non-interactive {{path/to/directory}}
  • Do not show the progress in non-interactive mode (useful in scripts):
    gdu --no-progress {{path/to/directory}}

git branch

Main Git command for working with branches. More information: https://git-scm.com/docs/git-branch.
  • List all branches (local and remote; the current branch is highlighted by *):
    git branch --all
  • List which branches include a specific Git commit in their history:
    git branch --all --contains {{commit_hash}}
  • Show the name of the current branch:
    git branch --show-current
  • Create new branch based on the current commit:
    git branch {{branch_name}}
  • Create new branch based on a specific commit:
    git branch {{branch_name}} {{commit_hash}}
  • Rename a branch (must not have it checked out to do this):
    git branch -m {{old_branch_name}} {{new_branch_name}}
  • Delete a local branch (must not have it checked out to do this):
    git branch -d {{branch_name}}
  • Delete a remote branch:
    git push {{remote_name}} --delete {{remote_branch_name}}

k3d

A wrapper to easily create k3s clusters inside Docker. More information: https://k3d.io.
  • Create a cluster:
    k3d cluster create {{cluster_name}}
  • Delete a cluster:
    k3d cluster delete {{cluster_name}}
  • Create a new containerized k3s node:
    k3d node create {{node_name}}
  • Import an image from Docker into a k3d cluster:
    k3d image import {{image_name}} --cluster {{cluster_name}}
  • Create a new registry:
    k3d registry create {{registry_name}}

transmission-show

Get information about a torrent file. See also: transmission. More information: https://manned.org/transmission-show.
  • Display metadata for a specific torrent:
    transmission-show {{path/to/file.torrent}}
  • Generate a magnet link for a specific torrent:
    transmission-show --magnet {{path/to/file.torrent}}
  • Query a torrent's trackers and print the current number of peers:
    transmission-show --scrape {{path/to/file.torrent}}

eva

Simple calculator REPL, similar to bc, with syntax highlighting and persistent history. More information: https://github.com/NerdyPepper/eva.
  • Run the calculator in interactive mode:
    eva
  • Calculate the result of an expression:
    eva "{{(1 + 2) * 2 ^ 2}}"
  • Calculate an expression forcing the number of decimal places to 5:
    eva --fix {{5}} "{{5 / 3}}"
  • Calculate an expression with sine and cosine:
    eva "{{sin(1) + cos(1)}}"

keytool

Keytool is a certificate management utility included with Java. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/keytool.html.
  • Create a keystore:
    keytool -genkeypair -v -keystore {{path/to/file.keystore}} -alias {{key_name}}
  • Change a keystore password:
    keytool -storepasswd -keystore {{path/to/file.keystore}}
  • Change a key's password inside a specific keystore:
    keytool -keypasswd -alias {{key_name}} -keystore {{path/to/file.keystore}}

awslogs

Queries groups, streams and events from Amazon CloudWatch logs. More information: https://github.com/jorgebastida/awslogs.
  • List log groups:
    awslogs groups
  • List existing streams for the specified group:
    awslogs streams {{/var/log/syslog}}
  • Get logs for any streams in the specified group between 1 and 2 hours ago:
    awslogs get {{/var/log/syslog}} --start='{{2h ago}}' --end='{{1h ago}}'
  • Get logs that match a specific CloudWatch Logs Filter pattern:
    awslogs get {{/aws/lambda/my_lambda_group}} --filter-pattern='{{ERROR}}'
  • Watch logs for any streams in the specified group:
    awslogs get {{/var/log/syslog}} ALL --watch

pwd

Print name of current/working directory. More information: https://www.gnu.org/software/coreutils/pwd.
  • Print the current directory:
    pwd
  • Print the current directory, and resolve all symlinks (i.e. show the "physical" path):
    pwd -P

git restore

Restore working tree files. Requires Git version 2.23+. See also git checkout and git reset. More information: https://git-scm.com/docs/git-restore.
  • Restore an unstaged file to the version of the current commit (HEAD):
    git restore {{path/to/file}}
  • Restore an unstaged file to the version of a specific commit:
    git restore --source {{commit}} {{path/to/file}}
  • Discard all unstaged changes to tracked files:
    git restore :/
  • Unstage a file:
    git restore --staged {{path/to/file}}
  • Unstage all files:
    git restore --staged :/
  • Discard all changes to files, both staged and unstaged:
    git restore --worktree --staged :/
  • Interactively select sections of files to restore:
    git restore --patch

git authors

Generate a list of committers of a Git repository. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-authors.
  • Print a full list of committers to stdout instead of to the AUTHORS file:
    git authors --list
  • Append the list of committers to the AUTHORS file and open it in the default editor:
    git authors
  • Append the list of committers, excluding emails, to the AUTHORS file and open it in the default editor:
    git authors --no-email

procs

Display information about the active processes. More information: https://github.com/dalance/procs.
  • List all processes showing the PID, user, CPU usage, memory usage, and the command which started them:
    procs
  • List all processes as a tree:
    procs --tree
  • List information about processes, if the commands which started them contain zsh:
    procs {{zsh}}
  • List information about all processes sorted by CPU time in [a]scending or [d]escending order:
    procs {{--sorta|--sortd}} cpu
  • List information about processes with either a PID, command, or user containing 41 or firefox:
    procs --or {{PID|command|user}} {{41}} {{firefox}}
  • List information about processes with both PID 41 and a command or user containing zsh:
    procs --and {{41}} {{zsh}}

git stash

Stash local Git changes in a temporary area. More information: https://git-scm.com/docs/git-stash.
  • Stash current changes, except new (untracked) files:
    git stash push -m {{optional_stash_message}}
  • Stash current changes, including new (untracked) files:
    git stash -u
  • Interactively select parts of changed files for stashing:
    git stash -p
  • List all stashes (shows stash name, related branch and message):
    git stash list
  • Show the changes as a patch between the stash (default is stash@{0}) and the commit back when stash entry was first created:
    git stash show -p {{stash@{0}}}
  • Apply a stash (default is the latest, named stash@{0}):
    git stash apply {{optional_stash_name_or_commit}}
  • Drop or apply a stash (default is stash@{0}) and remove it from the stash list if applying doesn't cause conflicts:
    git stash pop {{optional_stash_name}}
  • Drop all stashes:
    git stash clear

nextflow

Tool for running computational pipelines. Mostly used for bioinformatics workflows. More information: https://www.nextflow.io.
  • Run a pipeline, use cached results from previous runs:
    nextflow run {{main.nf}} -resume
  • Run a specific release of a remote workflow from GitHub:
    nextflow run {{user/repo}} -revision {{release_tag}}
  • Run with a given work directory for intermediate files, save execution report:
    nextflow run {{workflow}} -work-dir {{path/to/directory}} -with-report {{report.html}}
  • Show details of previous runs in current directory:
    nextflow log
  • Remove cache and intermediate files for a specific run:
    nextflow clean -force {{run_name}}
  • List all downloaded projects:
    nextflow list
  • Pull the latest version of a remote workflow from Bitbucket:
    nextflow pull {{user/repo}} -hub bitbucket
  • Update Nextflow:
    nextflow self-update

ocamlfind

The findlib package manager for OCaml. Simplifies linking executables with external libraries. More information: http://projects.camlcity.org/projects/findlib.html.
  • Compile a source file to a native binary and link with packages:
    ocamlfind ocamlopt -package {{package1}},{{package2}} -linkpkg -o {{path/to/executable}} {{path/to/source.ml}}
  • Compile a source file to a bytecode binary and link with packages:
    ocamlfind ocamlc -package {{package1}},{{package2}} -linkpkg -o {{path/to/executable}} {{path/to/source.ml}}
  • Cross-compile for a different platform:
    ocamlfind -toolchain {{cross-toolchain}} ocamlopt -o {{path/to/executable}} {{path/to/source.ml}}

git subtree

Tool to manage project dependencies as subprojects. More information: https://manpages.debian.org/testing/git-man/git-subtree.1.en.html.
  • Add a Git repository as a subtree:
    git subtree add --prefix={{path/to/directory/}} --squash {{repository_url}} {{branch_name}}
  • Update subtree repository to its latest commit:
    git subtree pull --prefix={{path/to/directory/}} {{repository_url}} {{branch_name}}
  • Merge recent changes up to the latest subtree commit into the subtree:
    git subtree merge --prefix={{path/to/directory/}} --squash {{repository_url}} {{branch_name}}
  • Push commits to a subtree repository:
    git subtree push --prefix={{path/to/directory/}} {{repository_url}} {{branch_name}}
  • Extract a new project history from the history of a subtree:
    git subtree split --prefix={{path/to/directory/}} {{repository_url}} -b {{branch_name}}

llvm-g++

This command is an alias of clang++.
  • View documentation for the original command:
    tldr clang++

mytop

Display MySQL server performance info like top. More information: http://jeremy.zawodny.com/mysql/mytop/mytop.html.
  • Start mytop:
    mytop
  • Connect with a specified username and password:
    mytop -u {{user}} -p {{password}}
  • Connect with a specified username (the user will be prompted for a password):
    mytop -u {{user}} --prompt
  • Do not show any idle (sleeping) threads:
    mytop -u {{user}} -p {{password}} --noidle

peco

Interactive filtering tool. More information: https://github.com/peco/peco.
  • Start peco on all files in the specified directory:
    find {{path/to/directory}} -type f | peco
  • Start peco for running processes:
    ps aux | peco
  • Start peco with a specified query:
    peco --query "{{query}}"

fg

Run jobs in foreground. More information: https://manned.org/fg.
  • Bring most recently suspended or running background job to foreground:
    fg
  • Bring a specific job to foreground:
    fg %{{job_id}}

kotlinc

Kotlin compiler. More information: https://kotlinlang.org/docs/command-line.html.
  • Start a REPL (interactive shell):
    kotlinc
  • Compile a Kotlin file:
    kotlinc {{path/to/file.kt}}
  • Compile several Kotlin files:
    kotlinc {{path/to/file1.kt path/to/file2.kt ...}}
  • Execute a specific Kotlin Script file:
    kotlinc -script {{path/to/file.kts}}
  • Compile a Kotlin file into a self contained jar file with the Kotlin runtime library included:
    kotlinc {{path/to/file.kt}} -include-runtime -d {{path/to/file.jar}}

mycli

A command-line client for MySQL that can do auto-completion and syntax highlighting. More information: https://mycli.net.
  • Connect to a local database on port 3306, using the current user's username:
    mycli {{database_name}}
  • Connect to a database (user will be prompted for a password):
    mycli -u {{username}} {{database_name}}
  • Connect to a database on another host:
    mycli -h {{database_host}} -P {{port}} -u {{username}} {{database_name}}

aws quicksight

CLI for AWS QuickSight. Access QuickSight entities. More information: https://docs.aws.amazon.com/cli/latest/reference/quicksight/.
  • List datasets:
    aws quicksight list-data-sets --aws-account-id {{aws_account_id}}
  • List users:
    aws quicksight list-users --aws-account-id {{aws_account_id}} --namespace default
  • List groups:
    aws quicksight list-groups --aws-account-id {{aws_account_id}} --namespace default
  • List dashboards:
    aws quicksight list-dashboards --aws-account-id {{aws_account_id}}
  • Display detailed information about a dataset:
    aws quicksight describe-data-set --aws-account-id {{aws_account_id}} --data-set-id {{data_set_id}}
  • Display who has access to the dataset and what kind of actions they can perform on the dataset:
    aws quicksight describe-data-set-permissions --aws-account-id {{aws_account_id}} --data-set-id {{data_set_id}}

b2sum

Calculate BLAKE2 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/b2sum.
  • Calculate the BLAKE2 checksum for one or more files:
    b2sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of BLAKE2 checksums to a file:
    b2sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.b2}}
  • Calculate a BLAKE2 checksum from stdin:
    {{command}} | b2sum
  • Read a file of BLAKE2 sums and filenames and verify all files have matching checksums:
    b2sum --check {{path/to/file.b2}}
  • Only show a message for missing files or when verification fails:
    b2sum --check --quiet {{path/to/file.b2}}
  • Only show a message when verification fails, ignoring missing files:
    b2sum --ignore-missing --check --quiet {{path/to/file.b2}}

alacritty

Cross-platform, GPU-accelerated terminal emulator. More information: https://github.com/alacritty/alacritty.
  • Open a new Alacritty window:
    alacritty
  • Run in a specific directory:
    alacritty --working-directory {{path/to/directory}}
  • Run a command in a new Alacritty window:
    alacritty -e {{command}}
  • Specify alternative configuration file (defaults to $XDG_CONFIG_HOME/alacritty/alacritty.yml):
    alacritty --config-file {{path/to/config.yml}}
  • Run with live config reload enabled (can also be enabled by default in alacritty.yml):
    alacritty --live-config-reload --config-file {{path/to/config.yml}}

virt-clone

Clone a libvirt virtual machine. More information: https://manned.org/virt-clone.
  • Clone a virtual machine and automatically generate a new name, storage path, and MAC address:
    virt-clone --original {{vm_name}} --auto-clone
  • Clone a virtual machine and specify the new name, storage path, and MAC address:
    virt-clone --original {{vm_name}} --name {{new_vm_name}} --file {{path/to/new_storage}} --mac {{ff:ff:ff:ff:ff:ff|RANDOM}}


sgpt

Command-line productivity tool powered by OpenAI's GPT models. More information: https://github.com/TheR1D/shell_gpt#readme.
  • Use it as a search engine, asking for the mass of the sun:
    sgpt "{{mass of the sun}}"
  • Execute Shell commands, and apply chmod 444 to all files in the current directory:
    sgpt --shell "{{make all files in current directory read only}}"
  • Generate code, solving classic fizz buzz problem:
    sgpt --code "{{solve fizz buzz problem using Python}}"
  • Start a chat session with a unique session name:
    sgpt --chat {{session_name}} "{{please remember my favorite number: 4}}"
  • Start a REPL (Read–eval–print loop) session:
    sgpt --repl {{command}}
  • Display help:
    sgpt --help

eksctl

The official CLI for Amazon EKS. More information: https://eksctl.io.
  • Create a basic cluster:
    eksctl create cluster
  • List the details about a cluster or all of the clusters:
    eksctl get cluster --name={{name}} --region={{region}}
  • Create a cluster passing all configuration information in a file:
    eksctl create cluster --config-file={{path/to/file}}
  • Create a cluster using a configuration file and skip creating nodegroups until later:
    eksctl create cluster --config-file=<path> --without-nodegroup
  • Delete a cluster:
    eksctl delete cluster --name={{name}} --region={{region}}
  • Create cluster and write cluster credentials to a file other than the default:
    eksctl create cluster --name={{name}} --nodes={{4}} --kubeconfig={{path/to/config.yaml}}
  • Create a cluster and prevent storing cluster credentials locally:
    eksctl create cluster --name={{name}} --nodes={{4}} --write-kubeconfig=false
  • Create a cluster and let eksctl manage cluster credentials under the ~/.kube/eksctl/clusters directory:
    eksctl create cluster --name={{name}} --nodes={{4}} --auto-kubeconfig


kdeconnect-cli

KDE's Connect CLI. More information: https://kdeconnect.kde.org.
  • List all devices:
    kdeconnect-cli --list-devices
  • List available (paired and reachable) devices:
    kdeconnect-cli --list-available
  • Request pairing with a specific device, specifying its ID:
    kdeconnect-cli --pair --device {{device_id}}
  • Ring a device, specifying its name:
    kdeconnect-cli --ring --name "{{device_name}}"
  • Share an URL or file with a paired device, specifying its ID:
    kdeconnect-cli --share {{url|path/to/file}} --device {{device_id}}
  • Send an SMS with an optional attachment to a specific number:
    kdeconnect-cli --name "{{device_name}}" --send-sms "{{message}}" --destination {{phone_number}} --attachment {{path/to/file}}
  • Unlock a specific device:
    kdeconnect-cli --name "{{device_name}}" --unlock
  • Simulate a key press on a specific device:
    kdeconnect-cli --name "{{device_name}}" --send-keys {{key}}

ogrinfo

List information about an OGR-supported data source. More information: https://gdal.org/programs/ogrinfo.html.
  • List supported formats:
    ogrinfo --formats
  • List layers of a data source:
    ogrinfo {{path/to/input.gpkg}}
  • Get detailed information about a specific layer of a data source:
    ogrinfo {{path/to/input.gpkg}} {{layer_name}}
  • Show summary information about a specific layer of a data source:
    ogrinfo -so {{path/to/input.gpkg}} {{layer_name}}
  • Show summary of all layers of the data source:
    ogrinfo -so -al {{path/to/input.gpkg}}
  • Show detailed information of features matching a condition:
    ogrinfo -where '{{attribute_name > 42}}' {{path/to/input.gpkg}} {{layer_name}}
  • Update a layer in the data source with SQL:
    ogrinfo {{path/to/input.geojson}} -dialect SQLite -sql "{{UPDATE input SET attribute_name = 'foo'}}"

git fame

Pretty-print Git repository contributions. More information: https://github.com/casperdcl/git-fame.
  • Calculate contributions for the current Git repository:
    git fame
  • Exclude files/directories that match the specified regular expression:
    git fame --excl "{{regular_expression}}"
  • Calculate contributions made after the specified date:
    git fame --since "{{3 weeks ago|2021-05-13}}"
  • Display contributions in the specified format:
    git fame --format {{pipe|yaml|json|csv|tsv}}
  • Display contributions per file extension:
    git fame --bytype
  • Ignore whitespace changes:
    git fame --ignore-whitespace
  • Detect inter-file line moves and copies:
    git fame -C
  • Detect intra-file line moves and copies:
    git fame -M

vimdiff

Open up two or more files in vim and show the differences between them. See also vim, vimtutor, nvim. More information: https://www.vim.org.
  • Open two files and show the differences:
    vimdiff {{file1}} {{file2}}
  • Move the cursor to the window on the left|right:
    Ctrl + w {{h|l}}
  • Jump to the previous difference:
    [c
  • Jump to the next difference:
    ]c
  • Copy the highlighted difference from the other window to the current window:
    do
  • Copy the highlighted difference from the current window to the other window:
    dp
  • Update all highlights and folds:
    :diffupdate
  • Toggle the highlighted code fold:
    za

at

Execute commands once at a later time. Service atd (or atrun) should be running for the actual executions. More information: https://manned.org/at.
  • Execute commands from stdin in 5 minutes (press Ctrl + D when done):
    at now + 5 minutes
  • Execute a command from stdin at 10:00 AM today:
    echo "{{./make_db_backup.sh}}" | at 1000
  • Execute commands from a given file next Tuesday:
    at -f {{path/to/file}} 9:30 PM Tue

qm stop

Stop a virtual machine. More information: https://pve.proxmox.com/pve-docs/qm.1.html.
  • Stop a virtual machine immediately:
    qm stop {{VM_ID}}
  • Stop a virtual machine and wait for at most 10 seconds:
    qm stop --timeout {{10}} {{VM_ID}}
  • Stop a virtual machine and skip lock (only root can use this option):
    qm stop --skiplock {{true}} {{VM_ID}}
  • Stop a virtual machine and don't deactivate storage volumes:
    qm stop --keepActive {{true}} {{VM_ID}}

tmux

Terminal multiplexer. It allows multiple sessions with windows, panes, and more. See also zellij and screen. More information: https://github.com/tmux/tmux.
  • Start a new session:
    tmux
  • Start a new named session:
    tmux new -s {{name}}
  • List existing sessions:
    tmux ls
  • Attach to the most recently used session:
    tmux attach
  • Detach from the current session (inside a tmux session):
    Ctrl-B d
  • Create a new window (inside a tmux session):
    Ctrl-B c
  • Switch between sessions and windows (inside a tmux session):
    Ctrl-B w
  • Kill a session by name:
    tmux kill-session -t {{name}}

texdoc

Search for appropriate documentation for (La)TeX commands or packages. More information: https://texdoc.org/index.html.
  • Open the first search result in the default PDF viewer:
    texdoc {{search}}
  • List the best search results:
    texdoc --list {{search}}
  • Open full documentation of texdoc:
    texdoc {{texdoc}}

next

React framework that uses server-side rendering for building optimized web applications. More information: https://nextjs.org/docs.
  • Start the current application in development mode:
    next dev
  • Start the current application and listen on a specific port:
    next dev --port {{port}}
  • Build the current application optimized for production:
    next build
  • Start the compiled application in production mode:
    next start
  • Start the compiled application and listen on a specific port:
    next start --port {{port}}
  • Export the current application to static HTML pages:
    next export
  • Display the Next.js telemetry status:
    next telemetry
  • Display help for a subcommand:
    next {{build|dev|export|start|telemetry}} --help

irssi

Text based IRC client. More information: https://irssi.org.
  • Open Irssi and connect to a server with a nickname:
    irssi -n {{nickname}} -c {{irc.example.com}}
  • Open Irssi and connect with a specific server on a given port:
    irssi -c {{irc.example.com}} -p {{port}}
  • View the help:
    irssi --help
  • Join a channel:
    /join {{#channelname}}
  • Change active window (starts at 1):
    /win {{window_number}}
  • Exit the application cleanly and quitting any server(s):
    /quit

github-label-sync

A command-line interface for synchronizing GitHub labels. More information: https://github.com/Financial-Times/github-label-sync.
  • Synchronize labels using a local labels.json file:
    github-label-sync --access-token {{token}} {{repository_name}}
  • Synchronize labels using a specific labels JSON file:
    github-label-sync --access-token {{token}} --labels {{url|path/to/json_file}} {{repository_name}}
  • Perform a dry run instead of actually synchronizing labels:
    github-label-sync --access-token {{token}} --dry-run {{repository_name}}
  • Keep labels that aren't in labels.json:
    github-label-sync --access-token {{token}} --allow-added-labels {{repository_name}}
  • Synchronize using the GITHUB_ACCESS_TOKEN environment variable:
    github-label-sync {{repository_name}}

flac

Encodes, decodes and tests FLAC files. More information: https://xiph.org/flac.
  • Encode a WAV file to FLAC (this will create a FLAC file in the same location as the WAV file):
    flac {{path/to/file.wav}}
  • Encode a WAV file to FLAC, specifying the output file:
    flac -o {{path/to/output.flac}} {{path/to/file.wav}}
  • Decode a FLAC file to WAV, specifying the output file:
    flac -d -o {{path/to/output.wav}} {{path/to/file.flac}}
  • Test a FLAC file for the correct encoding:
    flac -t {{path/to/file.flac}}

qtcreator

Cross-platform IDE for Qt applications. More information: https://doc.qt.io/qtcreator/creator-cli.html.
  • Start Qt Creator:
    qtcreator
  • Start Qt Creator and restore the last session:
    qtcreator -lastsession
  • Start Qt Creator but don't load the specified plugin:
    qtcreator -noload {{plugin}}
  • Start Qt Creator but don't load any plugins:
    qtcreator -noload {{all}}
  • Start Qt Creator in presentation mode with pop-ups for keyboard shortcuts:
    qtcreator -presentationMode
  • Start Qt Creator and show the diff from a specific commit:
    qtcreator -git-show {{commit}}

argocd app

Command-line interface to manage applications by Argo CD. More information: https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd_app/.
  • List applications:
    argocd app list --output {{json|yaml|wide}}
  • Get application details:
    argocd app get {{app_name}} --output {{json|yaml|wide}}
  • Deploy application internally (to the same cluster that Argo CD is running in):
    argocd app create {{app_name}} --repo {{git_repo_url}} --path {{path/to/repo}} --dest-server https://kubernetes.default.svc --dest-namespace {{ns}}
  • Delete an application:
    argocd app delete {{app_name}}
  • Enable application auto-sync:
    argocd app set {{app_name}} --sync-policy auto --auto-prune --self-heal
  • Preview app synchronization without affecting cluster:
    argocd app sync {{app_name}} --dry-run --prune
  • Show application deployment history:
    argocd app history {{app_name}} --output {{wide|id}}
  • Rollback application to a previous deployed version by history ID (deleting unexpected resources):
    argocd app rollback {{app_name}} {{history_id}} --prune

virsh pool-list

List information about virtual machine storage pools. See also: virsh, virsh-pool-autostart, virsh-pool-define-as. More information: https://manned.org/virsh.
  • List the name, state, and whether autostart is enabled or disabled for active storage pools:
    virsh pool-list
  • List information for active and inactive or just inactive storage pools:
    virsh pool-list --{{all|inactive}}
  • List extended information about persistence, capacity, allocation, and available space for active storage pools:
    virsh pool-list --details
  • List information for active storage pools with either autostart enabled or disabled:
    virsh pool-list --{{autostart|no-autostart}}
  • List information for active storage pools that are either persistent or transient:
    virsh pool-list --{{persistent|transient}}
  • List the name and UUID of active storage pools:
    virsh pool-list --name --uuid

hub

A wrapper for Git that adds commands for working with GitHub-based projects. If set up as instructed by hub alias, one can use git to run hub commands. More information: https://hub.github.com.
  • Clone a repository using its slug (owners can omit the username):
    hub clone {{username}}/{{repo_name}}
  • Create a fork of the current repository (cloned from another user) under your GitHub profile:
    hub fork
  • Push the current local branch to GitHub and create a PR for it in the original repository:
    hub push {{remote_name}} && hub pull-request
  • Create a PR of the current (already pushed) branch, reusing the message from the first commit:
    hub pull-request --no-edit
  • Create a new branch with the contents of a pull request and switch to it:
    hub pr checkout {{pr_number}}
  • Upload the current (local-only) repository to your GitHub account:
    hub create
  • Fetch Git objects from upstream and update local branches:
    hub sync

nix-build

Build a Nix expression. See also: tldr nix3 build. More information: https://nixos.org/manual/nix/stable/command-ref/nix-build.html.
  • Build a Nix expression:
    nix-build '<nixpkgs>' --attr {{firefox}}
  • Build a sandboxed Nix expression (on non-NixOS):
    nix-build '<nixpkgs>' --attr {{firefox}} --option sandbox true

ping

Send ICMP ECHO_REQUEST packets to network hosts. More information: https://manned.org/ping.
  • Ping host:
    ping {{host}}
  • Ping a host only a specific number of times:
    ping -c {{count}} {{host}}
  • Ping host, specifying the interval in seconds between requests (default is 1 second):
    ping -i {{seconds}} {{host}}
  • Ping host without trying to lookup symbolic names for addresses:
    ping -n {{host}}
  • Ping host and ring the bell when a packet is received (if your terminal supports it):
    ping -a {{host}}
  • Also display a message if no response was received:
    ping -O {{host}}

tsc

TypeScript compiler. More information: https://www.typescriptlang.org/docs/handbook/compiler-options.html.
  • Compile a TypeScript file foobar.ts into a JavaScript file foobar.js:
    tsc {{foobar.ts}}
  • Compile a TypeScript file into JavaScript using a specific target syntax (default is ES3):
    tsc --target {{ES5|ES2015|ES2016|ES2017|ES2018|ESNEXT}} {{foobar.ts}}
  • Compile a TypeScript file into a JavaScript file with a custom name:
    tsc --outFile {{output.js}} {{input.ts}}
  • Compile all .ts files of a TypeScript project defined in a tsconfig.json file:
    tsc --build {{tsconfig.json}}
  • Run the compiler using command-line options and arguments fetched from a text file:
    tsc @{{args.txt}}
  • Type-check multiple JavaScript files, and output only the errors:
    tsc --allowJs --checkJs --noEmit {{src/**/*.js}}

vela

Command-line tools for the Vela pipeline. More information: https://go-vela.github.io/docs/reference/cli/.
  • Trigger a pipeline to run from a Git branch, commit or tag:
    vela add deployment --org {{organization}} --repo {{repository_name}} --target {{environment}} --ref {{branch|commit|refs/tags/git_tag}} --description "{{deploy_description}}"
  • List deployments for a repository:
    vela get deployment --org {{organization}} --repo {{repository_name}}
  • Inspect a specific deployment:
    vela view deployment --org {{organization}} --repo {{repository_name}} --deployment {{deployment_number}}

httpflow

A command-line utility to capture and dump HTTP streams. More information: https://github.com/six-ddc/httpflow.
  • Capture traffic on all interfaces:
    httpflow -i {{any}}
  • Use a bpf-style capture to filter the results:
    httpflow {{host httpbin.org or host baidu.com}}
  • Use a regular expression to filter requests by URLs:
    httpflow -u '{{regular_expression}}'
  • Read packets from pcap format binary file:
    httpflow -r {{out.cap}}
  • Write the output to a directory:
    httpflow -w {{path/to/directory}}

phpstorm

A cross-platform IDE for PHP based on the JetBrains IntelliJ platform. More information: https://jetbrains.com/phpstorm.
  • Open a specific directory:
    phpstorm {{path/to/directory}}
  • Open a file:
    phpstorm {{path/to/file}}
  • Open a file at a specific line:
    phpstorm --line {{line_number}} {{path/to/file}}
  • View the differences between two files:
    phpstorm diff {{path/to/left_file}} {{path/to/right_file}}

head

Output the first part of files. More information: https://manned.org/head.1p.
  • Output the first few lines of a file:
    head -n {{count}} {{path/to/file}}

gitlab-runner

Manage GitLab runners. More information: https://docs.gitlab.com/runner/.
  • Register a runner:
    sudo gitlab-runner register --url {{https://gitlab.example.com}} --registration-token {{token}} --name {{name}}
  • Register a runner with a Docker executor:
    sudo gitlab-runner register --url {{https://gitlab.example.com}} --registration-token {{token}} --name {{name}} --executor {{docker}}
  • Unregister a runner:
    sudo gitlab-runner unregister --name {{name}}
  • Display the status of the runner service:
    sudo gitlab-runner status
  • Restart the runner service:
    sudo gitlab-runner restart
  • Check if the registered runners can connect to GitLab:
    sudo gitlab-runner verify

nest

Command-line tool to initialize, develop, and maintain Nest applications. More information: https://docs.nestjs.com/cli/overview.
  • Display information about installed nest version:
    nest info
  • Create a new NestJS project in a directory of the same name:
    nest new {{project_name}}
  • Build a specific NestJS project:
    nest build {{project_name}}
  • Run a specific NestJS project:
    nest start {{project_name}}
  • Import a library into the current NestJS project:
    nest add {{library_name}}

pg_restore

Restore a PostgreSQL database from an archive file created by pg_dump. More information: https://www.postgresql.org/docs/current/app-pgrestore.html.
  • Restore an archive into an existing database:
    pg_restore -d {{db_name}} {{archive_file.dump}}
  • Same as above, customize username:
    pg_restore -U {{username}} -d {{db_name}} {{archive_file.dump}}
  • Same as above, customize host and port:
    pg_restore -h {{host}} -p {{port}} -d {{db_name}} {{archive_file.dump}}
  • List database objects included in the archive:
    pg_restore --list {{archive_file.dump}}
  • Clean database objects before creating them:
    pg_restore --clean -d {{db_name}} {{archive_file.dump}}
  • Use multiple jobs to do the restoring:
    pg_restore -j {{2}} -d {{db_name}} {{archive_file.dump}}

fping

A more powerful ping which can ping multiple hosts. More information: https://fping.org.
  • List alive hosts within a subnet generated from a netmask:
    fping -a -g 192.168.1.0/24
  • List alive hosts within a subnet generated from an IP range:
    fping -a -g 192.168.1.1 192.168.1.254
  • List unreachable hosts within a subnet generated from a netmask:
    fping -u -g 192.168.1.0/24

nkf

Network kanji filter. Converts kanji code from one encoding to another. More information: https://manned.org/nkf.
  • Convert to UTF-8 encoding:
    nkf -w {{path/to/file.txt}}
  • Convert to SHIFT_JIS encoding:
    nkf -s {{path/to/file.txt}}
  • Convert to UTF-8 encoding and overwrite the file:
    nkf -w --overwrite {{path/to/file.txt}}
  • Set new line code to LF and overwrite (UNIX type):
    nkf -d --overwrite {{path/to/file.txt}}
  • Set new line code to CRLF and overwrite (windows type):
    nkf -c --overwrite {{path/to/file.txt}}
  • Decrypt mime file and overwrite:
    nkf -m --overwrite {{path/to/file.txt}}

git credential-cache

Git helper to temporarily store passwords in memory. More information: https://git-scm.com/docs/git-credential-cache.
  • Store Git credentials for a specific amount of time:
    git config credential.helper 'cache --timeout={{time_in_seconds}}'

promtool

Tooling for the Prometheus monitoring system. More information: https://prometheus.io/docs/prometheus/latest/getting_started/.
  • Check if the config files are valid or not (if present report errors):
    promtool check config {{config_file.yml}}
  • Check if the rule files are valid or not (if present report errors):
    promtool check rules {{rules_file.yml}}
  • Pass Prometheus metrics over stdin to check them for consistency and correctness:
    curl --silent {{http://example.com:9090/metrics/}} | promtool check metrics
  • Unit tests for rules config:
    promtool test rules {{test_file.yml}}

git cherry

Find commits that have yet to be applied upstream. More information: https://git-scm.com/docs/git-cherry.
  • Show commits (and their messages) with equivalent commits upstream:
    git cherry -v
  • Specify a different upstream and topic branch:
    git cherry {{origin}} {{topic}}
  • Limit commits to those within a given limit:
    git cherry {{origin}} {{topic}} {{base}}

csvsql

Generate SQL statements for a CSV file or execute those statements directly on a database. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvsql.html.
  • Generate a CREATE TABLE SQL statement for a CSV file:
    csvsql {{path/to/data.csv}}
  • Import a CSV file into an SQL database:
    csvsql --insert --db "{{mysql://user:password@host/database}}" {{data.csv}}
  • Run an SQL query on a CSV file:
    csvsql --query "{{select * from 'data'}}" {{data.csv}}


git column

Display data in columns. More information: https://git-scm.com/docs/git-column.
  • Format stdin as multiple columns:
    ls | git column --mode={{column}}
  • Format stdin as multiple columns with a maximum width of 100:
    ls | git column --mode=column --width={{100}}
  • Format stdin as multiple columns with a maximum padding of 30:
    ls | git column --mode=column --padding={{30}}

opt

A tool that takes LLVM source files and runs specified optimizations and/or analyses on them. More information: https://llvm.org/docs/CommandGuide/opt.html.
  • Run an optimization or analysis on a bitcode file:
    opt -{{passname}} {{path/to/file.bc}} -S -o {{file_opt.bc}}
  • Output the Control Flow Graph of a function to a .dot file:
    opt {{-dot-cfg}} -S {{path/to/file.bc}} -disable-output
  • Optimize the program at level 2 and output the result to another file:
    opt -O2 {{path/to/file.bc}} -S -o {{path/to/output_file.bc}}

docker inspect

Return low-level information on Docker objects. More information: https://docs.docker.com/engine/reference/commandline/inspect/.
  • Show help:
    docker inspect
  • Display information about a container, image, or volume using a name or ID:
    docker inspect {{container|image|ID}}
  • Display a container's IP address:
    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' {{container}}
  • Display the path to the container's log file:
    docker inspect --format='{{.LogPath}}' {{container}}
  • Display the image name of the container:
    docker inspect --format='{{.Config.Image}}' {{container}}
  • Display the configuration information as JSON:
    docker inspect --format='{{json .Config}}' {{container}}
  • Display all port bindings:
    docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' {{container}}

topydo

A to-do list application that uses the todo.txt format. More information: https://github.com/topydo/topydo.
  • Add a to-do to a specific project with a given context:
    topydo add "{{todo_message}} +{{project_name}} @{{context_name}}"
  • Add a to-do with a due date of tomorrow with a priority of A:
    topydo add "(A) {{todo _message}} due:{{1d}}"
  • Add a to-do with a due date of Friday:
    topydo add "{{todo_message}} due:{{fri}}"
  • Add a non-strict repeating to-do (next due = now + rec):
    topydo add "water flowers due:{{mon}} rec:{{1w}}"
  • Add a strict repeating to-do (next due = current due + rec):
    topydo add "{{todo_message}} due:{{2020-01-01}} rec:{{+1m}}"
  • Revert the last topydo command executed:
    topydo revert

rustup update

Update Rust toolchains and rustup itself (if not installed using a package manager). More information: https://rust-lang.github.io/rustup.
  • Update all installed toolchains and rustup:
    rustup update
  • Install or update a specific toolchain (see rustup help toolchain for more information):
    rustup update {{toolchain}}

apropos

Search the manual pages for names and descriptions. More information: https://manned.org/apropos.
  • Search for a keyword using a regular expression:
    apropos {{regular_expression}}
  • Search without restricting the output to the terminal width:
    apropos -l {{regular_expression}}
  • Search for pages that contain all the expressions given:
    apropos {{regular_expression_1}} -a {{regular_expression_2}} -a {{regular_expression_3}}

nix shell

Start a shell in which the specified packages are available. See also: tldr nix-shell. See tldr nix3 flake for information about flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-shell.html.
  • Start an interactive shell with some packages from nixpkgs:
    nix shell {{nixpkgs#pkg1 nixpkgs#packageSet.pkg2 ...}}
  • Start a shell providing a package from an older version of nixpkgs (21.05):
    nix shell {{nixpkgs/nixos-21.05#pkg}}
  • Start a shell with the "default package" from a flake in the current directory, printing build logs if any builds happen:
    nix shell -L
  • Start a shell with a package from a flake on GitHub:
    nix shell {{github:owner/repo#pkg}}
  • Run a command in a shell with a package:
    nix shell {{nixpkgs#pkg}} -c {{some-cmd --someflag 'Some other arguments'}}

dokku

Docker powered mini-Heroku (PaaS). Easily deploy multiple apps to your server in different languages using a single git-push command. More information: https://github.com/dokku/dokku.
  • List running apps:
    dokku apps
  • Create an app:
    dokku apps:create {{app_name}}
  • Remove an app:
    dokku apps:destroy {{app_name}}
  • Install plugin:
    dokku plugin:install {{full_repo_url}}
  • Link database to an app:
    dokku {{db}}:link {{db_name}} {{app_name}}

httprobe

Take a list of domains and probe for working HTTP and HTTPS servers. More information: https://github.com/tomnomnom/httprobe.
  • Probe a list of domains from a text file:
    cat {{input_file}} | httprobe
  • Only check for HTTP if HTTPS is not working:
    cat {{input_file}} | httprobe --prefer-https
  • Probe additional ports with a given protocol:
    cat {{input_file}} | httprobe -p {{https:2222}}
  • Output all available options:
    httprobe --help

javac

Java application compiler. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/javac.html.
  • Compile a .java file:
    javac {{file.java}}
  • Compile several .java files:
    javac {{file1.java}} {{file2.java}} {{file3.java}}
  • Compile all .java files in current directory:
    javac {{*.java}}
  • Compile a .java file and place the resulting class file in a specific directory:
    javac -d {{path/to/directory}} {{file.java}}

mosquitto_passwd

Manage password files for mosquitto. See also mosquitto, the MQTT server that this manages. More information: https://mosquitto.org/man/mosquitto_passwd-1.html.
  • Add a new user to a password file (will prompt to enter the password):
    mosquitto_passwd {{path/to/password_file}} {{username}}
  • Create the password file if it doesn't already exist:
    mosquitto_passwd -c {{path/to/password_file}} {{username}}
  • Delete the specified username instead:
    mosquitto_passwd -D {{path/to/password_file}} {{username}}
  • Upgrade an old plain-text password file to a hashed password file:
    mosquitto_passwd -U {{path/to/password_file}}

flarectl

Official CLI for Cloudflare. More information: https://github.com/cloudflare/cloudflare-go/blob/master/cmd/flarectl/README.md.
  • Block a specific IP:
    flarectl firewall rules create --zone="{{example.com}}" --value="{{8.8.8.8}}" --mode="{{block}}" --notes="{{Block bad actor}}"
  • Add a DNS record:
    flarectl dns create --zone="{{example.com}}" --name="{{app}}" --type="{{CNAME}}" --content="{{myapp.herokuapp.com}}" --proxy
  • List all Cloudflare IPv4/IPv6 ranges:
    flarectl ips --ip-type {{ipv4|ipv6|all}}
  • Create many new Cloudflare zones automatically with names from domains.txt:
    for domain in $(cat {{domains.txt}}); do flarectl zone info --zone=$domain; done
  • List all firewall rules:
    flarectl firewall rules list

xml list

List a directory's contents (like ls) in XML format. More information: http://xmlstar.sourceforge.net/docs.php.
  • Write the current directory's listing to an XML document:
    xml list > {{path/to/dir_list.xml}}
  • Write the specified directory's listing to an XML document:
    xml list {{path/to/directory}} > {{path/to/dir_list.xml}}
  • Display help for the list subcommand:
    xml list --help

fossil commit

Commit files to a Fossil repository. More information: https://fossil-scm.org/home/help/commit.
  • Create a new version containing all the changes in the current checkout; user will be prompted for a comment:
    fossil commit
  • Create a new version containing all the changes in the current checkout, using the specified comment:
    fossil commit --comment "{{comment}}"
  • Create a new version containing all the changes in the current checkout with a comment read from a specific file:
    fossil commit --message-file {{path/to/commit_message_file}}
  • Create a new version containing changes from the specified files; user will be prompted for a comment:
    fossil commit {{path/to/file1}} {{path/to/file2}}

bandwhich

Display the current network utilization by process, connection or remote IP/hostname. More information: https://github.com/imsnif/bandwhich.
  • Show the remote addresses table only:
    bandwhich --addresses
  • Show DNS queries:
    bandwhich --show-dns
  • Show total (cumulative) usage:
    bandwhich --total-utilization
  • Show the network utilization for a specific network interface:
    bandwhich --interface {{eth0}}
  • Show DNS queries with a given DNS server:
    bandwhich --show-dns --dns-server {{dns_server_ip}}

yolo

The YOLO command-line interface lets you simply train, validate or infer models on various tasks and versions. More information: https://docs.ultralytics.com/cli/.
  • Create a copy of the default configuration in your current working directory:
    yolo task=init
  • Train the object detection, instance segment, or classification model with the specified configuration file:
    yolo task={{detect|segment|classify}} mode=train cfg={{path/to/config.yaml}}

django-admin

Django’s utility for administrative tasks. More information: https://docs.djangoproject.com/en/4.1/ref/django-admin/.
  • Create a new Django project:
    django-admin startproject {{project_name}}
  • Create a new app for the current project:
    django-admin startapp {{app_name}}
  • Check the current version of Django:
    django-admin --version
  • Display more information for the given command:
    django-admin help {{command}}

phpize

Prepare a PHP extension for compiling. More information: https://www.php.net/manual/install.pecl.phpize.
  • Prepare the PHP extension in the current directory for compiling:
    phpize
  • Delete files previously created by phpize:
    phpize --clean

pamixer

A simple command-line mixer for PulseAudio. More information: https://github.com/cdemoulins/pamixer.
  • List all sinks and sources with their corresponding IDs:
    pamixer --list-sinks --list-sources
  • Set the volume to 75% on the default sink:
    pamixer --set-volume {{75}}
  • Toggle mute on a sink other than the default:
    pamixer --toggle-mute --sink {{ID}}
  • Increase the volume on default sink by 5%:
    pamixer --increase {{5}}
  • Decrease the volume on a source by 5%:
    pamixer --decrease {{5}} --source {{ID}}
  • Use the allow boost option to increase, decrease, or set the volume above 100%:
    pamixer --set-volume {{105}} --allow-boost
  • Mute the default sink (use --unmute instead to unmute):
    pamixer --mute


mv

Move or rename files and directories. More information: https://www.gnu.org/software/coreutils/mv.
  • Rename a file or directory when the target is not an existing directory:
    mv {{path/to/source}} {{path/to/target}}
  • Move a file or directory into an existing directory:
    mv {{path/to/source}} {{path/to/existing_directory}}
  • Move multiple files into an existing directory, keeping the filenames unchanged:
    mv {{path/to/source1 path/to/source2 ...}} {{path/to/existing_directory}}
  • Do not prompt for confirmation before overwriting existing files:
    mv -f {{path/to/source}} {{path/to/target}}
  • Prompt for confirmation before overwriting existing files, regardless of file permissions:
    mv -i {{path/to/source}} {{path/to/target}}
  • Do not overwrite existing files at the target:
    mv -n {{path/to/source}} {{path/to/target}}
  • Move files in verbose mode, showing files after they are moved:
    mv -v {{path/to/source}} {{path/to/target}}

pwgen

Generate pronounceable passwords. More information: https://github.com/tytso/pwgen.
  • Generate random password with s[y]mbols:
    pwgen -y {{length}}
  • Generate secure, hard-to-memorize passwords:
    pwgen -s {{length}}
  • Generate password with at least one capital letter in them:
    pwgen -c {{length}}

forever

Server-side JavaScript application that makes sure Node.js applications run indefinitely (restarts after exit). More information: https://github.com/foreversd/forever.
  • Start running a file forever (as a daemon):
    forever {{script}}
  • List running "forever" processes (along with IDs and other details of "forever" processes):
    forever list
  • Stop a running "forever" process:
    forever stop {{ID|pid|script}}

nix profile

Install, update and remove packages from Nix profiles. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-profile.html.
  • Install some packages from nixpkgs into the default profile:
    nix profile install {{nixpkgs#pkg1 nixpkgs#pkg2 ...}}
  • Install a package from a flake on GitHub into a custom profile:
    nix profile install {{github:owner/repo/pkg}} --profile {{./path/to/directory}}
  • List packages currently installed in the default profile:
    nix profile list
  • Remove a package installed from nixpkgs from the default profile, by name:
    nix profile remove {{legacyPackages.x86_64-linux.pkg}}
  • Upgrade packages in the default to the latest available versions:
    nix profile upgrade
  • Rollback (cancel) the latest action on the default profile:
    nix profile rollback

nix store

Manipulate the Nix store. See also: tldr nix-store. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-store.html.
  • Collect garbage, i.e. remove unused paths to reduce space usage:
    nix store gc
  • Hard-link identical files together to reduce space usage:
    nix store optimise
  • Delete a specific store path (most be unused):
    nix store delete {{/nix/store/...}}
  • List a contents of the store path, on a remote store:
    nix store --store {{https://cache.nixos.org}} ls {{/nix/store/...}}
  • Show the differences in versions between two store paths, with their respective dependencies:
    nix store diff-closures {{/nix/store/...}} {{/nix/store/...}}

stylua

An opinionated Lua code formatter. More information: https://github.com/JohnnyMorganz/StyLua.
  • Auto-format a file or an entire directory:
    stylua {{path/to/file_or_directory}}
  • Check if a specific file has been formatted:
    stylua --check {{path/to/file}}
  • Run with a specific configuration file:
    stylua --config-path {{path/to/config_file}} {{path/to/file}}
  • Format code from stdin and output to stdout:
    stylua - < {{path/to/file.lua}}
  • Format a file or directory using spaces and preferring single quotes:
    stylua --indent-type {{Spaces}} --quote-style {{AutoPreferSingle}} {{path/to/file_or_directory}}

docker start

Start one or more stopped containers. More information: https://docs.docker.com/engine/reference/commandline/start/.
  • Show help:
    docker start
  • Start a docker container:
    docker start {{container}}
  • Start a container, attaching stdout and stderr and forwarding signals:
    docker start --attach {{container}}
  • Start one or more space-separated containers:
    docker start {{container1 container2 ...}}

git ls-files

Show information about files in the index and the working tree. More information: https://git-scm.com/docs/git-ls-files.
  • Show deleted files:
    git ls-files --deleted
  • Show modified and deleted files:
    git ls-files --modified
  • Show ignored and untracked files:
    git ls-files --others
  • Show untracked files, not ignored:
    git ls-files --others --exclude-standard

gh codespace

Connect and manage your codespaces in GitHub. More information: https://cli.github.com/manual/gh_codespace.
  • Create a codespace in GitHub interactively:
    gh codespace create
  • List all available codespaces:
    gh codespace list
  • Connect to a codespace via SSH interactively:
    gh codespace ssh
  • Transfer a specific file to a codespace interactively:
    gh codespace cp {{path/to/source_file}} remote:{{path/to/remote_file}}
  • List the ports of a codespace interactively:
    gh codespace ports
  • Display the logs from a codespace interactively:
    gh codespace logs
  • Delete a codespace interactively:
    gh codespace delete
  • Display help for a subcommand:
    gh codespace {{code|cp|create|delete|edit|...}} --help

ctest

CMake test driver program. More information: https://gitlab.kitware.com/cmake/community/wikis/doc/ctest/Testing-With-CTest.
  • Run all tests defined in the CMake project, executing 4 jobs at a time in parallel:
    ctest -j{{4}} --output-on-failure
  • Show a list of available tests:
    ctest -N
  • Run a single test based on its name, or filter on a regular expression:
    ctest --output-on-failure -R '^{{test_name}}$'

phan

A static analysis tool for PHP. More information: https://github.com/phan/phan.
  • Generate a .phan/config.php in the current directory:
    phan --init
  • Generate a Phan configuration file using a specific level (1 being strictest to 5 being the least strict):
    phan --init --init-level {{level}}
  • Analyze the current directory:
    phan
  • Analyze one or more directories:
    phan --directory {{path/to/directory}} --directory {{path/to/another_directory}}
  • Specify a config file (defaults to .phan/config.php):
    phan --config-file {{path/to/config.php}}
  • Specify the output mode:
    phan --output-mode {{text|verbose|json|csv|codeclimate|checkstyle|pylint|html}}
  • Specify the number of parallel processes:
    phan --processes {{number_of_processes}}

sbcl

High performance Common Lisp compiler. More information: http://www.sbcl.org/.
  • Start a REPL (interactive shell):
    sbcl
  • Execute a Lisp script:
    sbcl --script {{path/to/script.lisp}}

snort

Open-source network intrusion detection system. More information: https://www.snort.org/#documents.
  • Capture packets with verbose output:
    sudo snort -v -i {{interface}}
  • Capture packets and dump application layer data with verbose output:
    sudo snort -vd -i {{interface}}
  • Capture packets and display link layer packet headers with verbose output:
    sudo snort -ve -i {{interface}}
  • Capture packets and save them in the specified directory:
    sudo snort -i {{interface}} -l {{path/to/directory}}
  • Capture packets according to rules and save offending packets along with alerts:
    sudo snort -i {{interface}} -c {{path/to/rules.conf}} -l {{path/to/directory}}

virsh-domblklist

List information about block devices associated with a virtual machine. See also: virsh. More information: https://manned.org/virsh.
  • List the target name and source path of the block devices:
    virsh domblklist --domain {{vm_name}}
  • List the disk type and device value as well as the target name and source path:
    virsh domblklist --domain {{vm_name}} --details

omf

Oh My Fish, the Fishshell Framework. Install packages to extend and modify the fish shell. More information: https://github.com/oh-my-fish/oh-my-fish.
  • Install one or more packages:
    omf install {{name}}
  • List installed packages:
    omf list
  • List available themes:
    omf theme
  • Apply a theme:
    omf theme {{name}}
  • Remove a theme or package:
    omf remove {{name}}
  • Uninstall Oh My Fish:
    omf destroy

ect

Efficient Compression Tool. File optimizer written in C++. It supports .png, .jpg, .gzip and .zip files. More information: https://github.com/fhanau/Efficient-Compression-Tool.
  • Compress a file:
    ect {{path/to/file.png}}
  • Compress a file with specified compression level and multithreading (1=Fastest (Worst), 9=Slowest (Best), default is 3):
    ect -{{9}} --mt-deflate {{path/to/file.zip}}
  • Compress all files in a directory recursively:
    ect -recurse {{path/to/directory}}
  • Compress a file, keeping the original modification time:
    ect -keep {{path/to/file.png}}
  • Compress a file, stripping metadata:
    ect -strip {{path/to/file.png}}

ssh-keyscan

Get the public ssh keys of remote hosts. More information: https://man.openbsd.org/ssh-keyscan.
  • Retrieve all public ssh keys of a remote host:
    ssh-keyscan {{host}}
  • Retrieve all public ssh keys of a remote host listening on a specific port:
    ssh-keyscan -p {{port}} {{host}}
  • Retrieve certain types of public ssh keys of a remote host:
    ssh-keyscan -t {{rsa,dsa,ecdsa,ed25519}} {{host}}
  • Manually update the ssh known_hosts file with the fingerprint of a given host:
    ssh-keyscan -H {{host}} >> ~/.ssh/known_hosts

nix

A powerful package manager that makes package management reliable, reproducible, and declarative. nix is experimental and requires enabling experimental features. For a classic, stable interface, see tldr nix classic. Some nix subcommands such as build, develop, flake, registry, profile, search, repl, store, edit, why-depends, etc. have their own usage documentation. More information: https://nixos.org/manual/nix.
  • Enable the nix command:
    mkdir -p ~/.config/nix; echo 'experimental-features = nix-command flakes' > ~/.config/nix/nix.conf
  • Display help for the nix subcommand:
    nix help {{subcommand}}
  • Search for a package in nixpkgs via its name or description:
    nix search nixpkgs {{search_term}}
  • Start a shell with the specified packages from nixpkgs available:
    nix shell {{nixpkgs#pkg1 nixpkgs#pkg2 nixpkgs#pkg3 ...}}
  • Install some packages from nixpkgs permanently:
    nix profile install {{nixpkgs#pkg1 nixpkgs#pkg2 nixpkgs#pkg3 ...}}
  • Remove unused paths from Nix store to free up space:
    nix store gc
  • Start an interactive environment for evaluating Nix expressions:
    nix repl

npm-why

Identifies why an npm package is installed. More information: https://github.com/amio/npm-why.
  • Show why an npm package is installed:
    npm-why {{package}}

kismet

A wireless network and device detector, sniffer, wardriving tool, and WIDS (wireless intrusion detection) framework. More information: https://www.kismetwireless.net/.
  • Capture packets from a specific wireless interface:
    sudo kismet -c {{wlan0}}
  • Monitor multiple channels on a wireless interface:
    sudo kismet -c {{wlan0,wlan1}} -m
  • Capture packets and save them to a specific directory:
    sudo kismet -c {{wlan0}} -d {{path/to/output}}
  • Start Kismet with a specific configuration file:
    sudo kismet -c {{wlan0}} -f {{path/to/config.conf}}
  • Monitor and log data to an SQLite database:
    sudo kismet -c {{wlan0}} --log-to-db
  • Monitor using a specific data source:
    sudo kismet -c {{wlan0}} --data-source={{rtl433}}
  • Enable alerts for specific events:
    sudo kismet -c {{wlan0}} --enable-alert={{new_ap}}
  • Display detailed information about a specific AP's packets:
    sudo kismet -c {{wlan0}} --info {{BSSID}}

texliveonfly

Downloads missing TeX Live packages while compiling .tex files. More information: https://ctan.org/pkg/texliveonfly.
  • Download missing packages while compiling:
    texliveonfly {{source.tex}}
  • Use a specific compiler (defaults to pdflatex):
    texliveonfly --compiler={{compiler}} {{source.tex}}
  • Use a custom TeX Live bin folder:
    texliveonfly --texlive_bin={{path/to/texlive_bin}} {{source.tex}}

aws secretsmanager

Store, manage, and retrieve secrets. More information: https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/.
  • Show secrets stored by the secrets manager in the current account:
    aws secretsmanager list-secrets
  • Create a secret:
    aws secretsmanager create-secret --name {{name}} --description "{{secret_description}}" --secret-string {{secret}}
  • Delete a secret:
    aws secretsmanager delete-secret --secret-id {{name_or_arn}}
  • View details of a secret except for secret text:
    aws secretsmanager describe-secret --secret-id {{name_or_arn}}
  • Retrieve the value of a secret (to get the latest version of the secret omit --version-stage):
    aws secretsmanager get-secret-value --secret-id {{name_or_arn}} --version-stage {{version_of_secret}}
  • Rotate the secret immediately using a Lambda function:
    aws secretsmanager rotate-secret --secret-id {{name_or_arn}} --rotation-lambda-arn {{arn_of_lambda_function}}
  • Rotate the secret automatically every 30 days using a Lambda function:
    aws secretsmanager rotate-secret --secret-id {{name_or_arn}} --rotation-lambda-arn {{arn_of_lambda_function}} --rotation-rules AutomaticallyAfterDays={{30}}

circo

Render an image of a circular network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    circo -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    circo -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    circo -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | circo -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    circo -?

scala

Scala application launcher and interactive interpreter. More information: https://scala-lang.org.
  • Start a REPL (interactive shell):
    scala
  • Start the interpreter with a dependency in the classpath:
    scala -classpath {{filename.jar}} {{command}}
  • Execute a Scala script:
    scala {{script.scala}}
  • Execute a .jar program:
    scala {{filename.jar}}
  • Execute a single Scala command in the command-line:
    scala -e {{command}}

kafkacat

This command is an alias of kcat.
  • View documentation for the original command:
    tldr kcat

git stripspace

Read text (e.g. commit messages, notes, tags, and branch descriptions) from stdin and clean it into the manner used by Git. More information: https://git-scm.com/docs/git-stripspace.
  • Trim whitespace from a file:
    cat {{path/to/file}} | git stripspace
  • Trim whitespace and Git comments from a file:
    cat {{path/to/file}} | git stripspace --strip-comments
  • Convert all lines in a file into Git comments:
    git stripspace --comment-lines < {{path/to/file}}

mkvmerge

Merge and extract multimedia streams. More information: https://mkvtoolnix.download/doc/mkvmerge.html.
  • Display information about a Matroska file:
    mkvmerge --identify {{path/to/file.mkv}}
  • Extract the audio from track 1 of a specific file:
    mkvextract tracks {{path/to/file.mkv}} {{1}}:{{path/to/output.webm}}
  • Extract the subtitle from track 3 of a specific file:
    mkvextract tracks {{path/to/file.mkv}} {{3}}:{{path/to/subs.srt}}
  • Add a subtitle track to a file:
    mkvmerge --output {{path/to/output.mkv}} {{path/to/file.mkv}} {{path/to/subs.srt}}

pppd

Establish Point-to-Point connection to another computer. It should not be invoked manually. More information: https://ppp.samba.org/pppd.html.
  • Start the daemon:
    pppd

http-server

Simple static HTTP server to serve static files. More information: https://github.com/http-party/http-server.
  • Start an HTTP server listening on the default port to serve the current directory:
    http-server
  • Start an HTTP server on a specific port to serve a specific directory:
    http-server {{path/to/directory}} --port {{port}}
  • Start an HTTP server using basic authentication:
    http-server --username {{username}} --password {{password}}
  • Start an HTTP server with directory listings disabled:
    http-server -d {{false}}
  • Start an HTTPS server on the default port using the specified certificate:
    http-server --ssl --cert {{path/to/cert.pem}} --key {{path/to/key.pem}}
  • Start an HTTP server and include the client's IP address in the output logging:
    http-server --log-ip
  • Start an HTTP server with CORS enabled by including the Access-Control-Allow-Origin: * header in all responses:
    http-server --cors
  • Start an HTTP server with logging disabled:
    http-server --silent

carp

REPL and build tool for Carp. More information: https://carp-lang.github.io/carp-docs/Manual.html.
  • Start a REPL (interactive shell):
    carp
  • Start a REPL with a custom prompt:
    carp --prompt "{{> }}"
  • Build a carp file:
    carp -b {{path/to/file.carp}}
  • Build and run a file:
    carp -x {{path/to/file.carp}}
  • Build a file with optimizations enabled:
    carp -b --optimize {{path/to/file.carp}}
  • Transpile a file to C code:
    carp --generate-only {{path/to/file.carp}}

nslookup

Query name server(s) for various domain records. More information: https://manned.org/nslookup.
  • Query your system's default name server for an IP address (A record) of the domain:
    nslookup {{example.com}}
  • Query a given name server for a NS record of the domain:
    nslookup -type=NS {{example.com}} {{8.8.8.8}}
  • Query for a reverse lookup (PTR record) of an IP address:
    nslookup -type=PTR {{54.240.162.118}}
  • Query for ANY available records using TCP protocol:
    nslookup -vc -type=ANY {{example.com}}
  • Query a given name server for the whole zone file (zone transfer) of the domain using TCP protocol:
    nslookup -vc -type=AXFR {{example.com}} {{name_server}}
  • Query for a mail server (MX record) of the domain, showing details of the transaction:
    nslookup -type=MX -debug {{example.com}}
  • Query a given name server on a specific port number for a TXT record of the domain:
    nslookup -port={{port_number}} -type=TXT {{example.com}} {{name_server}}

theHarvester

A tool designed to be used in the early stages of a penetration test. More information: https://github.com/laramies/theHarvester.
  • Gather information on a domain using Google:
    theHarvester --domain {{domain_name}} --source google
  • Gather information on a domain using multiple sources:
    theHarvester --domain {{domain_name}} --source {{google,bing,crtsh}}
  • Change the limit of results to work with:
    theHarvester --domain {{domain_name}} --source {{google}} --limit {{200}}
  • Save the output to two files in XML and HTML format:
    theHarvester --domain {{domain_name}} --source {{google}} --file {{output_file_name}}
  • Output all available options:
    theHarvester --help

badblocks

Search a device for bad blocks. Some usages of badblocks can cause destructive actions, such as erasing all data on a disk, including the partition table. More information: https://manned.org/badblocks.
  • Search a disk for bad blocks by using a non-destructive read-only test:
    sudo badblocks {{/dev/sdX}}
  • Search an unmounted disk for bad blocks with a non-destructive read-write test:
    sudo badblocks -n {{/dev/sdX}}
  • Search an unmounted disk for bad blocks with a destructive write test:
    sudo badblocks -w {{/dev/sdX}}
  • Search an unmounted disk for bad blocks with a destructive write test and show verbose status:
    sudo badblocks -svw {{/dev/sdX}}
  • Search an unmounted disk in destructive mode and output found blocks to a file:
    sudo badblocks -o {{path/to/file}} -w {{/dev/sdX}}
  • Search an unmounted disk in destructive mode with improved speed using 4K block size and 64K block count:
    sudo badblocks -w -b {{4096}} -c {{65536}} {{/dev/sdX}}

pip

Python package manager. Some subcommands such as pip install have their own usage documentation. More information: https://pip.pypa.io.
  • Install a package (see pip install for more install examples):
    pip install {{package}}
  • Install a package to the user's directory instead of the system-wide default location:
    pip install --user {{package}}
  • Upgrade a package:
    pip install --upgrade {{package}}
  • Uninstall a package:
    pip uninstall {{package}}
  • Save installed packages to file:
    pip freeze > {{requirements.txt}}
  • Show installed package info:
    pip show {{package}}
  • Install packages from a file:
    pip install --requirement {{requirements.txt}}

gnatmake

A low-level build tool for Ada programs (part of the GNAT toolchain). More information: https://gcc.gnu.org/onlinedocs/gnat_ugn/Building-with-gnatmake.html.
  • Compile an executable:
    gnatmake {{source_file1.adb source_file2.adb ...}}
  • Set a custom executable name:
    gnatmake -o {{executable_name}} {{source_file.adb}}
  • [f]orce recompilation:
    gnatmake -f {{source_file.adb}}

fswebcam

Small and simple webcam for *nix. More information: https://www.sanslogic.co.uk/fswebcam.
  • Take a picture:
    fswebcam {{filename}}
  • Take a picture with custom resolution:
    fswebcam -r {{width}}x{{height}} {{filename}}
  • Take a picture from selected device(Default is /dev/video0):
    fswebcam -d {{device}} {{filename}}
  • Take a picture with timestamp(timestamp string is formatted by strftime):
    fswebcam --timestamp {{timestamp}} {{filename}}

unexpand

Convert spaces to tabs. More information: https://www.gnu.org/software/coreutils/unexpand.
  • Convert blanks in each file to tabs, writing to stdout:
    unexpand {{path/to/file}}
  • Convert blanks to tabs, reading from stdout:
    unexpand
  • Convert all blanks, instead of just initial blanks:
    unexpand -a {{path/to/file}}
  • Convert only leading sequences of blanks (overrides -a):
    unexpand --first-only {{path/to/file}}
  • Have tabs a certain number of characters apart, not 8 (enables -a):
    unexpand -t {{number}} {{path/to/file}}

echo

Print given arguments. More information: https://www.gnu.org/software/coreutils/echo.
  • Print a text message. Note: quotes are optional:
    echo "{{Hello World}}"
  • Print a message with environment variables:
    echo "{{My path is $PATH}}"
  • Print a message without the trailing newline:
    echo -n "{{Hello World}}"
  • Append a message to the file:
    echo "{{Hello World}}" >> {{file.txt}}
  • Enable interpretation of backslash escapes (special characters):
    echo -e "{{Column 1\tColumn 2}}"
  • Print the exit status of the last executed command (Note: In Windows Command Prompt and PowerShell the equivalent commands are echo %errorlevel% and $lastexitcode respectively):
    echo $?

k6

Open source load testing tool and SaaS for engineering teams. More information: https://k6.io.
  • Run load test locally:
    k6 run {{script.js}}
  • Run load test locally with a given number of virtual users and duration:
    k6 run --vus {{10}} --duration {{30s}} {{script.js}}
  • Run load test locally with a given environment variable:
    k6 run -e {{HOSTNAME=example.com}} {{script.js}}
  • Run load test locally using InfluxDB to store results:
    k6 run --out influxdb={{http://localhost:8086/k6db}} {{script.js}}
  • Run load test locally and discard response bodies (significantly faster):
    k6 run --discard-response-bodies {{script.js}}
  • Run load test locally using the base JavaScript compatibility mode (significantly faster):
    k6 run --compatibility-mode=base {{script.js}}
  • Log in to cloud service using secret token:
    k6 login cloud --token {{secret}}
  • Run load test on cloud infrastructure:
    k6 cloud {{script.js}}

gnomon

Utility to annotate console logging statements with timestamps and find slow processes. More information: https://github.com/paypal/gnomon.
  • Use UNIX (or DOS) pipes to pipe stdout of any command through gnomon:
    {{npm test}} | gnomon
  • Show number of seconds since the start of the process:
    {{npm test}} | gnomon --type=elapsed-total
  • Show an absolute timestamp in UTC:
    {{npm test}} | gnomon --type=absolute
  • Set a high threshold of 0.5 seconds for the elapsed time; exceeding which the timestamp will be colored bright red:
    {{npm test}} | gnomon --high {{0.5}}
  • Set a medium threshold of 0.2 seconds (Timestamp will be colored bright yellow):
    {{npm test}} | gnomon --medium {{0.2}}

gpg2

GNU Privacy Guard 2. See gpg for GNU Privacy Guard 1. More information: https://docs.releng.linuxfoundation.org/en/latest/gpg.html.
  • List imported keys:
    gpg2 --list-keys
  • Encrypt a specified file for a specified recipient, writing the output to a new file with .gpg appended:
    gpg2 --encrypt --recipient {{[email protected]}} {{path/to/doc.txt}}
  • Encrypt a specified file with only a passphrase, writing the output to a new file with .gpg appended:
    gpg2 --symmetric {{path/to/doc.txt}}
  • Decrypt a specified file, writing the result to stdout:
    gpg2 --decrypt {{path/to/doc.txt.gpg}}
  • Import a public key:
    gpg2 --import {{path/to/public_key.gpg}}
  • Export the public key of a specified email address to stdout:
    gpg2 --export --armor {{[email protected]}}
  • Export the private key with a specified email address to stdout:
    gpg2 --export-secret-keys --armor {{[email protected]}}

ufraw-batch

Convert RAW files from cameras into standard image files. More information: https://manned.org/ufraw-batch.
  • Simply convert RAW files to JPG:
    ufraw-batch --out-type=jpg {{input_file(s)}}
  • Simply convert RAW files to PNG:
    ufraw-batch --out-type=png {{input_file(s)}}
  • Extract the preview image from the raw file:
    ufraw-batch --embedded-image {{input_file(s)}}
  • Save the file with size up to the given maximums MAX1 and MAX2:
    ufraw-batch --size=MAX1,MAX2 {{input_file(s)}}

dhcpwn

Test DHCP IP exhaustion attacks and sniff local DHCP traffic. More information: https://github.com/mschwager/dhcpwn.
  • Flood the network with IP requests:
    dhcpwn --interface {{network_interface}} flood --count {{number_of_requests}}
  • Sniff local DHCP traffic:
    dhcpwn --interface {{network_interface}} sniff

k8s-unused-secret-detector

Command-line interface tool for detecting unused Kubernetes secrets. More information: https://github.com/dtan4/k8s-unused-secret-detector.
  • Detect unused secrets:
    k8s-unused-secret-detector
  • Detect unused secrets in a specific namespace:
    k8s-unused-secret-detector -n {{namespace}}
  • Delete unused secrets in a specific namespace:
    k8s-unused-secret-detector -n {{namespace}} | kubectl delete secret -n {{namespace}}

git cola

A powerful Git GUI with a slick and intuitive user interface. More information: https://git-cola.readthedocs.io.
  • Start git cola:
    git cola
  • Start git cola in amend mode:
    git cola --amend
  • Prompt for a Git repository. Defaults to the current directory:
    git cola --prompt
  • Open the Git repository at mentioned path:
    git cola --repo {{path/to/git-repository}}
  • Apply the path filter to the status widget:
    git cola --status-filter {{filter}}

core-validate-commit

Validate commit messages for Node.js core. More information: https://github.com/nodejs/core-validate-commit.
  • Validate the current commit:
    core-validate-commit
  • Validate a specific commit:
    core-validate-commit {{commit_hash}}
  • Validate a range of commits:
    git rev-list {{commit_hash}}..HEAD | xargs core-validate-commit
  • List all validation rules:
    core-validate-commit --list
  • List all valid Node.js subsystems:
    core-validate-commit --list-subsystem
  • Validate the current commit formatting the output in tap format:
    core-validate-commit --tap
  • Display help:
    core-validate-commit --help

gdal_translate

Convert raster data between different formats. More information: https://gdal.org/programs/gdal_translate.
  • Convert a raster dataset to JPEG format:
    gdal_translate -of {{JPEG}} {{path/to/input.tif}} {{path/to/output.jpeg}}
  • Assign a projection to a raster dataset:
    gdal_translate -a_srs {{EPSG:4326}} {{path/to/input.tif}} {{path/to/output.tif}}
  • Reduce the size of a raster dataset to a specific fraction:
    gdal_translate -outsize {{40%}} {{40%}} {{path/to/input.tif}} {{path/to/output.tif}}
  • Convert a GeoTiff to a Cloud Optimized GeoTiff:
    gdal_translate {{path/to/input.tif}} {{path/to/output.tif}} -of COG -co COMPRESS=LZW

adb

Android Debug Bridge: communicate with an Android emulator instance or connected Android devices. Some subcommands such as adb shell have their own usage documentation. More information: https://developer.android.com/studio/command-line/adb.
  • Check whether the adb server process is running and start it:
    adb start-server
  • Terminate the adb server process:
    adb kill-server
  • Start a remote shell in the target emulator/device instance:
    adb shell
  • Push an Android application to an emulator/device:
    adb install -r {{path/to/file.apk}}
  • Copy a file/directory from the target device:
    adb pull {{path/to/device_file_or_directory}} {{path/to/local_destination_directory}}
  • Copy a file/directory to the target device:
    adb push {{path/to/local_file_or_directory}} {{path/to/device_destination_directory}}
  • Get a list of connected devices:
    adb devices

rtmpdump

A tool to dump media content streamed over the RTMP protocol. More information: http://rtmpdump.mplayerhq.hu/.
  • Download a file:
    rtmpdump --rtmp {{rtmp://example.com/path/to/video}} -o {{file.ext}}
  • Download a file from a Flash player:
    rtmpdump --rtmp {{rtmp://example.com/path/to/video}} --swfVfy {{http://example.com/player}} --flashVer "{{LNX 10,0,32,18}}" -o {{file.ext}}
  • Specify connection parameters if they are not detected correctly:
    rtmpdump --rtmp {{rtmp://example.com/path/to/video}} --app {{app_name}} --playpath {{path/to/video}} -o {{file.ext}}
  • Download a file from a server that requires a referrer:
    rtmpdump --rtmp {{rtmp://example.com/path/to/video}} --pageUrl {{http://example.com/webpage}} -o {{file.ext}}

case

Bash builtin construct for creating multi-choice conditional statements. More information: https://www.gnu.org/software/bash/manual/bash.html#index-case.
  • Match a variable against string literals to decide which command to run:
    case {{$tocount}} in {{words}}) {{wc -w README}}; ;; {{lines}}) {{wc -l README}}; ;; esac
  • Combine patterns with |, use * as a fallback pattern:
    case {{$tocount}} in {{[wW]|words}}) {{wc -w README}}; ;; {{[lL]|lines}}) {{wc -l README}}; ;; *) {{echo "what?"}}; ;; esac

pdfjoin

PDF merging utility based on pdfjam. More information: https://github.com/rrthomas/pdfjam-extras.
  • Merge two PDFs into one with the default suffix "joined":
    pdfjoin {{path/to/file1.pdf}} {{path/to/file2.pdf}}
  • Merge the first page of each given file together:
    pdfjoin {{path/to/file1.pdf path/to/file2.pdf ...}} {{1}} --outfile {{output_file}}
  • Save pages 3 to 5 followed by page 1 to a new PDF with custom suffix:
    pdfjoin {{path/to/file.pdf}} {{3-5,1}} --suffix {{rearranged}}
  • Merge page subranges from two PDFs:
    pdfjoin {/path/to/file1.pdf}} {{2-}} {{file2}} {{last-3}} --outfile {{output_file}}

lighthouse

Analyzes web applications and web pages, collecting modern performance metrics and insights on developer best practices. More information: https://github.com/GoogleChrome/lighthouse.
  • Generate an HTML report for a specific website and save it to a file in the current directory:
    lighthouse {{https://example.com}}
  • Generate a JSON report and print it:
    lighthouse --output {{json}} {{https://example.com}}
  • Generate a JSON report and save it to a specific file:
    lighthouse --output {{json}} --output-path {{path/to/file.json}} {{https://example.com}}
  • Generate a report using the browser in headless mode without logging to stdout:
    lighthouse --quiet --chrome-flags="{{--headless}}" {{https://example.com}}
  • Generate a report, using the HTTP header key/value pairs in the specified JSON file for all requests:
    lighthouse --extra-headers={{path/to/file.json}} {{https://example.com}}
  • Generate a report for specific categories only:
    lighthouse --only-categories={{performance,accessibility,best-practices,seo,pwa}} {{https://example.com}}
  • Generate a report with device emulation and all throttling disabled:
    lighthouse --screenEmulation.disabled --throttling-method={{provided}} --no-emulatedUserAgent {{https://example.com}}
  • Display help:
    lighthouse --help

mate-dictionary

Look up words on dictionaries. More information: https://manned.org/mate-dictionary.
  • Print a specific word definition:
    mate-dictionary --no-window --look-up '{{word}}'
  • Show similar words for a specific one in a new window:
    mate-dictionary --match '{{word}}'

pg_dump

Extract a PostgreSQL database into a script file or other archive file. More information: https://www.postgresql.org/docs/current/app-pgdump.html.
  • Dump database into an SQL-script file:
    pg_dump {{db_name}} > {{output_file.sql}}
  • Same as above, customize username:
    pg_dump -U {{username}} {{db_name}} > {{output_file.sql}}
  • Same as above, customize host and port:
    pg_dump -h {{host}} -p {{port}} {{db_name}} > {{output_file.sql}}
  • Dump a database into a custom-format archive file:
    pg_dump -Fc {{db_name}} > {{output_file.dump}}
  • Dump only database data into an SQL-script file:
    pg_dump -a {{db_name}} > {{path/to/output_file.sql}}
  • Dump only schema (data definitions) into an SQL-script file:
    pg_dump -s {{db_name}} > {{path/to/output_file.sql}}

rustup target

Modify a toolchain's supported targets. Without the --toolchain option rustup will use the default toolchain. See rustup help toolchain for more information about toolchains. More information: https://rust-lang.github.io/rustup.
  • Add a target to a toolchain:
    rustup target add --toolchain {{toolchain}} {{target}}
  • Remove a target from a toolchain:
    rustup target remove --toolchain {{toolchain}} {{target}}
  • List available and installed targets for a toolchain:
    rustup target list --toolchain {{toolchain}}
  • List installed targets for a toolchain:
    rustup target list --toolchain {{toolchain}} --installed

etcd

A distributed, reliable key-value store for the most critical data of a distributed system. More information: https://etcd.io.
  • Start a single-node etcd cluster:
    etcd
  • Start a single-node etcd cluster, listening for client requests on a custom URL:
    etcd --advertise-client-urls {{http://127.0.0.1:1234}} --listen-client-urls {{http://127.0.0.1:1234}}
  • Start a single-node etcd cluster with a custom name:
    etcd --name {{my_etcd_cluster}}
  • Start a single-node etcd cluster with extensive metrics available at http://localhost:2379/debug/pprof/:
    etcd --enable-pprof --metrics extensive

lilypond

Typeset music and/or produce MIDI from file. More information: https://lilypond.org.
  • Compile a lilypond file into a PDF:
    lilypond {{path/to/file}}
  • Compile into the specified format:
    lilypond --formats={{format_dump}} {{path/to/file}}
  • Compile the specified file, suppressing progress updates:
    lilypond -s {{path/to/file}}
  • Compile the specified file, and also specify the output filename:
    lilypond --output={{path/to/output_file}} {{path/to/input_file}}
  • Show the current version of lilypond:
    lilypond --version

leave

Set a reminder for when it's time to leave. To remove reminders use kill $(pidof leave). More information: https://www.freebsd.org/cgi/man.cgi?query=leave.
  • Set a reminder at a given time:
    leave {{time_to_leave}}
  • Set a reminder to leave at noon:
    leave {{1200}}
  • Set a reminder in a specific amount of time:
    leave +{{amount_of_time}}
  • Set a reminder to leave in 4 hours and 4 minutes:
    leave +{{0404}}

flow

A static type checker for JavaScript. More information: https://flow.org.
  • Run a flow check:
    flow
  • Check which files are being checked by flow:
    flow ls
  • Run a type coverage check on all files in a directory:
    flow batch-coverage --show-all --strip-root {{path/to/directory}}
  • Display line-by-line type coverage stats:
    flow coverage --color {{path/to/file.jsx}}

meteor

Full-stack JavaScript platform for building web applications. More information: https://meteor.com.
  • Run a meteor project from its root directory in development mode:
    meteor
  • Create a project under the given directory:
    meteor create {{path/to/directory}}
  • Display the list of packages the project is currently using:
    meteor list
  • Add a package to the project:
    meteor add {{package}}
  • Remove a package from the project:
    meteor remove {{package}}
  • Create a production build of the project as a tarball under the given directory:
    meteor build {{path/to/directory}}

gcal

Displays calendar. More information: https://www.gnu.org/software/gcal.
  • Display calendar for the current month:
    gcal
  • Display calendar for the month of February of the year 2010:
    gcal {{2}} {{2010}}
  • Provide calendar sheet with week numbers:
    gcal --with-week-number
  • Change starting day of week to 1st day of the week (Monday):
    gcal --starting-day={{1}}
  • Display the previous, current and next month surrounding today:
    gcal .

cronic

Bash script for wrapping cron jobs to prevent excess email sending. More information: https://habilis.net/cronic/.
  • Call a command and display its output if it returns a non-zero exit code:
    cronic {{command}}

brew

Package manager for macOS and Linux. More information: https://brew.sh.
  • Install the latest stable version of a formula or cask (use --devel for development versions):
    brew install {{formula}}
  • List all installed formulae and casks:
    brew list
  • Upgrade an installed formula or cask (if none is given, all installed formulae/casks are upgraded):
    brew upgrade {{formula}}
  • Fetch the newest version of Homebrew and of all formulae and casks from the Homebrew source repository:
    brew update
  • Show formulae and casks that have a more recent version available:
    brew outdated
  • Search for available formulae (i.e. packages) and casks (i.e. native packages):
    brew search {{text}}
  • Display information about a formula or a cask (version, installation path, dependencies, etc.):
    brew info {{formula}}
  • Check the local Homebrew installation for potential problems:
    brew doctor

gcc

Preprocess and compile C and C++ source files, then assemble and link them together. More information: https://gcc.gnu.org.
  • Compile multiple source files into an executable:
    gcc {{path/to/source1.c path/to/source2.c ...}} -o {{path/to/output_executable}}
  • Show common warnings, debug symbols in output, and optimize without affecting debugging:
    gcc {{path/to/source.c}} -Wall -g -Og -o {{path/to/output_executable}}
  • Include libraries from a different path:
    gcc {{path/to/source.c}} -o {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}
  • Compile source code into Assembler instructions:
    gcc -S {{path/to/source.c}}
  • Compile source code into an object file without linking:
    gcc -c {{path/to/source.c}}

particle

Interact with Particle devices. More information: https://docs.particle.io/tutorials/developer-tools/cli.
  • Log in or create an account for the Particle CLI:
    particle setup
  • Display a list of devices:
    particle list
  • Create a new Particle project interactively:
    particle project create
  • Compile a Particle project:
    particle compile {{device_type}} {{path/to/source_code.ino}}
  • Update a device to use a specific app remotely:
    particle flash {{device_name}} {{path/to/program.bin}}
  • Update a device to use the latest firmware via serial:
    particle flash --serial {{path/to/firmware.bin}}
  • Execute a function on a device:
    particle call {{device_name}} {{function_name}} {{function_arguments}}

fnm

Fast Node.js version manager. Install, uninstall or switch between Node.js versions. More information: https://github.com/Schniz/fnm.
  • Install a specific version of Node.js:
    fnm install {{node_version}}
  • List all available Node.js versions and highlight the default one:
    fnm list
  • Use a specific version of Node.js in the current shell:
    fnm use {{node_version}}
  • Set the default Node.js version:
    fnm default {{node_version}}
  • Uninstall a given Node.js version:
    fnm uninstall {{node_version}}

vifm

Vifm (VI File Manager) is a command-line file manager. More information: https://github.com/vifm/vifm.
  • Open the current directory:
    vifm .
  • Open specified directories on left or right plane:
    vifm {{path/to/directory1 path/to/directory2 ...}}

zellij

Terminal multiplexer with batteries included. See also tmux and screen. More information: https://zellij.dev/documentation/.
  • Start a new named session:
    zellij --session {{name}}
  • List existing sessions:
    zellij list-sessions
  • Attach to the most recently used session:
    zellij attach
  • Open a new pane (inside a zellij session):
    Alt + N
  • Detach from the current session (inside a zellij session):
    Ctrl + O, D

xargs

Execute a command with piped arguments coming from another command, a file, etc. The input is treated as a single block of text and split into separate pieces on spaces, tabs, newlines and end-of-file. More information: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html.
  • Run a command using the input data as arguments:
    {{arguments_source}} | xargs {{command}}
  • Run multiple chained commands on the input data:
    {{arguments_source}} | xargs sh -c "{{command1}} && {{command2}} | {{command3}}"
  • Delete all files with a .backup extension (-print0 uses a null character to split file names, and -0 uses it as delimiter):
    find . -name {{'*.backup'}} -print0 | xargs -0 rm -v
  • Execute the command once for each input line, replacing any occurrences of the placeholder (here marked as _) with the input line:
    {{arguments_source}} | xargs -I _ {{command}} _ {{optional_extra_arguments}}
  • Parallel runs of up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a time:
    {{arguments_source}} | xargs -P {{max-procs}} {{command}}

pushd

Place a directory on a stack so it can be accessed later. See also popd to switch back to original directory and dirs to display directory stack contents. More information: https://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html.
  • Switch to directory and push it on the stack:
    pushd {{path/to/directory}}
  • Switch first and second directories on the stack:
    pushd
  • Rotate stack by making the 5th element the top of the stack:
    pushd +4
  • Rotate the stack 4 times to the left (the current directory stays at the top by replacing the 5th element):
    pushd -n +4

detox

Renames files to make them easier to work with. It removes spaces and other such annoyances like duplicate underline characters. More information: https://github.com/dharple/detox.
  • Remove spaces and other undesirable characters from a file's name:
    detox {{path/to/file}}
  • Show how detox would rename all the files in a directory tree:
    detox --dry-run -r {{path/to/directory}}
  • Remove spaces and other undesirable characters from all files in a directory tree:
    detox -r {{path/to/directory}}

cargo clippy

A collection of lints to catch common mistakes and improve your Rust code. More information: https://github.com/rust-lang/rust-clippy.
  • Run checks over the code in the current directory:
    cargo clippy
  • Require that Cargo.lock is up to date:
    cargo clippy --locked
  • Run checks on all packages in the workspace:
    cargo clippy --workspace
  • Run checks for a package:
    cargo clippy --package {{package}}
  • Treat warnings as errors:
    cargo clippy -- --deny warnings
  • Run checks and ignore warnings:
    cargo clippy -- --allow warnings
  • Apply Clippy suggestions automatically:
    cargo clippy --fix

mosh

Mobile Shell (mosh) is a robust and responsive replacement for SSH. mosh persists connections to remote servers while roaming between networks. More information: https://mosh.org.
  • Connect to a remote server:
    mosh {{username}}@{{remote_host}}
  • Connect to a remote server with a specific identity (private key):
    mosh --ssh="ssh -i {{path/to/key_file}}" {{username}}@{{remote_host}}
  • Connect to a remote server using a specific port:
    mosh --ssh="ssh -p {{2222}}" {{username}}@{{remote_host}}
  • Run a command on a remote server:
    mosh {{remote_host}} -- {{command -with -flags}}
  • Select Mosh UDP port (useful when {{remote_host}} is behind a NAT):
    mosh -p {{124}} {{username}}@{{remote_host}}
  • Usage when mosh-server binary is outside standard path:
    mosh --server={{path/to/bin/}}mosh-server {{remote_host}}

hg serve

Start a standalone Mercurial web server for browsing repositories. More information: https://www.mercurial-scm.org/doc/hg.1.html#serve.
  • Start a web server instance:
    hg serve
  • Start a web server instance on the specified port:
    hg serve --port {{port}}
  • Start a web server instance on the specified listening address:
    hg serve --address {{address}}
  • Start a web server instance with a specific identifier:
    hg serve --name {{name}}
  • Start a web server instance using the specified theme (see the templates directory):
    hg serve --style {{style}}
  • Start a web server instance using the specified SSL certificate bundle:
    hg serve --certificate {{path/to/certificate}}

mongosh

A new shell for MongoDB, replacement for mongo. Note: all connection options can be replaced with one string: mongodb://user@host:port/db_name?authSource=authdb_name. More information: https://www.mongodb.com/docs/mongodb-shell.
  • Connect to a local database on the default port (mongodb://localhost:27017):
    mongosh
  • Connect to a database:
    mongosh --host {{host}} --port {{port}} {{db_name}}
  • Authenticate using the specified username on the specified database (you will be prompted for a password):
    mongosh --host {{host}} --port {{port}} --username {{username}} --authenticationDatabase {{authdb_name}} {{db_name}}
  • Evaluate a JavaScript expression on a database:
    mongosh --eval '{{JSON.stringify(db.foo.findOne())}}' {{db_name}}

gnmic set

Modify gnmi network device configuration. More information: https://gnmic.kmrd.dev/cmd/set.
  • Update the value of a path:
    gnmic --address {{ip:port}} set --update-path {{path}} --update-value {{value}}
  • Update the value of a path to match the contents of a json file:
    gnmic -a {{ip:port}} set --update-path {{path}} --update-file {{filepath}}
  • Replace the value of a path to match the contents of a json file:
    gnmic -a {{ip:port}} set --replace-path {{path}} --replace-file {{filepath}}
  • Delete the node at a given path:
    gnmic -a {{ip:port}} set --delete {{path}}

nm-classic

This command is an alias of nm.
  • View documentation for the original command:
    tldr nm

mozillavpn

A Virtual Private Network from the makers of Firefox. More information: https://github.com/mozilla-mobile/mozilla-vpn-client/wiki/Command-line-interface.
  • Log in with an interactive prompt:
    mozillavpn login
  • Connect to Mozilla VPN:
    mozillavpn activate
  • Display the connection status:
    mozillavpn status
  • List available servers:
    mozillavpn servers
  • Select a specific server:
    mozillavpn select {{server_name}}
  • Disconnect from Mozilla VPN:
    mozillavpn deactivate
  • Log out:
    mozillavpn logout
  • Display help for a subcommand:
    mozillavpn {{subcommand}} --help

mkdir

Create directories and set their permissions. More information: https://www.gnu.org/software/coreutils/mkdir.
  • Create specific directories:
    mkdir {{path/to/directory1 path/to/directory2 ...}}
  • Create specific directories and their [p]arents if needed:
    mkdir -p {{path/to/directory1 path/to/directory2 ...}}
  • Create directories with specific permissions:
    mkdir -m {{rwxrw-r--}} {{path/to/directory1 path/to/directory2 ...}}

exiv2

Image metadata manipulation tool. More information: https://www.exiv2.org/manpage.html.
  • Print a summary of the image Exif metadata:
    exiv2 {{path/to/file}}
  • Print all metadata (Exif, IPTC, XMP) with interpreted values:
    exiv2 -P kt {{path/to/file}}
  • Print all metadata with raw values:
    exiv2 -P kv {{path/to/file}}
  • Delete all metadata from an image:
    exiv2 -d a {{path/to/file}}
  • Delete all metadata, preserving the file timestamp:
    exiv2 -d a -k {{path/to/file}}
  • Rename the file, prepending the date and time from metadata (not from the file timestamp):
    exiv2 -r {{'%Y%m%d_%H%M%S_:basename:'}} {{path/to/file}}

kiwi-ng

KIWI NG is an OS image and appliance builder. More information: https://osinside.github.io/kiwi/.
  • Build an appliance:
    kiwi-ng system build --description={{path/to/directory}} --target-dir={{path/to/directory}}
  • Show build result of built appliance:
    kiwi-ng result list --target-dir={{path/to/directory}}
  • Display help:
    kiwi-ng help
  • Display version:
    kiwi-ng -v

transmission-cli

A lightweight, command-line BitTorrent client. This tool has been deprecated, please see transmission-remote. More information: https://transmissionbt.com.
  • Download a specific torrent:
    transmission-cli {{url|magnet|path/to/file}}
  • Download a torrent to a specific directory:
    transmission-cli --download-dir {{path/to/download_directory}} {{url|magnet|path/to/file}}
  • Create a torrent file from a specific file or directory:
    transmission-cli --new {{path/to/source_file_or_directory}}
  • Set the download speed limit to 50 KB/s:
    transmission-cli --downlimit {{50}} {{url|magnet|path/to/file}}
  • Set the upload speed limit to 50 KB/s:
    transmission-cli --uplimit {{50}} {{url|magnet|path/to/file}}
  • Use a specific port for connections:
    transmission-cli --port {{port_number}} {{url|magnet|path/to/file}}
  • Force encryption for peer connections:
    transmission-cli --encryption-required {{url|magnet|path/to/file}}
  • Use a Bluetack-formatted peer blocklist:
    transmission-cli --blocklist {{blocklist_url|path/to/blocklist}} {{url|magnet|path/to/file}}

certutil

Manage keys and certificates in both NSS databases and other NSS tokens. More information: https://manned.org/certutil.
  • Create a new certificate database:
    certutil -N -d .
  • List all certificates in a database:
    certutil -L -d .
  • List all private keys in a database:
    certutil -K -d . -f {{path/to/password_file.txt}}
  • Import the signed certificate into the requesters database:
    certutil -A -n "{{server_certificate}}" -t ",," -i {{path/to/file.crt}} -d .
  • Add subject alternative names to a given certificate:
    certutil -S -f {{path/to/password_file.txt}} -d . -t ",," -c "{{server_certificate}}" -n "{{server_name}}" -g {{2048}} -s "CN={{common_name}},O={{organization}}"

lzma

This command is an alias of xz --format=lzma. More information: https://manned.org/lzma.
  • View documentation for the original command:
    tldr xz

krunvm

Create MicroVMs from OCI images. More information: https://github.com/containers/krunvm.
  • Create MicroVM based on Fedora:
    krunvm create {{docker.io/fedora}} --cpus {{number_of_vcpus}} --mem {{memory_in_megabytes}} --name "{{name}}"
  • Start a specific image:
    krunvm start "{{image_name}}"
  • List images:
    krunvm list
  • Change a specific image:
    krunvm changevm --cpus {{number_of_vcpus}} --mem {{memory_in_megabytes}} --name "{{new_vm_name}}" "{{current_vm_name}}"
  • Delete a specific image:
    krunvm delete "{{image_name}}"

gh screensaver

Extension for GitHub CLI that runs animated terminal screensavers. See also: gh extension. More information: https://github.com/vilmibm/gh-screensaver.
  • Run a random screensaver:
    gh screensaver
  • Run a specific screensaver:
    gh screensaver --saver {{fireworks|marquee|pipes|pollock|starfield}}
  • Run the "marquee" screensaver with a specific text and font:
    gh screensaver --saver {{marquee}} -- --message="{{message}}" --font={{font_name}}
  • Run the "starfield" screensaver with a specific density and speed:
    gh screensaver --saver {{starfield}} -- --density {{500}} --speed {{10}}
  • List available screensavers:
    gh screensaver --list

dust

Dust gives an instant overview of which directories are using disk space. More information: https://github.com/bootandy/dust.
  • Display information for the current directory:
    dust
  • Display information for a space-separated list of directories:
    dust {{path/to/directory1}} {{path/to/directory2}}
  • Display 30 directories (defaults to 21):
    dust --number-of-lines {{30}}
  • Display information for the current directory, up to 3 levels deep:
    dust --depth {{3}}
  • Display the biggest directories at the top in descending order:
    dust --reverse
  • Ignore all files and directories with a specific name:
    dust --ignore-directory {{file_or_directory_name}}
  • Do not display percent bars and percentages:
    dust --no-percent-bars

op

Official CLI for 1Password's desktop app. More information: https://developer.1password.com/docs/cli/reference.
  • Sign in to a 1Password account:
    op signin
  • List all vaults:
    op vault list
  • Print item details in JSON format:
    op item get {{item_name}} --format json
  • Create a new item with a category in the default vault:
    op item create --category {{category_name}}
  • Print a referenced secret to stdout:
    op read {{secret_reference}}
  • Pass secret references from exported environment variables to a command:
    op run -- {{command}}
  • Pass secret references from an environment file to a command:
    op run --env-file {{path/to/env_file.env}} -- {{command}}
  • Read secret references from a file and save plaintext secrets to a file:
    op inject --in-file {{path/to/input_file}} --out-file {{path/to/output_file}}

grunt

A JavaScript task runner for automating processes. More information: https://github.com/gruntjs/grunt-cli.
  • Run the default task process:
    grunt
  • Run one or more specific space-separated task(s):
    grunt {{task_name}}
  • Specify an alternative configuration file:
    grunt --gruntfile {{path/to/file}}
  • Specify an alternative base path for relative files:
    grunt --base {{path/to/directory}}
  • Specify an additional directory to scan for tasks in:
    grunt --tasks {{path/to/directory}}
  • Perform a dry-run without writing any files:
    grunt --no-write
  • List all available options:
    grunt --help

ddev

Container based local development tool for PHP environments. More information: https://ddev.readthedocs.io.
  • Start up a project:
    ddev start
  • Configure a project's type and docroot:
    ddev config
  • [f]ollow the log trail:
    ddev logs -f
  • Run composer within the container:
    ddev composer
  • Install a specific Node.js version:
    ddev nvm install {{version}}
  • Export a database:
    ddev export-db --file={{/tmp/db.sql.gz}}
  • Run a specific command within a container:
    ddev exec {{echo 1}}


pueue follow

Follow the output of a currently running task. See also: pueue log. More information: https://github.com/Nukesor/pueue.
  • Follow the output of a task (stdout + stderr):
    pueue follow {{task_id}}
  • Follow stderr of a task:
    pueue follow --err {{task_id}}

tlmgr paper

Manage paper size options of an TeX Live installation. More information: https://www.tug.org/texlive/tlmgr.html.
  • Show the default paper size used by all TeX Live programs:
    tlmgr paper
  • Set the default paper size for all TeX Live programs to A4:
    sudo tlmgr paper {{a4}}
  • Show the default paper size used by a specific TeX Live program:
    tlmgr {{pdftex}} paper
  • Set the default paper size for a specific TeX Live program to A4:
    sudo tlmgr {{pdftex}} paper {{a4}}
  • List all available paper sizes for a specific TeX Live program:
    tlmgr {{pdftex}} paper --list
  • Dump the default paper size used by all TeX Live programs in JSON format:
    tlmgr paper --json

tac

Display and concatenate files with lines in reversed order. See also: cat. More information: https://www.gnu.org/software/coreutils/tac.
  • Concatenate specific files in reversed order:
    tac {{path/to/file1 path/to/file2 ...}}
  • Display stdin in reversed order:
    {{cat path/to/file}} | tac
  • Use a specific [s]eparator:
    tac -s {{separator}} {{path/to/file1 path/to/file2 ...}}
  • Use a specific [r]egex as a [s]eparator:
    tac -r -s {{separator}} {{path/to/file1 path/to/file2 ...}}
  • Use a separator [b]efore each file:
    tac -b {{path/to/file1 path/to/file2 ...}}

tmpmail

A temporary email right from your terminal written in POSIX sh. More information: https://github.com/sdushantha/tmpmail.
  • Create a temporary inbox:
    tmpmail --generate
  • List messages and their numeric ID:
    tmpmail
  • Display the most recent received email:
    tmpmail --recent
  • Open a specific message:
    tmpmail {{email_id}}
  • View email as raw text without HTML tags:
    tmpmail --text
  • Open email with a specific browser (default is w3m):
    tmpmail --browser {{browser}}

license

Create license files for open-source projects. More information: https://nishanths.github.io/license.
  • Print a license to stdout, using the defaults (auto-detected author name, and current year):
    license {{license_name}}
  • Generate a license and save it to a file:
    license -o {{path/to/file}} {{license_name}}
  • List all available licenses:
    license ls
  • Generate a license with custom author name and year:
    license --name {{author}} --year {{release_year}} {{license_name}}

batch

Execute commands at a later time when the system load levels permit. Service atd (or atrun) should be running for the actual executions. More information: https://manned.org/batch.
  • Execute commands from stdin (press Ctrl + D when done):
    batch
  • Execute a command from stdin:
    echo "{{./make_db_backup.sh}}" | batch
  • Execute commands from a given file:
    batch -f {{path/to/file}}

lspath

List the contents of the PATH environment variable, with optional paging. More information: https://github.com/clementi/lspath.
  • Print the contents of the system PATH variable, with one element per line:
    lspath
  • Print the current contents of the system PATH variable, with one element per line, with the output paged:
    lspath --page

xxd

Create a hexadecimal representation (hexdump) from a binary file, or vice-versa. More information: https://manned.org/xxd.
  • Generate a hexdump from a binary file and display the output:
    xxd {{input_file}}
  • Generate a hexdump from a binary file and save it as a text file:
    xxd {{input_file}} {{output_file}}
  • Display a more compact output, replacing consecutive zeros (if any) with a star:
    xxd -a {{input_file}}
  • Display the output with 10 columns of one octet (byte) each:
    xxd -c {{10}} {{input_file}}
  • Display output only up to a length of 32 bytes:
    xxd -l {{32}} {{input_file}}
  • Display the output in plain mode, without any gaps between the columns:
    xxd -p {{input_file}}
  • Revert a plaintext hexdump back into binary, and save it as a binary file:
    xxd -r -p {{input_file}} {{output_file}}

pdftk

PDF toolkit. More information: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit.
  • Extract pages 1-3, 5 and 6-10 from a PDF file and save them as another one:
    pdftk {{input.pdf}} cat {{1-3 5 6-10}} output {{output.pdf}}
  • Merge (concatenate) a list of PDF files and save the result as another one:
    pdftk {{file1.pdf file2.pdf ...}} cat output {{output.pdf}}
  • Split each page of a PDF file into a separate file, with a given filename output pattern:
    pdftk {{input.pdf}} burst output {{out_%d.pdf}}
  • Rotate all pages by 180 degrees clockwise:
    pdftk {{input.pdf}} cat {{1-endsouth}} output {{output.pdf}}
  • Rotate third page by 90 degrees clockwise and leave others unchanged:
    pdftk {{input.pdf}} cat {{1-2 3east 4-end}} output {{output.pdf}}

pactl

Control a running PulseAudio sound server. More information: https://manned.org/pactl.
  • List all sinks (or other types - sinks are outputs and sink-inputs are active audio streams):
    pactl list {{sinks}} short
  • Change the default sink (output) to 1 (the number can be retrieved via the list subcommand):
    pactl set-default-sink {{1}}
  • Move sink-input 627 to sink 1:
    pactl move-sink-input {{627}} {{1}}
  • Set the volume of sink 1 to 75%:
    pactl set-sink-volume {{1}} {{0.75}}
  • Toggle mute on the default sink (using the special name @DEFAULT_SINK@):
    pactl set-sink-mute {{@DEFAULT_SINK@}} toggle

browser-sync

Starts local web server that updates browser on file changes. More information: https://browsersync.io/docs/command-line.
  • Start a server from a specific directory:
    browser-sync start --server {{path/to/directory}} --files {{path/to/directory}}
  • Start a server from local directory, watching all CSS files in a directory:
    browser-sync start --server --files '{{path/to/directory/*.css}}'
  • Create configuration file:
    browser-sync init
  • Start Browsersync from config file:
    browser-sync start --config {{config_file}}

kitex

Code generation tool provided by the Go RPC framework Kitex. Kitex accepts both thrift and protobuf IDLs, and supports generating a skeleton of a server side project. More information: https://www.cloudwego.io.
  • Generate client codes when a project is in $GOPATH:
    kitex {{path/to/IDL_file.thrift}}
  • Generate client codes when a project is not in $GOPATH:
    kitex -module {{github.com/xx-org/xx-name}} {{path/to/IDL_file.thrift}}
  • Generate client codes with protobuf IDL:
    kitex -type protobuf {{path/to/IDL_file.proto}}
  • Generate server codes:
    kitex -service {{svc_name}} {{path/to/IDL_file.thrift}}

diskonaut

Terminal disk space navigator, written in Rust. More information: https://github.com/imsnif/diskonaut.
  • Start diskonaut in the current directory:
    diskonaut
  • Start diskonaut in a specific directory:
    diskonaut {{path/to/directory}}
  • Show file sizes rather than their block usage on the disk:
    diskonaut --apparent-size {{path/to/directory}}
  • Disable deletion confirmation:
    diskonaut --disable-delete-confirmation

git apply

Apply a patch to files and/or to the index without creating a commit. See also git am, which applies a patch and also creates a commit. More information: https://git-scm.com/docs/git-apply.
  • Print messages about the patched files:
    git apply --verbose {{path/to/file}}
  • Apply and add the patched files to the index:
    git apply --index {{path/to/file}}
  • Apply a remote patch file:
    curl -L {{https://example.com/file.patch}} | git apply
  • Output diffstat for the input and apply the patch:
    git apply --stat --apply {{path/to/file}}
  • Apply the patch in reverse:
    git apply --reverse {{path/to/file}}
  • Store the patch result in the index without modifying the working tree:
    git apply --cache {{path/to/file}}

az

The official CLI tool for Microsoft Azure. Some subcommands such as az login have their own usage documentation. More information: https://learn.microsoft.com/cli/azure.
  • Log in to Azure:
    az login
  • Manage azure subscription information:
    az account
  • List all Azure Managed Disks:
    az disk list
  • List all Azure virtual machines:
    az vm list
  • Manage Azure Kubernetes Services:
    az aks
  • Manage Azure Network resources:
    az network

erl

Run and manage programs in the Erlang programming language. More information: https://www.erlang.org.
  • Compile and run sequential Erlang program as a common script and then exit:
    erlc {{files}} && erl -noshell '{{mymodule:myfunction(arguments)}}, init:stop().'
  • Connect to a running Erlang node:
    erl -remsh {{nodename}}@{{hostname}} -sname {{custom_shortname}} -hidden -setcookie {{cookie_of_remote_node}}
  • Tell the Erlang shell to load modules from a directory:
    erl -pa {{directory_with_beam_files}}

nano

Command-line text editor. An enhanced Pico clone. More information: https://nano-editor.org.
  • Start the editor:
    nano
  • Start the editor without using configuration files:
    nano --ignorercfiles
  • Open specific files, moving to the next file when closing the previous one:
    nano {{path/to/file1 path/to/file2 ...}}
  • Open a file and position the cursor at a specific line and column:
    nano +{{line}},{{column}} {{path/to/file}}
  • Open a file and enable soft wrapping:
    nano --softwrap {{path/to/file}}
  • Open a file and indent new lines to the previous line's indentation:
    nano --autoindent {{path/to/file}}
  • Open a file and create a backup file (path/to/file~) on save:
    nano --backup {{path/to/file}}

verilator

Converts Verilog and SystemVerilog hardware description language (HDL) design into a C++ or SystemC model to be executed after compiling. More information: https://veripool.org/guide/latest/.
  • Build a specific C project in the current directory:
    verilator --binary --build-jobs 0 -Wall {{path/to/source.v}}
  • Create a C++ executable in a specific folder:
    verilator --cc --exe --build --build-jobs 0 -Wall {{path/to/source.cpp}} {{path/to/output.v}}
  • Perform linting over a code in the current directory:
    verilator --lint-only -Wall
  • Create XML output about the design (files, modules, instance hierarchy, logic and data types) to feed into other tools:
    verilator --xml-output -Wall {{path/to/output.xml}}

wasm-objdump

Display information from WebAssembly binaries. More information: https://github.com/WebAssembly/wabt.
  • Display the section headers of a given binary:
    wasm-objdump -h {{file.wasm}}
  • Display the entire disassembled output of a given binary:
    wasm-objdump -d {{file.wasm}}
  • Display the details of each section:
    wasm-objdump --details {{file.wasm}}
  • Display the details of a given section:
    wasm-objdump --section '{{import}}' --details {{file.wasm}}

coursier

Application and artifact manager for the Scala language, it can install Scala applications and setup your Scala development environment. Some subcommands such as install, launch, java, fetch, resolve, complete-dep, etc. have their own usage documentation. More information: https://get-coursier.io/docs/overview.
  • Display version:
    cs version
  • Show a list of the installed applications:
    cs list
  • Install a specific application:
    cs install {{application_name}}
  • Uninstall a specific application:
    cs uninstall {{application_name}}
  • Setup machine for the Scala development:
    cs setup
  • Update all the installed applications:
    cs update

gh auth

Authenticate with a GitHub host. More information: https://cli.github.com/manual/gh_auth.
  • Log in with interactive prompt:
    gh auth login
  • Log in with a token from stdin (created in https://github.com/settings/tokens):
    echo {{your_token}} | gh auth login --with-token
  • Check if you are logged in:
    gh auth status
  • Log out:
    gh auth logout
  • Log in with a specific GitHub Enterprise Server:
    gh auth login --hostname {{github.example.com}}
  • Refresh the session to ensure authentication credentials have the correct minimum scopes (removes additional scopes requested previously):
    gh auth refresh
  • Expand the permission scopes:
    gh auth refresh --scopes {{repo,admin:repo_hook,admin:org,admin:public_key,admin:org_hook,...}}

obs

Open Broadcaster Software. Video recording and livestreaming program. More information: https://obsproject.com/.
  • Launch OBS:
    obs
  • Launch OBS in portable mode:
    obs --portable
  • Automatically start recording a video on launch:
    obs --startrecording
  • Automatically start the replay buffer on launch:
    obs --startreplaybuffer
  • Automatically start streaming on launch:
    obs --startstreaming
  • Minimise to the system tray on launch:
    obs --minimize-to-tray
  • Make the log more verbose (for debugging):
    obs --verbose

chsh

Change user's login shell. More information: https://manned.org/chsh.
  • Set a specific login shell for the current user interactively:
    chsh
  • Set a specific login [s]hell for the current user:
    chsh -s {{path/to/shell}}
  • Set a login [s]hell for a specific user:
    chsh -s {{path/to/shell}} {{username}}
  • [l]ist available shells:
    chsh -l


llvm-bcanalyzer

LLVM Bitcode (.bc) analyzer. More information: https://llvm.org/docs/CommandGuide/llvm-bcanalyzer.html.
  • Print statistics about a Bitcode file:
    llvm-bcanalyzer {{path/to/file.bc}}
  • Print an SGML representation and statistics about a Bitcode file:
    llvm-bcanalyzer -dump {{path/to/file.bc}}
  • Read a Bitcode file from stdin and analyze it:
    cat {{path/to/file.bc}} | llvm-bcanalyzer

patchwork

Render an image of a squareified treemap network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    patchwork -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    patchwork -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    patchwork -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | patchwork -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    patchwork -?

clang-cpp

This command is an alias of clang++.
  • View documentation for the original command:
    tldr clang++

numfmt

Convert numbers to and from human-readable strings. More information: https://www.gnu.org/software/coreutils/numfmt.
  • Convert 1.5K (SI Units) to 1500:
    numfmt --from={{si}} {{1.5K}}
  • Convert 5th field (1-indexed) to IEC Units without converting header:
    ls -l | numfmt --header={{1}} --field={{5}} --to={{iec}}
  • Convert to IEC units, pad with 5 characters, left aligned:
    du -s * | numfmt --to={{iec}} --format="{{%-5f}}"

diff-pdf

Tool for comparing two PDFs. More information: https://github.com/vslavik/diff-pdf.
  • Compare PDFs, indicating changes using return codes (0 = no difference, 1 = PDFs differ):
    diff-pdf {{path/to/a.pdf}} {{path/to/b.pdf}}
  • Compare PDFs, outputting a PDF with visually highlighted differences:
    diff-pdf --output-diff={{path/to/diff.pdf}} {{path/to/a.pdf}} {{path/to/b.pdf}}
  • Compare PDFs, viewing differences in a simple GUI:
    diff-pdf --view {{path/to/a.pdf}} {{path/to/b.pdf}}

ntl

This command is an alias of netlify. More information: https://cli.netlify.com.
  • View documentation for the original command:
    tldr netlify

od

Display file contents in octal, decimal or hexadecimal format. Optionally display the byte offsets and/or printable representation for each line. More information: https://www.gnu.org/software/coreutils/od.
  • Display file using default settings: octal format, 8 bytes per line, byte offsets in octal, and duplicate lines replaced with *:
    od {{path/to/file}}
  • Display file in verbose mode, i.e. without replacing duplicate lines with *:
    od -v {{path/to/file}}
  • Display file in hexadecimal format (2-byte units), with byte offsets in decimal format:
    od --format={{x}} --address-radix={{d}} -v {{path/to/file}}
  • Display file in hexadecimal format (1-byte units), and 4 bytes per line:
    od --format={{x1}} --width={{4}} -v {{path/to/file}}
  • Display file in hexadecimal format along with its character representation, and do not print byte offsets:
    od --format={{xz}} --address-radix={{n}} -v {{path/to/file}}
  • Read only 100 bytes of a file starting from the 500th byte:
    od --read-bytes {{100}} --skip-bytes={{500}} -v {{path/to/file}}

hashid

Python3 program that identifies data and password hashes. More information: https://github.com/psypanda/hashID.
  • Identify hashes from stdin (through typing, copying and pasting, or piping the hash into the program):
    hashid
  • Identify hashes passed as arguments (multiple hashes can be passed):
    hashid {{hash}}
  • Identify hashes on a file (one hash per line):
    hashid {{path/to/hashes.txt}}
  • Show all possible hash types (including salted hashes):
    hashid --extended {{hash}}
  • Show hashcat's mode number and john's format string of the hash types:
    hashid --mode --john {{hash}}
  • Save output to a file instead of printing to stdout:
    hashid --outfile {{path/to/output.txt}} {{hash}}

git clean

Remove untracked files from the working tree. More information: https://git-scm.com/docs/git-clean.
  • Delete files that are not tracked by Git:
    git clean
  • Interactively delete files that are not tracked by Git:
    git clean -i
  • Show what files would be deleted without actually deleting them:
    git clean --dry-run
  • Forcefully delete files that are not tracked by Git:
    git clean -f
  • Forcefully delete directories that are not tracked by Git:
    git clean -fd
  • Delete untracked files, including ignored files in .gitignore and .git/info/exclude:
    git clean -x

hg log

Display the revision history of the repository. More information: https://www.mercurial-scm.org/doc/hg.1.html#log.
  • Display the entire revision history of the repository:
    hg log
  • Display the revision history with an ASCII graph:
    hg log --graph
  • Display the revision history with file names matching a specified pattern:
    hg log --include {{pattern}}
  • Display the revision history, excluding file names that match a specified pattern:
    hg log --exclude {{pattern}}
  • Display the log information for a specific revision:
    hg log --rev {{revision}}
  • Display the revision history for a specific branch:
    hg log --branch {{branch}}
  • Display the revision history for a specific date:
    hg log --date {{date}}
  • Display revisions committed by a specific user:
    hg log --user {{user}}

pio init

This command is an alias of pio project init.
  • View documentation for the original command:
    tldr pio project

du

Disk usage: estimate and summarize file and directory space usage. More information: https://www.gnu.org/software/coreutils/du.
  • List the sizes of a directory and any subdirectories, in the given unit (B/KiB/MiB):
    du -{{b|k|m}} {{path/to/directory}}
  • List the sizes of a directory and any subdirectories, in human-readable form (i.e. auto-selecting the appropriate unit for each size):
    du -h {{path/to/directory}}
  • Show the size of a single directory, in human-readable units:
    du -sh {{path/to/directory}}
  • List the human-readable sizes of a directory and of all the files and directories within it:
    du -ah {{path/to/directory}}
  • List the human-readable sizes of a directory and any subdirectories, up to N levels deep:
    du -h --max-depth=N {{path/to/directory}}
  • List the human-readable size of all .jpg files in subdirectories of the current directory, and show a cumulative total at the end:
    du -ch {{*/*.jpg}}

afconvert

Convert between AFF and raw file formats. More information: https://manned.org/afconvert.1.
  • Use a specific extension (default: aff):
    afconvert -a {{extension}} {{path/to/input_file}} {{path/to/output_file1 path/to/output_file2 ...}}
  • Use a specific compression level (default: 7):
    afconvert -X{{0..7}} {{path/to/input_file}} {{path/to/output_file1 path/to/output_file2 ...}}

syncthing

Continuous bidirectional decentralised folder synchronisation tool. More information: https://docs.syncthing.net/.
  • Start Syncthing:
    syncthing
  • Start Syncthing without opening a web browser:
    syncthing -no-browser
  • Print the device ID:
    syncthing -device-id
  • Change the home directory:
    syncthing -home={{path/to/directory}}
  • Force a full index exchange:
    syncthing -reset-deltas
  • Change the address upon which the web interface listens:
    syncthing -gui-address={{ip_address:port|path/to/socket.sock}}
  • Show filepaths to the files used by Syncthing:
    syncthing -paths
  • Disable the Syncthing monitor process:
    syncthing -no-restart

quarto

An open-source scientific and technical publishing system built on Pandoc. More information: https://quarto.org/.
  • Create a new project:
    quarto create-project {{path/to/destination_directory}} --type {{book|default|website}}
  • Create a new blog website:
    quarto create-project {{path/to/destination_directory}} --type {{website}} --template {{blog}}
  • Render input file(s) to different formats:
    quarto render {{path/to/file.{{qmd|rmd|ipynb}}}} --to {{html|pdf|docx}}
  • Render and preview a document or a website:
    quarto preview {{path/to/destination_directory|path/to/file}}
  • Publish a document or project to Quarto Pub, Github Pages, RStudio Connect or Netlify:
    quarto publish {{quarto-pub|gh-pages|connect|netlify}}

upx

Compress or decompress executables. More information: https://upx.github.io.
  • Compress executable:
    upx {{path/to/file}}
  • Decompress executable:
    upx -d {{path/to/file}}
  • Detailed help:
    upx --help

starship init

Print shell integration code for starship. More information: https://starship.rs.
  • Display the subcommand help:
    starship init --help
  • Print the starship integration code for the specified shell:
    starship init {{bash|elvish|fish|ion|powershell|tcsh|zsh}}
  • Append the starship integration code to ~/.bashrc:
    starship init {{bash}} >> {{~/.bashrc}}
  • Append the starship integration code to ~/.zshrc:
    starship init {{zsh}} >> {{~/.zshrc}}

mingle

Bundle the edges of a graph layout. Graphviz filters: acyclic, bcomps, comps, edgepaint, gvcolor, gvpack, mingle, nop, sccmap, tred, & unflatten. More information: https://www.graphviz.org/pdf/mingle.1.pdf.
  • Bundle the edges of one or more graph layouts (that already have layout information):
    mingle {{path/to/layout1.gv}} {{path/to/layout2.gv ...}} > {{path/to/output.gv}}
  • Perform layout, bundling, and output to a picture with one command:
    dot {{path/to/input.gv}} | mingle | dot -T {{png}} > {{path/to/output.png}}
  • Display help for mingle:
    mingle -?

pylint

A Python code linter. More information: https://pylint.pycqa.org/en/latest/.
  • Show lint errors in a file:
    pylint {{path/to/file.py}}
  • Lint a file and use a configuration file (usually named pylintrc):
    pylint --rcfile {{path/to/pylintrc}} {{path/to/file.py}}
  • Lint a file and disable a specific error code:
    pylint --disable {{C,W,no-error,design}} {{path/to/file}}

mail

The command operates on the user's mailbox if no argument is given. To send an email the message body is built from stdin. More information: https://manned.org/mail.
  • Send a typed email message. The command-line below continues after pressing Enter key. Input CC email-id (optional) press Enter key. Input message text (can be multiline). Press Ctrl-D key to complete the message text:
    mail --subject="{{subject line}}" {{[email protected]}}
  • Send an email that contains file content:
    mail --subject="{{$HOSTNAME filename.txt}}" {{[email protected]}} < {{path/to/filename.txt}}
  • Send a tar.gz file as an attachment:
    tar cvzf - {{path/to/directory1 path/to/directory2}} | uuencode {{data.tar.gz}} | mail --subject="{{subject_line}}" {{[email protected]}}

wpscan

WordPress vulnerability scanner. More information: https://github.com/wpscanteam/wpscan.
  • Update the vulnerability database:
    wpscan --update
  • Scan a WordPress website:
    wpscan --url {{url}}
  • Scan a WordPress website, using random user agents and passive detection:
    wpscan --url {{url}} --stealthy
  • Scan a WordPress website, checking for vulnerable plugins and specifying the path to the wp-content directory:
    wpscan --url {{url}} --enumerate {{vp}} --wp-content-dir {{remote/path/to/wp-content}}
  • Scan a WordPress website through a proxy:
    wpscan --url {{url}} --proxy {{protocol://ip:port}} --proxy-auth {{username:password}}
  • Perform user identifiers enumeration on a WordPress website:
    wpscan --url {{url}} --enumerate {{u}}
  • Execute a password guessing attack on a WordPress website:
    wpscan --url {{url}} --usernames {{username|path/to/usernames.txt}} --passwords {{path/to/passwords.txt}} threads {{20}}
  • Scan a WordPress website, collecting vulnerability data from the WPVulnDB (https://wpvulndb.com/):
    wpscan --url {{url}} --api-token {{token}}

ledger

Ledger is a powerful, double-entry accounting system that is accessed from the UNIX command-line. More information: https://www.ledger-cli.org.
  • Print a balance report showing totals:
    ledger balance --file {{path/to/ledger.journal}}
  • List all postings in Expenses ordered by amount:
    ledger register {{expenses}} --sorted {{amount}}
  • Print total Expenses other than Drinks and Food:
    ledger balance {{Expenses}} and not ({{Drinks}} or {{Food}})
  • Print a budget report:
    ledger budget
  • Print summary information about all the postings:
    ledger stats

stty

Set options for a terminal device interface. More information: https://www.gnu.org/software/coreutils/stty.
  • Display all settings for the current terminal:
    stty --all
  • Set the number of rows or columns:
    stty {{rows|cols}} {{count}}
  • Get the actual transfer speed of a device:
    stty --file {{path/to/device_file}} speed
  • Reset all modes to reasonable values for the current terminal:
    stty sane

ncmpcpp

A command-line music player client for the Music Player Daemon. More information: https://rybczak.net/ncmpcpp.
  • Connect to a music player daemon on a given host and port:
    ncmpcpp --host {{ip}} --port {{port}}
  • Display metadata of the current song to console:
    ncmpcpp --current-song
  • Use a specified configuration file:
    ncmpcpp --config {{file}}
  • Use a different set of key bindings from a file:
    ncmpcpp --bindings {{file}}


zdb

ZFS debugger. More information: https://manned.org/zdb.
  • Show detailed configuration of all mounted ZFS zpools:
    zdb
  • Show detailed configuration for a specific ZFS pool:
    zdb -C {{poolname}}
  • Show statistics about number, size and deduplication of blocks:
    zdb -b {{poolname}}

git status

Show the changes to files in a Git repository. Lists changed, added and deleted files compared to the currently checked-out commit. More information: https://git-scm.com/docs/git-status.
  • Show changed files which are not yet added for commit:
    git status
  • Give output in [s]hort format:
    git status -s
  • Don't show untracked files in the output:
    git status --untracked-files=no
  • Show output in [s]hort format along with [b]ranch info:
    git status -sb


git pr

Check out GitHub pull requests locally. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-pr.
  • Check out a specific pull request:
    git pr {{pr_number}}
  • Check out a pull request from a specific remote:
    git pr {{pr_number}} {{remote}}
  • Check out a pull request from its URL:
    git pr {{url}}
  • Clean up old pull request branches:
    git pr clean

php yii

Yii Framework's command-line interface. More information: https://yiiframework.com.
  • Display a list of all available commands:
    php yii {{help}}
  • Start PHP's built-in web server for the current Yii application:
    php yii {{serve}}
  • Generate a controller, views and related files for the CRUD actions on the specified model class:
    php yii {{gii/crud}} --modelClass={{ModelName}} --controllerClass={{ControllerName}}

phing

A PHP build tool based on Apache Ant. More information: https://www.phing.info.
  • Perform the default task in the build.xml file:
    phing
  • Initialize a new build file:
    phing -i {{path/to/build.xml}}
  • Perform a specific task:
    phing {{task_name}}
  • Specify a custom build file path:
    phing -f {{path/to/build.xml}} {{task_name}}
  • Specify a log file to output to:
    phing -b {{path/to/log_file}} {{task_name}}
  • Specify custom properties to use in the build:
    phing -D{{property}}={{value}} {{task_name}}
  • Specify a custom listener class:
    phing -listener {{class_name}} {{task_name}}
  • Build using verbose output:
    phing -verbose {{task_name}}

miniserve

Simple HTTP file server. More information: https://github.com/svenstaro/miniserve.
  • Serve a directory:
    miniserve {{path/to/directory}}
  • Serve a single file:
    miniserve {{path/to/file}}
  • Serve a directory using HTTP basic authentication:
    miniserve --auth {{username}}:{{password}} {{path/to/directory}}

aws cur

Create, query, and delete AWS usage report definitions. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cur/index.html.
  • Create an AWS cost and usage report definition from a JSON file:
    aws cur put-report-definition --report-definition file://{{path/to/report_definition.json}}
  • List usage report definitions defined for the logged in account:
    aws cur describe-report-definitions
  • Delete a usage report definition:
    aws cur --region {{aws_region}} delete-report-definition --report-name {{report}}

autopep8

Format Python code according to the PEP 8 style guide. More information: https://github.com/hhatto/autopep8.
  • Format a file to stdout, with a custom maximum line length:
    autopep8 {{path/to/file.py}} --max-line-length {{length}}
  • Format a file, displaying a diff of the changes:
    autopep8 --diff {{path/to/file}}
  • Format a file in-place and save the changes:
    autopep8 --in-place {{path/to/file.py}}
  • Recursively format all files in a directory in-place and save changes:
    autopep8 --in-place --recursive {{path/to/directory}}

dolt checkout

Checkout the work tree or tables to a specific branch or commit. More information: https://github.com/dolthub/dolt.
  • Switch to a branch:
    dolt checkout {{branch_name}}
  • Revert unstaged changes to a table:
    dolt checkout {{table}}
  • Create new branch and switch to it:
    dolt checkout -b {{branch_name}}
  • Create new branch based on a specified commit and switch to it:
    dolt checkout -b {{branch_name}} {{commit}}

dotnet tool

Manage .NET tools and search published tools in NuGet. More information: https://learn.microsoft.com/dotnet/core/tools/global-tools.
  • Install a global tool (don't use --global for local tools):
    dotnet tool install --global {{dotnetsay}}
  • Install tools defined in the local tool manifest:
    dotnet tool restore
  • Update a specific global tool (don't use --global for local tools):
    dotnet tool update --global {{tool_name}}
  • Uninstall a global tool (don't use --global for local tools):
    dotnet tool uninstall --global {{tool_name}}
  • List installed global tools (don't use --global for local tools):
    dotnet tool list --global
  • Search tools in NuGet:
    dotnet tool search {{search_term}}
  • Display help:
    dotnet tool --help

pyATS

A vendor agnostic test automation framework by Cisco Systems, used for network and systems testing. More information: https://developer.cisco.com/pyats/.
  • Run a pyATS subcommand:
    pyats {{subcommand}}
  • Display version:
    pyats version check
  • Display help:
    pyats --help
  • Display help about a specific subcommand:
    pyats {{subcommand}} --help

dexter

Tool for authenticating the kubectl users with OpenId Connect. More information: https://github.com/gini/dexter.
  • Create and authenticate a user with Google OIDC:
    dexter auth -i {{client_id}} -s {{client_secret}}
  • Override the default kube config location:
    dexter auth -i {{client_id}} -s {{client_secret}} --kube-config {{sample/config}}

gyb

Command line tool for locally backing up Gmail messages using Gmail's API over HTTPS. More information: https://github.com/GAM-team/got-your-back.
  • Estimate the number and the size of all emails on your Gmail account:
    gyb --email {{[email protected]}} --action estimate
  • Backup a Gmail account to a specific directory:
    gyb --email {{[email protected]}} --action backup --local-folder {{path/to/directory}}
  • Backup only important or starred emails from a Gmail account to the default local folder:
    gyb --email {{[email protected]}} --search "{{is:important OR is:starred}}"
  • Restore from a local folder to a Gmail account:
    gyb --email {{[email protected]}} --action restore --local-folder {{path/to/directory}}

heroku

Create and manage Heroku apps. More information: https://www.heroku.com/.
  • Log in to your Heroku account:
    heroku login
  • Create a Heroku app:
    heroku create
  • Show logs for an app:
    heroku logs --app {{app_name}}
  • Run a one-off process inside a dyno (Heroku virtual machine):
    heroku run {{process_name}} --app {{app_name}}
  • List dynos (Heroku virtual machines) for an app:
    heroku ps --app {{app_name}}
  • Permanently destroy an app:
    heroku destroy --app {{app_name}}

puppet apply

Apply Puppet manifests locally. More information: https://puppet.com/docs/puppet/7/man/apply.html.
  • Apply a manifest:
    puppet apply {{path/to/manifest}}
  • Execute puppet code:
    puppet apply --execute {{code}}
  • Use a specific module and hiera config file:
    puppet apply --modulepath {{path/to/directory}} --hiera_config {{path/to/file}} {{path/to/manifest}}

box

A PHP application for building and managing Phars. More information: https://github.com/box-project/box.
  • Compile a new Phar file:
    box compile
  • Compile a new Phar file using a specific config file:
    box compile -c {{path/to/config}}
  • Display information about the PHAR PHP extension:
    box info
  • Display information about a specific Phar file:
    box info {{path/to/phar_file}}
  • Validate the first found config file in the working directory:
    box validate
  • Verify the signature of a specific Phar file:
    box verify {{path/to/phar_file}}
  • Display all available commands and options:
    box help

pixiecore

Tool to manage the network booting of machines. More information: https://github.com/danderson/netboot/tree/master/pixiecore.
  • Start a PXE boot server which provides a netboot.xyz boot image:
    pixiecore {{quick}} xyz --dhcp-no-bind
  • Start a new PXE boot server which provides an Ubuntu boot image:
    pixiecore {{quick}} ubuntu --dhcp-no-bind
  • Get a list of all available boot images for quick mode:
    pixiecore quick --help

dune

A build system for OCaml programs. More information: https://dune.build.
  • Build all targets:
    dune build
  • Clean up the workspace:
    dune clean
  • Run all tests:
    dune runtest
  • Start the utop REPL with compiled modules automatically loaded into it, to remove the need to load them by hand:
    dune utop

xcaddy

The custom build tool for the Caddy Web Server. More information: https://github.com/caddyserver/xcaddy.
  • Build Caddy server from source:
    xcaddy build
  • Build Caddy server with a specific version (defaults to latest):
    xcaddy build {{version}}
  • Build Caddy with a specific module:
    xcaddy build --with {{module_name}}
  • Build Caddy and output to a specific file:
    xcaddy build --output {{path/to/file}}
  • Build and run Caddy for a development plugin in the current directory:
    xcaddy run
  • Build and run Caddy for a development plugin using a specific Caddy config:
    xcaddy run --config {{path/to/file}}

csvformat

Convert a CSV file to a custom output format. Included in csvkit. More information: https://csvkit.readthedocs.io/en/latest/scripts/csvformat.html.
  • Convert to a tab-delimited file (TSV):
    csvformat -T {{data.csv}}
  • Convert delimiters to a custom character:
    csvformat -D "{{custom_character}}" {{data.csv}}
  • Convert line endings to carriage return (^M) + line feed:
    csvformat -M "{{\r\n}}" {{data.csv}}
  • Minimize use of quote characters:
    csvformat -U 0 {{data.csv}}
  • Maximize use of quote characters:
    csvformat -U 1 {{data.csv}}

git sizer

Computes various Git repository size metrics and alerts you to any that might cause problems or inconvenience. More information: https://github.com/github/git-sizer.
  • Report only statistics that have a level of concern greater than 0:
    git sizer
  • Report all statistics:
    git sizer -v
  • See additional options:
    git sizer -h

asciidoctor

A processor that converts AsciiDoc files to a publishable format. More information: https://docs.asciidoctor.org.
  • Convert a specific .adoc file to HTML (the default output format):
    asciidoctor {{path/to/file.adoc}}
  • Convert a specific .adoc file to HTML and link a CSS stylesheet:
    asciidoctor -a stylesheet={{path/to/stylesheet.css}} {{path/to/file.adoc}}
  • Convert a specific .adoc file to embeddable HTML, removing everything except the body:
    asciidoctor --embedded {{path/to/file.adoc}}
  • Convert a specific .adoc file to a PDF using the asciidoctor-pdf library:
    asciidoctor --backend={{pdf}} --require={{asciidoctor-pdf}} {{path/to/file.adoc}}

speedcrunch

A high-precision scientific calculator. More information: https://www.speedcrunch.org.
  • Start SpeedCrunch:
    speedcrunch
  • Copy the result of the most recent calculation:
    Ctrl + R
  • Open the formula book:
    Ctrl + 1
  • Clear the calculator of recent calculations:
    Ctrl + N
  • Wrap highlighted in parentheses (defaults to wrapping all if nothing selected):
    Ctrl + P
  • Load a speedcrunch session:
    Ctrl + L
  • Save a speedcrunch session:
    Ctrl + S
  • Toggle keypad:
    Ctrl + K

avo

The official command-line interface for Avo. More information: https://www.avo.app/docs/implementation/cli.
  • Initialize a workspace in the current directory:
    avo init
  • Log into the Avo platform:
    avo login
  • Switch to an existing Avo branch:
    avo checkout {{branch_name}}
  • Pull analytics wrappers for the current path:
    avo pull
  • Display the status of the Avo implementation:
    avo status
  • Resolve Git conflicts in Avo files:
    avo conflict
  • Open the current Avo workspace in the default web browser:
    avo edit
  • Display help for a subcommand:
    avo {{subcommand}} --help

exit

Exit the shell. More information: https://manned.org/exit.
  • Exit the shell with the exit code of the last command executed:
    exit
  • Exit the shell with the specified exit code:
    exit {{exit_code}}

gnucash-cli

A command-line version of GnuCash. More information: https://gnucash.org.
  • Get quotes for currencies and stocks specified in a file and print them:
    gnucash-cli --quotes get {{path/to/file.gnucash}}
  • Generate a financial report of a specific type, specified by --name:
    gnucash-cli --report run --name "{{Balance Sheet}}" {{path/to/file.gnucash}}

searchsploit

Searchsploit searches exploit database's database for exploits, shellcodes and/or papers. If known version numbers are used as search terms, exploits for both the exact version and others whose version range covers the one specified are shown. More information: https://www.exploit-db.com/searchsploit.
  • Search for an exploit, shellcode, or paper:
    searchsploit {{search_terms}}
  • Search for a known specific version, e.g. sudo version 1.8.27:
    searchsploit sudo 1.8.27
  • Show the exploit-db link to the found resources:
    searchsploit --www {{search_terms}}
  • Make a copy of the resource to the current directory (requires the number of the exploit):
    searchsploit --mirror {{exploit_number}}
  • Open the resource to read with the pager defined in the $PAGER environment variable:
    searchsploit --explore {{exploit_number}}
  • Update the local exploit database:
    searchsploit --update

cppclean

Find unused code in C++ projects. More information: https://github.com/myint/cppclean.
  • Run in a project's directory:
    cppclean {{path/to/project}}
  • Run on a project where the headers are in the inc1/ and inc2/ directories:
    cppclean {{path/to/project}} --include-path={{inc1}} --include-path={{inc2}}
  • Run on a specific file main.cpp:
    cppclean {{main.cpp}}
  • Run on the current directory, excluding the "build" directory:
    cppclean {{.}} --exclude={{build}}

sysbench

Benchmark a System's CPU, IO and memory. More information: https://github.com/akopytov/sysbench/.
  • Run a CPU benchmark with 1 thread for 10 seconds:
    sysbench cpu run
  • Run a CPU benchmark with multiple threads for a specified time:
    sysbench --threads={{number_of_threads}} --time={{seconds}}
  • Run a memory benchmark with 1 thread for 10 seconds:
    sysbench memory run
  • Prepare a filesystem-level read benchmark:
    sysbench fileio prepare
  • Run a filesystem-level benchmark:
    sysbench --file-test-mode={{rndrd|rndrw|rndwr|seqrd|seqrewr|seqwr}} fileio run

keep-header

Keep first line untouched by a command, passing it directly to stdout. More information: https://github.com/eBay/tsv-utils#keep-header.
  • Sort a file and keep the first line at the top:
    keep-header {{path/to/file}} -- sort
  • Output first line directly to stdout, passing the remainder of the file through the specified command:
    keep-header {{path/to/file}} -- {{command}}
  • Read from stdin, sorting all except the first line:
    cat {{path/to/file}} | keep-header -- {{command}}
  • Grep a file, keeping the first line regardless of the search pattern:
    keep-header {{path/to/file}} -- grep {{pattern}}

git squash

Squash multiple commits into a single commit. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-squash.
  • Merge all commits from a specific branch into the current branch as a single commit:
    git squash {{source_branch}}
  • Squash all commits starting with a specific commit on the current branch:
    git squash {{commit}}
  • Squash the n latest commits and commit with a message:
    git squash HEAD~{{n}} "{{message}}"
  • Squash the n latest commits and commit concatenating all individual messages:
    git squash --squash-msg HEAD~{{n}}

git verify-tag

Check for GPG verification of tags. If a tag wasn't signed, an error will occur. More information: https://git-scm.com/docs/git-verify-tag.
  • Check tags for a GPG signature:
    git verify-tag {{tag1 optional_tag2 ...}}
  • Check tags for a GPG signature and show details for each tag:
    git verify-tag {{tag1 optional_tag2 ...}} --verbose
  • Check tags for a GPG signature and print the raw details:
    git verify-tag {{tag1 optional_tag2 ...}} --raw

ClamAV

Open-source anti-virus program. ClamAV isn't a command, but a set of commands. More information: https://www.clamav.net.
  • Show the tldr page for scan files using the clamd daemon:
    tldr clamdscan
  • Show the tldr page for scan files without the clamd daemon running:
    tldr clamscan
  • Show the tldr page for update the virus definitions:
    tldr freshclam


rustup toolchain

Manage Rust toolchains. See rustup help toolchain for more information about toolchains. More information: https://rust-lang.github.io/rustup.
  • Install or update a given toolchain:
    rustup install {{toolchain}}
  • Uninstall a toolchain:
    rustup uninstall {{toolchain}}
  • List installed toolchains:
    rustup list
  • Create a custom toolchain by symlinking to a directory:
    rustup link {{custom_toolchain_name}} {{path/to/directory}}

virt-sysprep

Reset, unconfigure, or customize a virtual machine image. More information: https://manned.org/virt-sysprep.
  • List all supported operations (enabled operations are indicated with asterisks):
    virt-sysprep --list-operations
  • Run all enabled operations but don't actually apply the changes:
    virt-sysprep --domain {{vm_name}} --dry-run
  • Run only the specified operations:
    virt-sysprep --domain {{vm_name}} --operations {{operation1,operation2,...}}
  • Generate a new /etc/machine-id file and enable customizations to be able to change the host name to avoid network conflicts:
    virt-sysprep --domain {{vm_name}} --enable {{customizations}} --hostname {{host_name}} --operation {{machine-id}}

chroot

Run command or interactive shell with special root directory. More information: https://www.gnu.org/software/coreutils/chroot.
  • Run command as new root directory:
    chroot {{path/to/new/root}} {{command}}
  • Specify user and group (ID or name) to use:
    chroot --userspec={{user:group}}

colordiff

A tool to colorize diff output. The Perl script colordiff is a wrapper for diff and produces the same output but with pretty syntax highlighting. Color schemes can be customized. More information: https://github.com/kimmel/colordiff.
  • Compare files:
    colordiff {{file1}} {{file2}}
  • Output in two columns:
    colordiff -y {{file1}} {{file2}}
  • Ignore case differences in file contents:
    colordiff -i {{file1}} {{file2}}
  • Report when two files are the same:
    colordiff -s {{file1}} {{file2}}
  • Ignore white spaces:
    colordiff -w {{file1}} {{file2}}

declare

Declare variables and give them attributes. More information: https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins.
  • Declare a string variable with the specified value:
    declare {{variable}}="{{value}}"
  • Declare an integer variable with the specified value:
    declare -i {{variable}}="{{value}}"
  • Declare an array variable with the specified value:
    declare -a {{variable}}=({{item_a item_b item_c}})
  • Declare an associative array variable with the specified value:
    declare -A {{variable}}=({{[key_a]=item_a [key_b]=item_b [key_c]=item_c}})
  • Declare a readonly string variable with the specified value:
    declare -r {{variable}}="{{value}}"
  • Declare a global variable within a function with the specified value:
    declare -g {{variable}}="{{value}}"

lli

Directly execute programs from LLVM bitcode. More information: https://www.llvm.org/docs/CommandGuide/lli.html.
  • Execute a bitcode or IR file:
    lli {{path/to/file.ll}}
  • Execute with command-line arguments:
    lli {{path/to/file.ll}} {{argument1 argument2 ...}}
  • Enable all optimizations:
    lli -O3 {{path/to/file.ll}}
  • Load a dynamic library before linking:
    lli --dlopen={{path/to/library.dll}} {{path/to/file.ll}}

java

Java application launcher. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/java.html.
  • Execute a java .class file that contains a main method by using just the class name:
    java {{classname}}
  • Execute a java program and use additional third-party or user-defined classes:
    java -classpath {{path/to/classes1}}:{{path/to/classes2}}:. {{classname}}
  • Execute a .jar program:
    java -jar {{filename.jar}}
  • Execute a .jar program with debug waiting to connect on port 5005:
    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005 -jar {{filename.jar}}
  • Display JDK, JRE and HotSpot versions:
    java -version
  • Display usage information for the java command:
    java -help

newsboat

An RSS/Atom feed reader for text terminals. More information: https://newsboat.org/.
  • First import feed URLs from an OPML file:
    newsboat -i {{my-feeds.xml}}
  • Alternatively, add feeds manually:
    echo {{http://example.com/path/to/feed}} >> "${HOME}/.newsboat/urls"
  • Start Newsboat and refresh all feeds on startup:
    newsboat -r
  • Execute a space-separated list of commands in non-interactive mode:
    newsboat -x {{reload print-unread ...}}
  • See keyboard shortcuts (the most relevant are visible in the status line):
    ?


xmllint

XML parser and linter that supports XPath, a syntax for navigating XML trees. More information: https://manned.org/xmllint.
  • Return all nodes (tags) named "foo":
    xmllint --xpath "//{{foo}}" {{source_file.xml}}
  • Return the contents of the first node named "foo" as a string:
    xmllint --xpath "string(//{{foo}})" {{source_file.xml}}
  • Return the href attribute of the second anchor element in an HTML file:
    xmllint --html --xpath "string(//a[2]/@href)" webpage.xhtml
  • Return human-readable (indented) XML from file:
    xmllint --format {{source_file.xml}}
  • Check that an XML file meets the requirements of its DOCTYPE declaration:
    xmllint --valid {{source_file.xml}}
  • Validate XML against DTD schema hosted online:
    xmllint --dtdvalid {{URL}} {{source_file.xml}}

yacc

Generate an LALR parser (in C) with a given formal grammar specification file. See also: bison. More information: https://manned.org/man/yacc.1p.
  • Create a file y.tab.c containing the C parser code and compile the grammar file with all necessary constant declarations for values. (Constant declarations file y.tab.h is created only when the -d flag is used):
    yacc -d {{path/to/grammar_file.y}}
  • Compile a grammar file containing the description of the parser and a report of conflicts generated by ambiguities in the grammar:
    yacc -d {{path/to/grammar_file.y}} -v
  • Compile a grammar file, and prefix output filenames with prefix instead of y:
    yacc -d {{path/to/grammar_file.y}} -v -b {{prefix}}

llvm-nm

This command is an alias of nm.
  • View documentation for the original command:
    tldr nm

hg init

Create a new repository in the specified directory. More information: https://www.mercurial-scm.org/doc/hg.1.html#init.
  • Initialize a new repository in the current directory:
    hg init
  • Initialize a new repository in the specified directory:
    hg init {{path/to/directory}}

steamcmd

A command-line version of the Steam client. More information: https://manned.org/steamcmd.
  • Install or update an application anonymously:
    steamcmd +login {{anonymous}} +app_update {{appid}} +quit
  • Install or update an application using the specified credentials:
    steamcmd +login {{username}} +app_update {{appid}} +quit
  • Install an application for a specific platform:
    steamcmd +@sSteamCmdForcePlatformType {{windows}} +login {{anonymous}} +app_update {{appid}} validate +quit

nix flake

Manage Nix flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html.
  • See documentation about what Nix flakes are:
    nix flake --help
  • Create a new flake (just the flake.nix file) from the default template, in the current directory:
    nix flake init
  • Update all inputs (dependencies) of the flake in the current directory:
    nix flake update
  • Update a specific input (dependency) of the flake in the current directory:
    nix flake lock --update-input {{input}}
  • Show all the outputs of a flake on github:
    nix flake show {{github:owner/repo}}

newman

Collection runner for Postman. More information: https://github.com/postmanlabs/newman.
  • Run a collection (from a file):
    newman run {{path/to/collection.json}}
  • Run a collection (from a URL):
    newman run {{https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv}}

printf

Format and print text. More information: https://www.gnu.org/software/coreutils/printf.
  • Print a text message:
    printf "{{%s\n}}" "{{Hello world}}"
  • Print an integer in bold blue:
    printf "{{\e[1;34m%.3d\e[0m\n}}" {{42}}
  • Print a float number with the Unicode Euro sign:
    printf "{{\u20AC %.2f\n}}" {{123.4}}
  • Print a text message composed with environment variables:
    printf "{{var1: %s\tvar2: %s\n}}" "{{$VAR1}}" "{{$VAR2}}"
  • Store a formatted message in a variable (does not work on zsh):
    printf -v {{myvar}} {{"This is %s = %d\n" "a year" 2016}}

zstdcat

This command is an alias of zstd --decompress --stdout.
  • View documentation for the original command:
    tldr zstd

rtv

Reddit Terminal Viewer. Use arrow keys to navigate. Right and Left to view and return from a submission, respectively. More information: https://github.com/michael-lazar/rtv.
  • Open the front page:
    /front
  • Open a subreddit:
    /r/{{subreddit_name}}
  • Expand/collapse comments:
    [space]
  • Open link:
    o
  • Log in:
    u
  • Open the help screen:
    ?

boxes

Draw, remove, and repair ASCII art boxes. More information: https://boxes.thomasjensen.com.
  • Draw a box around a string:
    echo "{{string}}" | boxes
  • Remove a box from a string:
    echo "{{string}}" | boxes -r
  • Draw a box with a specific design around a string:
    echo "{{string}}" | boxes -d {{parchment}}
  • Draw a box with a width of 10 and a height of 5:
    echo "{{string}}" | boxes -s {{10}}x{{5}}
  • Draw a box with centered text:
    echo "{{string}}" | boxes -a c

git difftool

Show file changes using external diff tools. Accepts the same options and arguments as git diff. See also: git diff. More information: https://git-scm.com/docs/git-difftool.
  • List available diff tools:
    git difftool --tool-help
  • Set the default diff tool to meld:
    git config --global diff.tool "{{meld}}"
  • Use the default diff tool to show staged changes:
    git difftool --staged
  • Use a specific tool (opendiff) to show changes since a given commit:
    git difftool --tool={{opendiff}} {{commit}}

duf

Disk Usage/Free Utility. More information: https://github.com/muesli/duf.
  • List accessible devices:
    duf
  • List everything (such as pseudo, duplicate or inaccessible file systems):
    duf --all
  • Only show specified devices or mount points:
    duf {{path/to/directory1 path/to/directory2 ...}}
  • Sort the output by a specified criteria:
    duf --sort {{size|used|avail|usage}}

qcp

Copy files using the default text editor to define the filenames. More information: https://www.nongnu.org/renameutils/.
  • Copy a single file (open an editor with the source filename on the left and the target filename on the right):
    qcp {{source_file}}
  • Copy multiple JPG files:
    qcp {{*.jpg}}
  • Copy files, but swap the positions of the source and the target filenames in the editor:
    qcp --option swap {{*.jpg}}

luac

Lua bytecode compiler. More information: https://www.lua.org.
  • Compile a Lua source file to Lua bytecode:
    luac -o {{byte_code.luac}} {{source.lua}}
  • Do not include debug symbols in the output:
    luac -s -o {{byte_code.luac}} {{source.lua}}

wrk

HTTP benchmarking tool. More information: https://github.com/wg/wrk.
  • Run a benchmark for 30 seconds, using 12 threads, and keeping 400 HTTP connections open:
    wrk -t{{12}} -c{{400}} -d{{30s}} "{{http://127.0.0.1:8080/index.html}}"
  • Run a benchmark with a custom header:
    wrk -t{{2}} -c{{5}} -d{{5s}} -H "{{Host: example.com}}" "{{http://example.com/index.html}}"
  • Run a benchmark with a request timeout of 2 seconds:
    wrk -t{{2}} -c{{5}} -d{{5s}} --timeout {{2s}} "{{http://example.com/index.html}}"

airpaste

Share messages and files on the same network using mDNS. More information: https://github.com/mafintosh/airpaste.
  • Wait for a message and display it when received:
    airpaste
  • Send text:
    echo {{text}} | airpaste
  • Send a file:
    airpaste < {{path/to/file}}
  • Receive a file:
    airpaste > {{path/to/file}}
  • Create or join a channel:
    airpaste {{channel_name}}

offlineimap

Synchronize a remote IMAP server with local Maildir folders. More information: http://www.offlineimap.org.
  • Synchronize once, without enabling autorefresh:
    offlineimap -o
  • Synchronize a specific account:
    offlineimap -a {{account}}
  • Synchronize a specific folder:
    offlineimap -f {{folder}}

vgrep

A user friendly pager for grep. See also: ugrep, rg. More information: https://github.com/vrothberg/vgrep.
  • Recursively search the current directory for a pattern and cache it:
    vgrep {{search_pattern}}
  • Display the contents of the cache:
    vgrep
  • Open the "4th" match from the cache in the default editor:
    vgrep --show {{4}}
  • Display a context of "3" lines for each match in the cache:
    vgrep --show=context{{3}}
  • Display the number of matches for each directory in the tree:
    vgrep --show=tree
  • Display the number of matches for each file in the tree:
    vgrep --show=files
  • Start an interactive shell with cached matches:
    vgrep --interactive

kitty

A fast, feature-rich, GPU based terminal emulator. More information: https://sw.kovidgoyal.net/kitty/.
  • Open a new terminal:
    kitty
  • Open a terminal with the specified title for the window:
    kitty --title "{{title}}"
  • Start the theme-chooser builtin:
    kitty +kitten themes
  • Display an image in the terminal:
    kitty +kitten icat {{path/to/image}}
  • Copy the contents of stdin to the clipboard:
    echo {{example}} | kitty +kitten clipboard

azurite

Azure Storage API compatible server (emulator) in local environment. More information: https://www.npmjs.com/package/azurite.
  • Use an existing [l]ocation as workspace path:
    azurite {{-l|--location}} {{path/to/directory}}
  • Disable access log displayed in console:
    azurite {{-s|--silent}}
  • Enable [d]ebug log by providing a file path as log destination:
    azurite {{-d|--debug}} {{path/to/debug.log}}
  • Customize the listening address of Blob/Queue/Table service:
    azurite {{--blobHost|--queueHost|--tableHost}} {{0.0.0.0}}
  • Customize the listening port of Blob/Queue/Table service:
    azurite {{--blobPort|--queuePort|--tablePort}} {{8888}}

virtualenv

Create virtual isolated Python environments. More information: https://virtualenv.pypa.io/.
  • Create a new environment:
    virtualenv {{path/to/venv}}
  • Customize the prompt prefix:
    virtualenv --prompt={{prompt_prefix}} {{path/to/venv}}
  • Use a different version of Python with virtualenv:
    virtualenv --python={{path/to/pythonbin}} {{path/to/venv}}
  • Start (select) the environment:
    source {{path/to/venv}}/bin/activate
  • Stop the environment:
    deactivate

fastlane

Build and release mobile applications. More information: https://docs.fastlane.tools/actions/.
  • Build and sign the iOS application in the current directory:
    fastlane run build_app
  • Run pod install for the project in the current directory:
    fastlane run cocoapods
  • Delete the derived data from Xcode:
    fastlane run clear_derived_data
  • Remove the cache for pods:
    fastlane run clean_cocoapods_cache


coffee

Executes CoffeeScript scripts or compiles them into JavaScript. More information: https://coffeescript.org#cli.
  • Run a script:
    coffee {{path/to/file.coffee}}
  • Compile to JavaScript and save to a file with the same name:
    coffee --compile {{path/to/file.coffee}}
  • Compile to JavaScript and save to a given output file:
    coffee --compile {{path/to/file.coffee}} --output {{path/to/file.js}}
  • Start a REPL (interactive shell):
    coffee --interactive
  • Watch script for changes and re-run script:
    coffee --watch {{path/to/file.coffee}}

az devops

Manage Azure DevOps organizations. Part of azure-cli. More information: https://learn.microsoft.com/en-us/cli/azure/devops?view=azure-cli-latest.
  • Set the Personal Access Token (PAT) to login to a particular organization:
    az devops login --organization {{organization_url}}
  • Open a project in the browser:
    az devops project show --project {{project_name}} --open
  • List members of a specific team working on a particular project:
    az devops team list-member --project {{project_name}} --team {{team_name}}
  • Check the Azure DevOps CLI current configuration:
    az devops configure --list
  • Configure the Azure DevOps CLI behavior by setting a default project and a default organization:
    az devops configure --defaults project={{project_name}} organization={{organization_url}}

[

Check file types and compare values. Returns a status of 0 if the condition evaluates to true, 1 if it evaluates to false. More information: https://www.gnu.org/software/bash/manual/bash.html#index-test.
  • Test if a given variable is equal/not equal to the specified string:
    [ "${{variable}}" {{==|!=}} "{{string}}" ]
  • Test if a given variable is [eq]ual/[n]ot [e]qual/[g]reater [t]han/[l]ess [t]han/[g]reater than or [e]qual/[l]ess than or [e]qual to the specified number:
    [ "${{variable}}" -{{eq|ne|gt|lt|ge|le}} {{integer}} ]
  • Test if the specified variable has a [n]on-empty value:
    [ -n "${{variable}}" ]
  • Test if the specified variable has an empty value:
    [ -z "${{variable}}" ]
  • Test if the specified [f]ile exists:
    [ -f {{path/to/file}} ]
  • Test if the specified [d]irectory exists:
    [ -d {{path/to/directory}} ]
  • Test if the specified file or directory [e]xists:
    [ -e {{path/to/file_or_directory}} ]

kosmorro

Compute the ephemerides and the events for a given date, at a given position on Earth. More information: http://kosmorro.space.
  • Get ephemerides for Paris, France:
    kosmorro --latitude={{48.7996}} --longitude={{2.3511}}
  • Get ephemerides for Paris, France, in the UTC+2 timezone:
    kosmorro --latitude={{48.7996}} --longitude={{2.3511}} --timezone={{2}}
  • Get ephemerides for Paris, France, on June 9th, 2020:
    kosmorro --latitude={{48.7996}} --longitude={{2.3511}} --date={{2020-06-09}}
  • Generate a PDF (note: TeXLive must be installed):
    kosmorro --format={{pdf}} --output={{path/to/file.pdf}}

feh

Lightweight image viewing utility. More information: https://feh.finalrewind.org.
  • View images locally or using a URL:
    feh {{path/to/images}}
  • View images recursively:
    feh --recursive {{path/to/images}}
  • View images without window borders:
    feh --borderless {{path/to/images}}
  • Exit after the last image:
    feh --cycle-once {{path/to/images}}
  • Set the slideshow cycle delay:
    feh --slideshow-delay {{seconds}} {{path/to/images}}
  • Set your wallpaper (centered, filled, maximized, scaled or tiled):
    feh --bg-{{center|fill|max|scale|tile}} {{path/to/image}}
  • Create a montage of all images within a directory. Outputs as a new image:
    feh --montage --thumb-height {{150}} --thumb-width {{150}} --index-info "{{%nn%wx%h}}" --output {{path/to/montage_image.png}}

rustup-init.sh

Script to install rustup and the Rust toolchain. More information: https://forge.rust-lang.org/infra/other-installation-methods.html#rustup.
  • Download and run rustup-init to install rustup and the default Rust toolchain:
    curl https://sh.rustup.rs -sSf | sh -s
  • Download and run rustup-init and pass arguments to it:
    curl https://sh.rustup.rs -sSf | sh -s -- {{arguments}}
  • Run rustup-init and specify additional components or targets to install:
    rustup-init.sh --target {{target}} --component {{component}}
  • Run rustup-init and specify the default toolchain to install:
    rustup-init.sh --default-toolchain {{toolchain}}
  • Run rustup-init and do not install any toolchain:
    rustup-init.sh --default-toolchain {{none}}
  • Run rustup-init and specify an installation profile:
    rustup-init.sh --profile {{minimal|default|complete}}
  • Run rustup-init without asking for confirmation:
    rustup-init.sh -y

stun

Classic STUN client. More information: https://manned.org/stun.1.
  • Make a STUN request:
    stun {{stun.1und1.de}}
  • Make a STUN request and specify the source port:
    stun {{stun.1und1.de}} -p {{4302}}

brew --cask

CLI workflow for the administration of macOS applications distributed as binaries. This command was previously called brew cask, it has been deprecated in favor of the brew --cask flag. More information: https://github.com/Homebrew/homebrew-cask.
  • Search for formulas and casks:
    brew search {{text}}
  • Install a cask:
    brew install --cask {{cask_name}}
  • List all installed casks:
    brew list --cask
  • List installed casks that have newer versions available:
    brew outdated --cask
  • Upgrade an installed cask (if no cask name is given, all installed casks are upgraded):
    brew upgrade --cask {{cask_name}}
  • Uninstall a cask:
    brew uninstall --cask {{cask_name}}
  • Uninstall a cask and remove related settings and files:
    brew zap --cask {{cask_name}}
  • Display information about a given cask:
    brew info --cask {{cask_name}}

hg update

Update the working directory to a specified changeset. More information: https://www.mercurial-scm.org/doc/hg.1.html#update.
  • Update to the tip of the current branch:
    hg update
  • Update to the specified revision:
    hg update --rev {{revision}}
  • Update and discard uncommitted changes:
    hg update --clean
  • Update to the last commit matching a specified date:
    hg update --date {{dd-mm-yyyy}}

datashader_cli

Quick visualization of large datasets using CLI based on datashader. More information: https://github.com/wybert/datashader-cli.
  • Create a shaded scatter plot of points and save it to a png file and set the background color:
    datashader_cli points {{path/to/input.parquet}} --x {{pickup_x}} --y {{pickup_y}} {{path/to/output.png}} --background {{black|white|#rrggbb}}
  • Visualize the geospatial data (supports Geoparquet, shapefile, geojson, geopackage, etc.):
    datashader_cli points {{path/to/input_data.geo.parquet}} {{path/to/output_data.png}} --geo true
  • Use matplotlib to render the image:
    datashader_cli points {{path/to/input_data.geo.parquet}} {{path/to/output_data.png}} --geo {{true}} --matplotlib true


dep

Deploy PHP applications. Note: The Go command dep with the same name is deprecated and archived. More information: https://deployer.org.
  • Interactively initialize deployer in the local path (use a framework template with --template={{template}}):
    dep init
  • Deploy an application to a remote host:
    dep deploy {{hostname}}
  • Rollback to the previous working release:
    dep rollback
  • Connect to a remote host via ssh:
    dep ssh {{hostname}}
  • List commands:
    dep list
  • Run any arbitrary command on the remote hosts:
    dep run "{{command}}"
  • Display help for a command:
    dep help {{command}}

docker secret

Manage Docker swarm secrets. More information: https://docs.docker.com/engine/reference/commandline/secret/.
  • Create a new secret from stdin:
    {{command}} | docker secret create {{secret_name}} -
  • Create a new secret from a file:
    docker secret create {{secret_name}} {{path/to/file}}
  • List all secrets:
    docker secret ls
  • Display detailed information on one or multiple secrets in a human friendly format:
    docker secret inspect --pretty {{secret_name1 secret_name2 ...}}
  • Remove one or more secrets:
    docker secret rm {{secret_name1 secret_name2 ...}}

radare2

A set of reverse engineering tools. More information: https://radare.gitbooks.io/radare2book/.
  • Open a file in write mode without parsing the file format headers:
    radare2 -nw {{path/to/binary}}
  • Debug a program:
    radare2 -d {{path/to/binary}}
  • Run a script before entering the interactive CLI:
    radare2 -i {{path/to/script.r2}} {{path/to/binary}}
  • Show help text for any command in the interactive CLI:
    > {{radare2_command}}?
  • Run a shell command from the interactive CLI:
    > !{{shell_command}}
  • Dump raw bytes of current block to a file:
    > pr > {{path/to/file.bin}}

ibmcloud login

Log in to the IBM Cloud. More information: https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_cli#ibmcloud_login.
  • Log in by using an interactive prompt:
    ibmcloud login
  • Log in to a specific API endpoint (default is cloud.ibm.com):
    ibmcloud login -a {{api_endpoint}}
  • Log in by providing username, password and the targeted region as parameters:
    ibmcloud login -u {{username}} -p {{password}} -r {{us-south}}
  • Log in with an API key, passing it as an argument:
    ibmcloud login --apikey {{api_key_string}}
  • Log in with an API key, passing it as a file:
    ibmcloud login --apikey @{{path/to/api_key_file}}
  • Log in with a federated ID (single sign-on):
    ibmcloud login --sso

killall

Send kill signal to all instances of a process by name (must be exact name). All signals except SIGKILL and SIGSTOP can be intercepted by the process, allowing a clean exit. More information: https://manned.org/killall.
  • Terminate a process using the default SIGTERM (terminate) signal:
    killall {{process_name}}
  • [l]ist available signal names (to be used without the 'SIG' prefix):
    killall -l
  • Interactively ask for confirmation before termination:
    killall -i {{process_name}}
  • Terminate a process using the SIGINT (interrupt) signal, which is the same signal sent by pressing Ctrl + C:
    killall -INT {{process_name}}
  • Force kill a process:
    killall -KILL {{process_name}}

uncrustify

C, C++, C#, D, Java and Pawn source code formatter. More information: https://github.com/uncrustify/uncrustify.
  • Format a single file:
    uncrustify -f {{path/to/file.cpp}} -o {{path/to/output.cpp}}
  • Read filenames from stdin, and take backups before writing output back to the original filepaths:
    find . -name "*.cpp" | uncrustify -F - --replace
  • Don't make backups (useful if files are under version control):
    find . -name "*.cpp" | uncrustify -F - --no-backup
  • Use a custom configuration file and write the result to stdout:
    uncrustify -c {{path/to/uncrustify.cfg}} -f {{path/to/file.cpp}}
  • Explicitly set a configuration variable's value:
    uncrustify --set {{option}}={{value}}
  • Generate a new configuration file:
    uncrustify --update-config -o {{path/to/new.cfg}}

Exclamation mark

Bash builtin to substitute with a command found in history. More information: https://www.gnu.org/software/bash/manual/bash.html#Event-Designators.
  • Substitute with the previous command and run it with sudo:
    sudo !!
  • Substitute with a command based on its line number found with history:
    !{{number}}
  • Substitute with a command that was used a specified number of lines back:
    !-{{number}}
  • Substitute with the most recent command that starts with string:
    !{{string}}

realpath

Display the resolved absolute path for a file or directory. More information: https://www.gnu.org/software/coreutils/realpath.
  • Display the absolute path for a file or directory:
    realpath {{path/to/file_or_directory}}
  • Require all path components to exist:
    realpath --canonicalize-existing {{path/to/file_or_directory}}
  • Resolve ".." components before symlinks:
    realpath --logical {{path/to/file_or_directory}}
  • Disable symlink expansion:
    realpath --no-symlinks {{path/to/file_or_directory}}
  • Suppress error messages:
    realpath --quiet {{path/to/file_or_directory}}

speedtest-cli

Test internet bandwidth using https://speedtest.net. See also speedtest for the official CLI. More information: https://github.com/sivel/speedtest-cli.
  • Run a speed test:
    speedtest-cli
  • Run a speed test and display values in bytes, instead of bits:
    speedtest-cli --bytes
  • Run a speed test using HTTPS, instead of HTTP:
    speedtest-cli --secure
  • Run a speed test without performing download tests:
    speedtest-cli --no-download
  • Run a speed test and generate an image of the results:
    speedtest-cli --share
  • List all speedtest.net servers, sorted by distance:
    speedtest-cli --list
  • Run a speed test to a specific speedtest.net server:
    speedtest-cli --server {{server_id}}
  • Run a speed test and display the results as JSON (suppresses progress information):
    speedtest-cli --json

crictl

Command-line for CRI-compatible container runtimes. More information: https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md.
  • List all kubernetes pods (Ready and NotReady):
    crictl pods
  • List all containers (Running and Exited):
    crictl ps --all
  • List all images:
    crictl images
  • Print information about specific containers:
    crictl inspect {{container_id1 container_id2 ...}}
  • Open a specific shell inside a running container:
    crictl exec -it {{container_id}} {{sh}}
  • Pull a specific image from a registry:
    crictl pull {{image:tag}}
  • Print and [f]ollow logs of a specific container:
    crictl logs -f {{container_id}}
  • Remove one or more images:
    crictl rmi {{image_id1 image_id2 ...}}

duc

Duc is a collection of tools for indexing, inspecting and visualizing disk usage. Duc maintains a database of accumulated sizes of directories of the file system, allowing queries this database, or create fancy graphs to show where data is. More information: https://duc.zevv.nl/.
  • Index the /usr directory, writing to the default database location ~/.duc.db:
    duc index {{/usr}}
  • List all files and directories under /usr/local, showing relative file sizes in a [g]raph:
    duc ls -Fg {{/usr/local}}
  • List all files and directories under /usr/local using treeview recursively:
    duc ls -Fg -R {{/usr/local}}
  • Start the graphical interface to explore the file system using sunburst graphs:
    duc gui {{/usr}}
  • Run the ncurses console interface to explore the file system:
    duc ui {{/usr}}
  • Dump database info:
    duc info

ember

The Ember.js command-line utility. Used for creating and maintaining Ember.js applications. More information: https://cli.emberjs.com.
  • Create a new Ember application:
    ember new {{my_new_app}}
  • Create a new Ember addon:
    ember addon {{my_new_addon}}
  • Build the project:
    ember build
  • Build the project in production mode:
    ember build -prod
  • Run the development server:
    ember serve
  • Run the test suite:
    ember test
  • Run a blueprint to generate something like a route or component:
    ember generate {{type}} {{name}}
  • Install an ember-cli addon:
    ember install {{name_of_addon}}

mat2

Anonymise various file formats by removing metadata. More information: https://0xacab.org/jvoisin/mat2.
  • List supported file formats:
    mat2 --list
  • Remove metadata from a file:
    mat2 {{path/to/file}}
  • Remove metadata from a file and print detailed output to the console:
    mat2 --verbose {{path/to/file}}
  • Show metadata in a file without removing it:
    mat2 --show {{path/to/file}}
  • Partially remove metadata from a file:
    mat2 --lightweight {{path/to/file}}

scan-build

Command-line utility to run a static analyzer over a codebase as part of performing a regular build. More information: https://clang-analyzer.llvm.org/scan-build.html.
  • Build and analyze the project in the current directory:
    scan-build {{make}}
  • Run a command and pass all subsequent options to it:
    scan-build {{command}} {{command_arguments}}
  • Display help:
    scan-build

gml2gv

Convert a graph from gml to gv format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/gml2gv.1.pdf.
  • Convert a graph from gml to gv format:
    gml2gv -o {{output.gv}} {{input.gml}}
  • Convert a graph using stdin and stdout:
    cat {{input.gml}} | gml2gv > {{output.gv}}
  • Display help:
    gml2gv -?

pio project

Tool to manage PlatformIO projects. More information: https://docs.platformio.org/en/latest/core/userguide/project/.
  • Initialize a new PlatformIO project:
    pio project init
  • Initialize a new PlatformIO project in a specific directory:
    pio project init --project-dir {{path/to/project_directory}}
  • Initialize a new PlatformIO project, specifying a board ID:
    pio project init --board {{ATmega328P|uno|...}}
  • Initialize a new PlatformIO based project, specifying one or more project options:
    pio project init --project-option="{{option}}={{value}}" --project-option="{{option}}={{value}}"
  • Print the configuration of a project:
    pio project config

pipenv

Simple and unified Python development workflow. Manages packages and the virtual environment for a project. More information: https://pypi.org/project/pipenv.
  • Create a new project:
    pipenv
  • Create a new project using Python 3:
    pipenv --three
  • Install a package:
    pipenv install {{package}}
  • Install all the dependencies for a project:
    pipenv install
  • Install all the dependencies for a project (including dev packages):
    pipenv install --dev
  • Uninstall a package:
    pipenv uninstall {{package}}
  • Start a shell within the created virtual environment:
    pipenv shell
  • Generate a requirements.txt (list of dependencies) for a project:
    pipenv lock --requirements

latex

Compile a DVI document from LaTeX source files. More information: https://www.latex-project.org.
  • Compile a DVI document:
    latex {{source.tex}}
  • Compile a DVI document, specifying an output directory:
    latex -output-directory={{path/to/directory}} {{source.tex}}
  • Compile a DVI document, exiting on each error:
    latex -halt-on-error {{source.tex}}

csc

The Microsoft C# Compiler. More information: https://learn.microsoft.com/dotnet/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.
  • Compile one or more C# files to a CIL executable:
    csc {{path/to/input_file_a.cs}} {{path/to/input_file_b.cs}}
  • Specify the output filename:
    csc /out:{{path/to/filename}} {{path/to/input_file.cs}}
  • Compile into a .dll library instead of an executable:
    csc /target:library {{path/to/input_file.cs}}
  • Reference another assembly:
    csc /reference:{{path/to/library.dll}} {{path/to/input_file.cs}}
  • Embed a resource:
    csc /resource:{{path/to/resource_file}} {{path/to/input_file.cs}}
  • Automatically generate XML documentation:
    csc /doc:{{path/to/output.xml}} {{path/to/input_file.cs}}
  • Specify an icon:
    csc /win32icon:{{path/to/icon.ico}} {{path/to/input_file.cs}}
  • Strongly-name the resulting assembly with a keyfile:
    csc /keyfile:{{path/to/keyfile}} {{path/to/input_file.cs}}

meson

SCons-like build system that uses Python as a front-end language and Ninja as a building backend. More information: https://mesonbuild.com.
  • Generate a C project with a given name and version:
    meson init --language={{c}} --name={{myproject}} --version={{0.1}}
  • Configure the builddir with default values:
    meson setup {{build_dir}}
  • Build the project:
    meson compile -C {{path/to/build_dir}}
  • Run all tests in the project:
    meson test
  • Show the help:
    meson --help
  • Show version info:
    meson --version

go install

Compile and install packages named by the import paths. More information: https://pkg.go.dev/cmd/go#hdr-Compile_and_install_packages_and_dependencies.
  • Compile and install the current package:
    go install
  • Compile and install a specific local package:
    go install {{path/to/package}}
  • Install the latest version of a program, ignoring go.mod in the current directory:
    go install {{golang.org/x/tools/gopls}}@{{latest}}
  • Install a program at the version selected by go.mod in the current directory:
    go install {{golang.org/x/tools/gopls}}

vzdump

Backup Utility for virtual machines and containers. More information: https://pve.proxmox.com/pve-docs/vzdump.1.html.
  • Dump a guest virtual machine into the default dump directory (usually /var/lib/vz/dump/), excluding snapshots:
    vzdump {{vm_id}}
  • Back up the guest virtual machines with the IDs 101, 102, and 103:
    vzdump {{101 102 103}}
  • Dump a guest virtual machine using a specific mode:
    vzdump {{vm_id}} --mode {{suspend|snapshot}}
  • Back up all guest systems and send an notification email to the root and admin users:
    vzdump --all --mode {{suspend}} --mailto {{root}} --mailto {{admin}}
  • Use snapshot mode (no downtime required) and a non-default dump directory:
    vzdump {{vm_id}} --dumpdir {{path/to/directory}} --mode {{snapshot}}
  • Back up all guest virtual machines excluding the IDs 101 and 102:
    vzdump --mode {{suspend}} --exclude {{101, 102}}

bastet

Clone of the game Tetris in the terminal. More information: https://fph.altervista.org/prog/bastet.html.
  • Start a Tetris game:
    bastet
  • Navigate the piece horizontally:
    {{Left|Right}} arrow key
  • Rotate the piece clockwise or counterclockwise:
    {{Spacebar|Up arrow key}}
  • Soft drop the piece:
    Down arrow key
  • Hard drop the piece:
    Enter
  • Pause the game:
    p
  • Quit the game:
    Ctrl + C

az storage table

Manage NoSQL key-value storage in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/table.
  • Create a new table in the storage account:
    az storage table create --account-name {{storage_account_name}} --name {{table_name}} --fail-on-exist
  • Generate a shared access signature for the table:
    az storage table generate-sas --account-name {{storage_account_name}} --name {{table_name}} --permissions {{sas_permissions}} --expiry {{expiry_date}} --https-only
  • List tables in a storage account:
    az storage table list --account-name {{storage_account_name}}
  • Delete the specified table and any data it contains:
    az storage table delete --account-name {{storage_account_name}} --name {{table_name}} --fail-not-exist

gtop

System monitoring dashboard for the terminal. More information: https://github.com/aksakalli/gtop.
  • Show the system stats dashboard:
    gtop
  • Sort by CPU usage:
    c
  • Sort by memory usage:
    m

doxygen

A documentation system for various programming languages. More information: http://www.doxygen.nl.
  • Generate a default template configuration file Doxyfile:
    doxygen -g
  • Generate a template configuration file:
    doxygen -g {{path/to/config_file}}
  • Generate documentation using an existing configuration file:
    doxygen {{path/to/config_file}}

dolt add

Add the contents of a table to the list of Dolt staged tables. More information: https://github.com/dolthub/dolt.
  • Add a table to the list of staged tables (stage a table):
    dolt add {{table}}
  • Stage all tables:
    dolt add --all

lb

A tool for managing a blog contained in the current directory. Drafts and posts to operate on are selected interactively when running the commands. More information: https://github.com/LukeSmithxyz/lb.
  • Make a new draft:
    lb new
  • Edit a draft:
    lb edit
  • Delete a draft:
    lb trash
  • Publish a draft:
    lb publish
  • Delete a published post:
    lb delete
  • Unpublish a published post to edit it as a draft again:
    lb revise


virsh-list

List the ID, name, and state of virtual machines. See also: virsh. More information: https://manned.org/virsh.
  • List information about running virtual machines:
    virsh list
  • List information about virtual machines regardless of state:
    virsh list --all
  • List information about virtual machines with autostart either enabled or disabled:
    virsh list --all --{{autostart|no-autostart}}
  • List information about virtual machines either with or without snapshots:
    virsh list --all --{{with-snapshot|without-snapshot}}

git add

Adds changed files to the index. More information: https://git-scm.com/docs/git-add.
  • Add a file to the index:
    git add {{path/to/file}}
  • Add all files (tracked and untracked):
    git add -A
  • Only add already tracked files:
    git add -u
  • Also add ignored files:
    git add -f
  • Interactively stage parts of files:
    git add -p
  • Interactively stage parts of a given file:
    git add -p {{path/to/file}}
  • Interactively stage a file:
    git add -i

docker update

Update configuration of Docker containers. This command is not supported for Windows containers. More information: https://docs.docker.com/engine/reference/commandline/update/.
  • Update restart policy to apply when a specific container exits:
    docker update --restart={{always|no|on-failure|unless-stopped}} {{container_name}}
  • Update the policy to restart up to three times a specific container when it exits with non-zero exit status:
    docker update --restart=on-failure:3 {{container_name}}
  • Update the number of CPUs available to a specific container:
    docker update --cpus {{count}} {{container_name}}
  • Update the memory limit in [M]egabytes for a specific container:
    docker update --memory {{limit}}M {{container_name}}
  • Update the maximum number of process IDs allowed inside a specific container (use -1 for unlimited):
    docker update --pids-limit {{count}} {{container_name}}
  • Update the amount of memory in [M]egabytes a specific container can swap to disk (use -1 for unlimited):
    docker update --memory-swap {{limit}}M {{container_name}}

rabin2

Get information about binary files (ELF, PE, Java CLASS, Mach-O) - symbols, sections, linked libraries, etc. Comes bundled with radare2. More information: https://manned.org/rabin2.
  • Display general information about a binary (architecture, type, endianness):
    rabin2 -I {{path/to/binary}}
  • Display linked libraries:
    rabin2 -l {{path/to/binary}}
  • Display symbols imported from libraries:
    rabin2 -i {{path/to/binary}}
  • Display strings contained in the binary:
    rabin2 -z {{path/to/binary}}
  • Display the output in JSON:
    rabin2 -j -I {{path/to/binary}}

secrethub

A tool to keep secrets out of config files. More information: https://secrethub.io.
  • Print a secret to stdout:
    secrethub read {{path/to/secret}}
  • Generate a random value and store it as a new or updated secret:
    secrethub generate {{path/to/secret}}
  • Store a value from the clipboard as a new or updated secret:
    secrethub write --clip {{path/to/secret}}
  • Store a value supplied on stdin as a new or updated secret:
    echo "{{secret_value}}" | secrethub write {{path/to/secret}}
  • Audit a repository or secret:
    secrethub audit {{path/to/repo_or_secret}}

transcode

Transcode video and audio codecs, and convert between media formats. More information: https://manned.org/transcode.
  • Create stabilization file to be able to remove camera shakes:
    transcode -J stabilize -i {{input_file}}
  • Remove camera shakes after creating stabilization file, transform video using XviD:
    transcode -J transform -i {{input_file}} -y xvid -o {{output_file}}
  • Resize the video to 640x480 pixels and convert to MPEG4 codec using XviD:
    transcode -Z 640x480 -i {{input_file}} -y xvid -o {{output_file}}

dirname

Calculates the parent directory of a given file or directory path. More information: https://www.gnu.org/software/coreutils/dirname.
  • Calculate the parent directory of a given path:
    dirname {{path/to/file_or_directory}}
  • Calculate the parent directory of multiple paths:
    dirname {{path/to/file_a}} {{path/to/directory_b}}
  • Delimit output with a NUL character instead of a newline (useful when combining with xargs):
    dirname --zero {{path/to/directory_a}} {{path/to/file_b}}

act

Execute GitHub Actions locally using Docker. More information: https://github.com/nektos/act.
  • List the available actions:
    act -l
  • Run the default event:
    act
  • Run a specific event:
    act {{event_type}}
  • Run a specific action:
    act -a {{action_id}}
  • Do not actually run the actions (i.e. a dry run):
    act -n
  • Show verbose logs:
    act -v
  • Run a specific workflow:
    act push -W {{path/to/workflow}}

Chezmoi

A multi-machine dotfile manager, written in Go. More information: https://chezmoi.io.
  • Initialize chezmoi on your machine:
    chezmoi init
  • Tell chezmoi to manage a dotfile:
    chezmoi add {{path/to/file}}
  • Edit the source state of a tracked dotfile:
    chezmoi edit {{path/to/file}}
  • See changes chezmoi would make:
    chezmoi diff
  • Apply the changes:
    chezmoi -v apply
  • Set chezmoi up on another machine by downloading existing dotfiles from a Git repository:
    chezmoi init {{https://example.com/path/to/repository.git}}
  • Fetch the latest changes from a remote repository:
    chezmoi update

stolonctl

CLI for Stolon, a cloud native PostgreSQL manager for PostgreSQL high availability. More information: https://github.com/sorintlab/stolon.
  • Get cluster status:
    stolonctl --cluster-name {{cluster_name}} --store-backend {{store_backend}} --store-endpoints {{store_endpoints}} status
  • Get cluster data:
    stolonctl --cluster-name {{cluster_name}} --store-backend {{store_backend}} --store-endpoints {{store_endpoints}} clusterdata
  • Get cluster specification:
    stolonctl --cluster-name {{cluster_name}} --store-backend {{store_backend}} --store-endpoints {{store_endpoints}} spec
  • Update cluster specification with a patch in JSON format:
    stolonctl --cluster-name {{cluster_name}} --store-backend {{store_backend}} --store-endpoints {{store_endpoints}} update --patch '{{cluster_spec}}'

btop

A resource monitor that shows information about the CPU, memory, disks, network and processes. A C++ version of bpytop. More information: https://github.com/aristocratos/btop.
  • Start btop:
    btop
  • Start btop with the specified settings preset:
    btop --preset {{0..9}}

s

Web search from the terminal. More information: https://github.com/zquestz/s.
  • Search for a query on Google (default provider):
    s {{query}}
  • List all providers:
    s --list-providers
  • Search for a query with a given provider:
    s --provider {{provider}} {{query}}
  • Use a specified binary to perform the search query:
    s --binary "{{binary}} {{arguments}}" {{query}}

ignite

A CLI for React Native boilerplates, plugins, generators, and more. More information: https://infinite.red/ignite.
  • Create a new React Native project:
    ignite new {{project_name}}
  • Generate file from a plugin:
    ignite generate {{plugin_name}} {{path/to/file}}
  • Add an Ignite plugin to the project:
    ignite add {{plugin_name}}
  • Remove an Ignite plugin from the project:
    ignite remove {{plugin_name}}


mailx

Send and receive mail. More information: https://manned.org/mailx.
  • Send mail (the content should be typed after the command, and ended with Ctrl+D):
    mailx -s "{{subject}}" {{to_addr}}
  • Send mail with content passed from another command:
    echo "{{content}}" | mailx -s "{{subject}}" {{to_addr}}
  • Send mail with content read from a file:
    mailx -s "{{subject}}" {{to_addr}} < {{content.txt}}
  • Send mail to a recipient and CC to another address:
    mailx -s "{{subject}}" -c {{cc_addr}} {{to_addr}}
  • Send mail specifying the sender address:
    mailx -s "{{subject}}" -r {{from_addr}} {{to_addr}}
  • Send mail with an attachment:
    mailx -a {{path/to/file}} -s "{{subject}}" {{to_addr}}

scrapy

Web-crawling framework. More information: https://scrapy.org.
  • Create a project:
    scrapy startproject {{project_name}}
  • Create a spider (in project directory):
    scrapy genspider {{spider_name}} {{website_domain}}
  • Edit spider (in project directory):
    scrapy edit {{spider_name}}
  • Run spider (in project directory):
    scrapy crawl {{spider_name}}
  • Fetch a webpage as Scrapy sees it and print the source to stdout:
    scrapy fetch {{url}}
  • Open a webpage in the default browser as Scrapy sees it (disable JavaScript for extra fidelity):
    scrapy view {{url}}
  • Open Scrapy shell for URL, which allows interaction with the page source in a Python shell (or IPython if available):
    scrapy shell {{url}}

peerindex

Inspect MRT TABLE_DUMPV2 Peer Index Table. Can read files compressed with gzip, bzip2 and xz. More information: https://codeberg.org/1414codeforge/ubgpsuite.
  • Output all peers:
    peerindex {{master6.mrt}}
  • Display all peers that have provided routing information:
    peerindex -r {{master6.mrt}}

soupault

Soupault is a static website generator based on HTML element tree rewriting. It can also be used as an HTML post-processor or metadata extractor. More information: https://soupault.app.
  • Initialize a minimal website project in the current working directory:
    soupault --init
  • Build a website:
    soupault
  • Override default config file and directory locations:
    soupault --config {{config_path}} --site-dir {{input_dir}} --build-dir {{output_dir}}
  • Extract metadata into a JSON file without generating pages:
    soupault --index-only --dump-index-json {{path/to/file.json}}
  • Show the effective config (values from soupault.toml plus defaults):
    soupault --show-effective-config

ssh

Secure Shell is a protocol used to securely log onto remote systems. It can be used for logging or executing commands on a remote server. More information: https://man.openbsd.org/ssh.
  • Connect to a remote server:
    ssh {{username}}@{{remote_host}}
  • Connect to a remote server with a specific identity (private key):
    ssh -i {{path/to/key_file}} {{username}}@{{remote_host}}
  • Connect to a remote server using a specific port:
    ssh {{username}}@{{remote_host}} -p {{2222}}
  • Run a command on a remote server with a [t]ty allocation allowing interaction with the remote command:
    ssh {{username}}@{{remote_host}} -t {{command}} {{command_arguments}}
  • SSH tunneling: Dynamic port forwarding (SOCKS proxy on localhost:1080):
    ssh -D {{1080}} {{username}}@{{remote_host}}
  • SSH tunneling: Forward a specific port (localhost:9999 to example.org:80) along with disabling pseudo-[T]ty allocation and executio[N] of remote commands:
    ssh -L {{9999}}:{{example.org}}:{{80}} -N -T {{username}}@{{remote_host}}
  • SSH jumping: Connect through a jumphost to a remote server (Multiple jump hops may be specified separated by comma characters):
    ssh -J {{username}}@{{jump_host}} {{username}}@{{remote_host}}
  • Agent forwarding: Forward the authentication information to the remote machine (see man ssh_config for available options):
    ssh -A {{username}}@{{remote_host}}

jdupes

A powerful duplicate file finder and an enhanced fork of fdupes. More information: https://github.com/jbruchon/jdupes.
  • Search a single directory:
    jdupes {{path/to/directory}}
  • Search multiple directories:
    jdupes {{directory1}} {{directory2}}
  • Search all directories recursively:
    jdupes --recurse {{path/to/directory}}
  • Search directory recursively and let user choose files to preserve:
    jdupes --delete --recurse {{path/to/directory}}
  • Search multiple directories and follow subdirectores under directory2, not directory1:
    jdupes {{directory1}} --recurse: {{directory2}}
  • Search multiple directories and keep the directory order in result:
    jdupes -O {{directory1}} {{directory2}} {{directory3}}

git svn

Bidirectional operation between a Subversion repository and Git. More information: https://git-scm.com/docs/git-svn.
  • Clone an SVN repository:
    git svn clone {{https://example.com/subversion_repo}} {{local_dir}}
  • Clone an SVN repository starting at a given revision number:
    git svn clone -r{{1234}}:HEAD {{https://svn.example.net/subversion/repo}} {{local_dir}}
  • Update local clone from the remote SVN repository:
    git svn rebase
  • Fetch updates from the remote SVN repository without changing the Git HEAD:
    git svn fetch
  • Commit back to the SVN repository:
    git svn dcommit

nudoku

Sudoku game in terminal. More information: https://jubalh.github.io/nudoku/.
  • Start a sudoku game:
    nudoku
  • Choose the difficulty of the game:
    nudoku -d {{easy|normal|hard}}
  • Navigate the board:
    {{h|j|k|l}} OR {{Left|Down|Up|Right}} arrow key
  • Delete a number:
    {{Backspace|x}}
  • Get a hint:
    H
  • See the complete solution:
    S
  • Create a new puzzle:
    N
  • Quit the game:
    Q

ocamlopt

The OCaml native code compiler. Produces native executables, e.g. ELF on Linux. More information: https://ocaml.org.
  • Compile a source file:
    ocamlopt -o {{path/to/binary}} {{path/to/source_file.ml}}
  • Compile with debugging enabled:
    ocamlopt -g -o {{path/to/binary}} {{path/to/source_file.ml}}

repren

Multi-pattern string replacement and file renaming tool. More information: https://github.com/jlevy/repren.
  • Do a dry-run renaming a directory of PNGs with a literal string replacement:
    repren --dry-run --rename --literal --from '{{find_string}}' --to '{{replacement_string}}' {{*.png}}
  • Do a dry-run renaming a directory of JPEGs with a regular expression:
    repren --rename --dry-run --from '{{regular_expression}}' --to '{{replacement_string}}' {{*.jpg}} {{*.jpeg}}
  • Do a find-and-replace on the contents of a directory of CSV files:
    repren --from '{{([0-9]+) example_string}}' --to '{{replacement_string \1}}' {{*.csv}}
  • Do both a find-and-replace and a rename operation at the same time, using a pattern file:
    repren --patterns {{path/to/patfile.ext}} --full {{*.txt}}
  • Do a case-insensitive rename:
    repren --rename --insensitive --patterns {{path/to/patfile.ext}} *

age

A simple, modern and secure file encryption tool. See age-keygen for how to generate key pairs. More information: https://github.com/FiloSottile/age.
  • Generate an encrypted file that can be decrypted with a passphrase:
    age --passphrase --output {{path/to/encrypted_file}} {{path/to/unencrypted_file}}
  • Encrypt a file with one or more public keys entered as literals (repeat the --recipient flag to specify multiple public keys):
    age --recipient {{public_key}} --output {{path/to/encrypted_file}} {{path/to/unencrypted_file}}
  • Encrypt a file to one or more recipients with their public keys specified in a file (one per line):
    age --recipients-file {{path/to/recipients_file}} --output {{path/to/encrypted_file}} {{path/to/unencrypted_file}}
  • Decrypt a file with a passphrase:
    age --decrypt --output {{path/to/decrypted_file}} {{path/to/encrypted_file}}
  • Decrypt a file with a private key file:
    age --decrypt --identity {{path/to/private_key_file}} --output {{path/to/decrypted_file}} {{path/to/encrypted_file}}

thunderbird

Email client and RSS reader. More information: https://thunderbird.net.
  • Open thunderbird:
    thunderbird
  • Use a specific user profile:
    thunderbird -P {{profile_name}}
  • Use a specific user profile directory:
    thunderbird --profile {{path/to/profile/directory}}

nix-store

Manipulate or query the Nix store. See also: tldr nix3 store. More information: https://nixos.org/manual/nix/stable/command-ref/nix-store.html.
  • Collect garbage, such as removing unused paths:
    nix-store --gc
  • Hard-link identical files together to reduce space usage:
    nix-store --optimise
  • Delete a specific store path (must be unused):
    nix-store --delete {{/nix/store/...}}
  • Show all dependencies of a store path (package), in a tree format:
    nix-store --query --tree {{/nix/store/...}}
  • Calculate the total size of a certain store path with all the dependencies:
    du -cLsh $(nix-store --query --references {{/nix/store/...}})
  • Show all dependents of a particular store path:
    nix-store --query --referrers {{/nix/store/...}}

drill

Perform various DNS queries. More information: https://manned.org/drill.
  • Lookup the IP(s) associated with a hostname (A records):
    drill {{example.com}}
  • Lookup the mail server(s) associated with a given domain name (MX record):
    drill mx {{example.com}}
  • Get all types of records for a given domain name:
    drill any {{example.com}}
  • Specify an alternate DNS server to query:
    drill {{example.com}} @{{8.8.8.8}}
  • Perform a reverse DNS lookup on an IP address (PTR record):
    drill -x {{8.8.8.8}}
  • Perform DNSSEC trace from root servers down to a domain name:
    drill -TD {{example.com}}
  • Show DNSKEY record(s) for a domain name:
    drill -s dnskey {{example.com}}

adb logcat

Dump a log of system messages. More information: https://developer.android.com/studio/command-line/logcat.
  • Display system logs:
    adb logcat
  • Display lines that match a regular expression:
    adb logcat -e {{regular_expression}}
  • Display logs for a tag in a specific mode ([V]erbose, [D]ebug, [I]nfo, [W]arning, [E]rror, [F]atal, [S]ilent), filtering other tags:
    adb logcat {{tag}}:{{mode}} *:S
  • Display logs for React Native applications in [V]erbose mode [S]ilencing other tags:
    adb logcat ReactNative:V ReactNativeJS:V *:S
  • Display logs for all tags with priority level [W]arning and higher:
    adb logcat *:W
  • Display logs for a specific PID:
    adb logcat --pid={{pid}}
  • Display logs for the process of a specific package:
    adb logcat --pid=$(adb shell pidof -s {{package}})
  • Color the log (usually use with filters):
    adb logcat -v color

pop

Send emails from your terminal. More information: https://github.com/charmbracelet/pop.
  • Launch the Text-based User Interface:
    pop
  • Send an email using the content of a Markdown file as body:
    pop < {{path/to/message.md}} --from {{[email protected]}} --to {{[email protected]}} --subject "{{On the Subject of Ducks...}}" --attach {{path/to/attachment}}
  • Display help and exit:
    pop --help


wrangler

Cloudflare Workers command-line tool. More information: https://developers.cloudflare.com/workers/.
  • Initialize a project with a skeleton configuration:
    wrangler init {{project_name}}
  • Authenticate with Cloudflare:
    wrangler login
  • Start a local development server:
    wrangler dev --host {{hostname}}
  • Publish the worker script:
    wrangler publish
  • Aggregate logs from the production worker:
    wrangler tail

json5

A command-line tool for converting JSON5 files to JSON. More information: https://json5.org.
  • Convert JSON5 stdin to JSON stdout:
    echo {{input}} | json5
  • Convert a JSON5 file to JSON and output to stdout:
    json5 {{path/to/input_file.json5}}
  • Convert a JSON5 file to the specified JSON file:
    json5 {{path/to/input_file.json5}} --out-file {{path/to/output_file.json}}
  • Validate a JSON5 file:
    json5 {{path/to/input_file.json5}} --validate
  • Specify the number of spaces to indent by (or "t" for tabs):
    json5 --space {{indent_amount}}
  • View available options:
    json5 --help

ksh

Korn Shell, a Bash-compatible command-line interpreter. See also: histexpand. More information: http://kornshell.com.
  • Start an interactive shell session:
    ksh
  • Execute specific [c]ommands:
    ksh -c "{{echo 'ksh is executed'}}"
  • Execute a specific script:
    ksh {{path/to/script.ksh}}
  • Check a specific script for syntax errors without executing it:
    ksh -n {{path/to/script.ksh}}
  • Execute a specific script, printing each command in the script before executing it:
    ksh -x {{path/to/script.ksh}}

zgrep

Grep text patterns from files within compressed file (equivalent to grep -Z). More information: https://manned.org/zgrep.
  • Grep a pattern in a compressed file (case-sensitive):
    zgrep {{pattern}} {{path/to/compressed/file}}
  • Grep a pattern in a compressed file (case-insensitive):
    zgrep -i {{pattern}} {{path/to/compressed/file}}
  • Output count of lines containing matched pattern in a compressed file:
    zgrep -c {{pattern}} {{path/to/compressed/file}}
  • Display the lines which don’t have the pattern present (Invert the search function):
    zgrep -v {{pattern}} {{path/to/compressed/file}}
  • Grep a compressed file for multiple patterns:
    zgrep -e "{{pattern_1}}" -e "{{pattern_2}}" {{path/to/compressed/file}}
  • Use extended regular expressions (supporting ?, +, {}, () and |):
    zgrep -E {{regular_expression}} {{path/to/file}}
  • Print 3 lines of [C]ontext around, [B]efore, or [A]fter each match:
    zgrep -{{C|B|A}} {{3}} {{pattern}} {{path/to/compressed/file}}

ogrmerge.py

Merge several vector datasets into a single one. More information: https://gdal.org/programs/ogrmerge.html.
  • Create a GeoPackage with a layer for each input Shapefile:
    ogrmerge.py -f {{GPKG}} -o {{path/to/output.gpkg}} {{path/to/input1.shp path/to/input2.shp ...}}
  • Create a virtual datasource (VRT) with a layer for each input GeoJSON:
    ogrmerge.py -f {{VRT}} -o {{path/to/output.vrt}} {{path/to/input1.geojson path/to/input2.geojson ...}}
  • Concatenate two vector datasets and store source name of dataset in attribute 'source_name':
    ogrmerge.py -single -f {{GeoJSON}} -o {{path/to/output.geojson}} -src_layer_field_name country {{source_name}} {{path/to/input1.shp path/to/input2.shp ...}}

todo

A simple, standards-based, cli todo manager. More information: https://todoman.readthedocs.io.
  • List startable tasks:
    todo list --startable
  • Add a new task to the work list:
    todo new {{thing_to_do}} --list {{work}}
  • Add a location to a task with a given ID:
    todo edit --location {{location_name}} {{task_id}}
  • Show details about a task:
    todo show {{task_id}}
  • Mark tasks with the specified IDs as completed:
    todo done {{task_id1 task_id2 ...}}
  • Delete a task:
    todo delete {{task_id}}
  • Delete done tasks and reset the IDs of the remaining tasks:
    todo flush

progress

Display/Monitor the progress of running coreutils. More information: https://github.com/Xfennec/progress.
  • Show the progress of running coreutils:
    progress
  • Show the progress of running coreutils in quiet mode:
    progress -q
  • Launch and monitor a single long-running command:
    {{command}} & progress --monitor --pid $!
  • Include an estimate of time remaining for completion:
    progress --wait --command {{firefox}}

git ignore

Show/update .gitignore files. Part of git-extras. See also git ignore-io. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-ignore.
  • Show the content of all global and local .gitignore files:
    git ignore
  • Ignore file(s) privately, updating .git/info/exclude file:
    git ignore {{file_pattern}} --private
  • Ignore file(s) locally, updating local .gitignore file:
    git ignore {{file_pattern}}
  • Ignore file(s) globally, updating global .gitignore file:
    git ignore {{file_pattern}} --global

ouch

Command-line utility for compressing and decompressing files and directories. More information: https://crates.io/crates/ouch.
  • Decompress a specific file:
    ouch decompress {{path/to/archive.tar.xz}}
  • Decompress a file to a specific location:
    ouch decompress {{path/to/archive.tar.xz}} --dir {{path/to/directory}}
  • Decompress multiple files:
    ouch decompress {{path/to/archive1.tar path/to/archive2.tar.gz ...}}
  • Compress files:
    ouch compress {{path/to/file1 path/to/file2 ...}} {{path/to/archive.zip}}

duplicity

Creates incremental, compressed, encrypted and versioned backups. Can also upload the backups to a variety of backend services. More information: http://duplicity.nongnu.org.
  • Backup a directory via FTPS to a remote machine, encrypting it with a password:
    FTP_PASSWORD={{ftp_login_password}} PASSPHRASE={{encryption_password}} duplicity {{path/to/source/directory}} {{ftps://user@hostname/target/directory/path/}}
  • Backup a directory to Amazon S3, doing a full backup every month:
    duplicity --full-if-older-than {{1M}} --use-new-style s3://{{bucket_name[/prefix]}}
  • Delete versions older than 1 year from a backup stored on a WebDAV share:
    FTP_PASSWORD={{webdav_login_password}} duplicity remove-older-than {{1Y}} --force {{webdav[s]://user@hostname[:port]/some_dir}}
  • List the available backups:
    duplicity collection-status "file://{{absolute/path/to/backup/directory}}"
  • List the files in a backup stored on a remote machine, via ssh:
    duplicity list-current-files --time {{YYYY-MM-DD}} scp://{{user@hostname}}/path/to/backup/dir
  • Restore a subdirectory from a GnuPG-encrypted local backup to a given location:
    PASSPHRASE={{gpg_key_password}} duplicity restore --encrypt-key {{gpg_key_id}} --file-to-restore {{relative/path/restoredirectory}} file://{{absolute/path/to/backup/directory}} {{path/to/directory/to/restore/to}}

exiftool

Read and write meta information in files. More information: https://exiftool.org.
  • Print the EXIF metadata for a given file:
    exiftool {{path/to/file}}
  • Remove all EXIF metadata from the given files:
    exiftool -All= {{path/to/file1 path/to/file2 ...}}
  • Remove GPS EXIF metadata from given image files:
    exiftool "-gps*=" {{path/to/image1 path/to/image2 ...}}
  • Remove all EXIF metadata from the given image files, then re-add metadata for color and orientation:
    exiftool -All= -tagsfromfile @ -colorspacetags -orientation {{path/to/image1 path/to/image2 ...}}
  • Move the date at which all photos in a directory were taken 1 hour forward:
    exiftool "-AllDates+=0:0:0 1:0:0" {{path/to/directory}}
  • Move the date at which all JPEG photos in the current directory were taken 1 day and 2 hours backward:
    exiftool "-AllDates-=0:0:1 2:0:0" -ext jpg
  • Only change the DateTimeOriginal field subtracting 1.5 hours, without keeping backups:
    exiftool -DateTimeOriginal-=1.5 -overwrite_original
  • Recursively rename all JPEG photos in a directory based on the DateTimeOriginal field:
    exiftool '-filename<DateTimeOriginal' -d %Y-%m-%d_%H-%M-%S%%lc.%%e {{path/to/directory}} -r -ext jpg

gh pr create

Manage GitHub pull requests. More information: https://cli.github.com/manual/gh_pr_create.
  • Interactively create a pull request:
    gh pr create
  • Create a pull request, determining the title and description from the commit messages of the current branch:
    gh pr create --fill
  • Create a draft pull request:
    gh pr create --draft
  • Create a pull request specifying the base branch, title, and description:
    gh pr create --base {{base_branch}} --title "{{title}}" --body "{{body}}"
  • Start opening a pull request in the default web browser:
    gh pr create --web

phpbu

A backup utility framework for PHP. More information: https://phpbu.de.
  • Run backups using the default phpbu.xml configuration file:
    phpbu
  • Run backups using a specific configuration file:
    phpbu --configuration={{path/to/configuration_file.xml}}
  • Only run the specified backups:
    phpbu --limit={{backup_task_name}}
  • Simulate the actions that would have been performed:
    phpbu --simulate

linode-cli linodes

Manage Linode instances. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/linode-instances/.
  • List all Linodes:
    linode-cli linodes list
  • Create a new Linode:
    linode-cli linodes create --type {{linode_type}} --region {{region}} --image {{image_id}}
  • View details of a specific Linode:
    linode-cli linodes view {{linode_id}}
  • Update settings for a Linode:
    linode-cli linodes update {{linode_id}} --label {{[new_label}}
  • Delete a Linode:
    linode-cli linodes delete {{linode_id}}
  • Perform a power management operation on a Linode:
    linode-cli linodes {{boot|reboot|shutdown}} {{linode_id}}
  • List available backups for a Linode:
    linode-cli linodes backups-list {{linode_id}}
  • Restore a backup to a Linode:
    linode-cli linodes backups-restore {{linode_id}} --backup-id {{backup_id}}

7zr

File archiver with a high compression ratio. Similar to 7z except that it only supports .7z files. More information: https://manned.org/7zr.
  • [a]rchive a file or directory:
    7zr a {{path/to/archive.7z}} {{path/to/file_or_directory}}
  • Encrypt an existing archive (including file names):
    7zr a {{path/to/encrypted.7z}} -p{{password}} -mhe={{on}} {{path/to/archive.7z}}
  • E[x]tract an archive preserving the original directory structure:
    7zr x {{path/to/archive.7z}}
  • E[x]tract an archive to a specific directory:
    7zr x {{path/to/archive.7z}} -o{{path/to/output}}
  • E[x]tract an archive to stdout:
    7zr x {{path/to/archive.7z}} -so
  • [l]ist the contents of an archive:
    7zr l {{path/to/archive.7z}}
  • List available archive types:
    7zr i

dumpcap

A network traffic dump tool. More information: https://www.wireshark.org/docs/man-pages/dumpcap.html.
  • Display available interfaces:
    dumpcap --list-interfaces
  • Capture packets on a specific interface:
    dumpcap --interface {{1}}
  • Capture packets to a specific location:
    dumpcap --interface {{1}} -w {{path/to/output_file.pcapng}}
  • Write to a ring buffer with a specific max file limit of a specific size:
    dumpcap --interface {{1}} -w {{path/to/output_file.pcapng}} --ring-buffer filesize:{{500000}} --ring-buffer files:{{10}}

jarsigner

Sign and verify Java archive (JAR) files. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/jarsigner.html.
  • Sign a JAR file:
    jarsigner {{path/to/file.jar}} {{keystore_alias}}
  • Sign a JAR file with a specific algorithm:
    jarsigner -sigalg {{algorithm}} {{path/to/file.jar}} {{keystore_alias}}
  • Verify the signature of a JAR file:
    jarsigner -verify {{path/to/file.jar}}

kotlin

Kotlin application launcher. More information: https://kotlinlang.org.
  • Run a jar file:
    kotlin {{filename.jar}}
  • Display Kotlin and JVM version:
    kotlin -version


fzf

Command-line fuzzy finder. Similar to sk. More information: https://github.com/junegunn/fzf.
  • Start fzf on all files in the specified directory:
    find {{path/to/directory}} -type f | fzf
  • Start fzf for running processes:
    ps aux | fzf
  • Select multiple files with Shift + Tab and write to a file:
    find {{path/to/directory}} -type f | fzf --multi > {{path/to/file}}
  • Start fzf with a specified query:
    fzf --query "{{query}}"
  • Start fzf on entries that start with core and end with either go, rb, or py:
    fzf --query "^core go$ | rb$ | py$"
  • Start fzf on entries that not match pyc and match exactly travis:
    fzf --query "!pyc 'travis"

ldapsearch

Query an LDAP directory. More information: https://docs.ldap.com/ldap-sdk/docs/tool-usages/ldapsearch.html.
  • Query an LDAP server for all items that are a member of the given group and return the object's displayName value:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} -b {{base_ou}} '{{memberOf=group1}}' displayName
  • Query an LDAP server with a no-newline password file for all items that are a member of the given group and return the object's displayName value:
    ldapsearch -D '{{admin_DN}}' -y '{{password_file}}' -h {{ldap_host}} -b {{base_ou}} '{{memberOf=group1}}' displayName
  • Return 5 items that match the given filter:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} -b {{base_ou}} '{{memberOf=group1}}' -z 5 displayName
  • Wait up to 7 seconds for a response:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} -b {{base_ou}} '{{memberOf=group1}}' -l 7 displayName
  • Invert the filter:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} -b {{base_ou}} '(!(memberOf={{group1}}))' displayName
  • Return all items that are part of multiple groups, returning the display name for each item:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} '(&({{memberOf=group1}})({{memberOf=group2}})({{memberOf=group3}}))' "displayName"
  • Return all items that are members of at least 1 of the specified groups:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} '(|({{memberOf=group1}})({{memberOf=group1}})({{memberOf=group3}}))' displayName
  • Combine multiple boolean logic filters:
    ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} '(&({{memberOf=group1}})({{memberOf=group2}})(!({{memberOf=group3}})))' displayName

checksec

Check security properties of executables. More information: https://github.com/slimm609/checksec.sh.
  • List security properties of an executable binary file:
    checksec --file={{path/to/binary}}
  • List security properties recursively of all executable files in a directory:
    checksec --dir={{path/to/directory}}
  • List security properties of a process:
    checksec --proc={{pid}}
  • List security properties of the running kernel:
    checksec --kernel

bc

An arbitrary precision calculator language. See also: dc. More information: https://manned.org/man/bc.1.
  • Start an interactive session:
    bc
  • Start an interactive session with the standard math library enabled:
    bc --mathlib
  • Calculate an expression:
    echo '{{5 / 3}}' | bc
  • Execute a script:
    bc {{path/to/script.bc}}
  • Calculate an expression with the specified scale:
    echo 'scale = {{10}}; {{5 / 3}}' | bc
  • Calculate a sine/cosine/arctangent/natural logarithm/exponential function using mathlib:
    echo '{{s|c|a|l|e}}({{1}})' | bc --mathlib

az term

Manage marketplace agreement with marketplaceordering. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/term.
  • Print marketplace terms:
    az term show --product "{{product_identifier}}" --plan "{{plan_identifier}}" --publisher "{{publisher_identifier}}"
  • Accept marketplace terms:
    az term accept --product "{{product_identifier}}" --plan "{{plan_identifier}}" --publisher "{{publisher_identifier}}"

rga

Ripgrep wrapper with rich file type searching capabilities. More information: https://github.com/phiresky/ripgrep-all.
  • Search recursively for a pattern in all files in the current directory:
    rga {{regular_expression}}
  • List available adapters:
    rga --rga-list-adapters
  • Change which adapters to use (e.g. ffmpeg, pandoc, poppler etc.):
    rga --rga-adapters={{adapter1,adapter2}} {{regular_expression}}
  • Search for a pattern using the mime type instead of the file extension (slower):
    rga --rga-accurate {{regular_expression}}
  • Display detailed help:
    rga --help

more

Open a file for interactive reading, allowing scrolling and search. More information: https://manned.org/more.
  • Open a file:
    more {{path/to/file}}
  • Open a file displaying from a specific line:
    more +{{line_number}} {{path/to/file}}
  • Display help:
    more --help
  • Go to the next page:
    <Space>
  • Search for a string (press n to go to the next match):
    /{{something}}
  • Exit:
    q
  • Display help about interactive commands:
    h

docker

Manage Docker containers and images. Some subcommands such as docker run have their own usage documentation. More information: https://docs.docker.com/engine/reference/commandline/cli/.
  • List all docker containers (running and stopped):
    docker ps --all
  • Start a container from an image, with a custom name:
    docker run --name {{container_name}} {{image}}
  • Start or stop an existing container:
    docker {{start|stop}} {{container_name}}
  • Pull an image from a docker registry:
    docker pull {{image}}
  • Display the list of already downloaded images:
    docker images
  • Open a shell inside a running container:
    docker exec -it {{container_name}} {{sh}}
  • Remove a stopped container:
    docker rm {{container_name}}
  • Fetch and follow the logs of a container:
    docker logs -f {{container_name}}

haxelib

Haxe Library Manager. More information: https://lib.haxe.org/.
  • Search for a Haxe library:
    haxelib search {{keyword}}
  • Install a Haxe library:
    haxelib install {{libname}}
  • Install a specific version of a Haxe library:
    haxelib install {{libname}} {{version}}
  • Upgrade all installed Haxe libraries:
    haxelib upgrade
  • Install the development version of a library from a Git repository:
    haxelib git {{libname}} {{git_url}}
  • Uninstall a Haxe library:
    haxelib remove {{libname}}
  • Print a tree of locally installed Haxe libraries:
    haxelib list

react-native

A framework for building native apps with React. More information: https://reactnative.dev.
  • Initialize a new React Native project in a directory of the same name:
    react-native init {{project_name}}
  • Start the metro bundler:
    react-native start
  • Start the metro bundler with a clean cache:
    react-native start --reset-cache
  • Build the current application and start it on a connected Android device or emulator:
    react-native run-android
  • Build the current application and start it on an iOS simulator:
    react-native run-ios
  • Build the current application in release mode and start it on a connected Android device or emulator:
    react-native run-android --variant={{release}}
  • Start logkitty and print logs to stdout:
    react-native log-android
  • Start tail system.log for an iOS simulator and print logs to stdout:
    react-native log-ios

rpi-imager

Flash images onto storage devices. More information: https://github.com/raspberrypi/rpi-imager.
  • Write a specific image to a specific block device:
    rpi-imager --cli {{path/to/image.zip}} {{/dev/sdX}}
  • Write a specific image to a block device, disabling the checksum verification:
    rpi-imager --cli --disable-verify {{path/to/image.zip}} {{/dev/sdX}}
  • Write a specific image to a block device, which will expect a specific checksum when running the verification:
    rpi-imager --cli --sha256 {{expected_hash}} {{path/to/image.zip}} {{/dev/sdX}}

mplayer

Cross-platform multimedia player. More information: https://mplayerhq.hu/DOCS/HTML/en/commandline.html.
  • Play the specified file or URL:
    mplayer {{path/to/file|url}}
  • Play multiple files:
    mplayer {{path/to/file1 path/to/file2 ...}}
  • Play a specific file repeatedly:
    mplayer -loop {{0}} {{path/to/file}}
  • Pause playback:
    <Space>
  • Quit mplayer:
    <Escape>
  • Seek backward or forward 10 seconds:
    <Left> or <Right>

xsv

A CSV command-line toolkit written in Rust. More information: https://github.com/BurntSushi/xsv.
  • Inspect the headers of a file:
    xsv headers {{path/to/file.csv}}
  • Count the number of entries:
    xsv count {{path/to/file.csv}}
  • Get an overview of the shape of entries:
    xsv stats {{path/to/file.csv}} | xsv table
  • Select a few columns:
    xsv select {{column_a,column_b}} {{path/to/file.csv}}
  • Show 10 random entries:
    xsv sample {{10}} {{path/to/file.csv}}
  • Join a column from one file to another:
    xsv join --no-case {{column_a}} {{path/to/file/a.csv}} {{column_b}} {{path/to/file/b.csv}} | xsv table

rr

Debugging tool designed to record and replay program execution. More information: https://rr-project.org/.
  • Record an application:
    rr record {{path/to/binary --arg1 --arg2}}
  • Replay latest recorded execution:
    rr replay

play

Audio player of SoX - Sound eXchange. Plays any audio, with audio formats identified by the extension. More information: http://sox.sourceforge.net.
  • Play the given audio file:
    play {{audiofile}}
  • Play the given audio files:
    play {{audiofile1}} {{audiofile2}}
  • Play the given audio at twice the speed:
    play {{audiofile}} speed 2.0
  • Play the given audio in reverse:
    play {{audiofile}} reverse

rmdir

Remove directories without files. See also: rm. More information: https://www.gnu.org/software/coreutils/rmdir.
  • Remove specific directories:
    rmdir {{path/to/directory1 path/to/directory2 ...}}
  • Remove specific nested directories recursively:
    rmdir -p {{path/to/directory1 path/to/directory2 ...}}

unar

Extract contents from archive files. More information: https://manned.org/unar.
  • Extract an archive to the current directory:
    unar {{archive}}
  • Extract an archive to the specified directory:
    unar -o {{path/to/directory}} {{archive}}
  • Force overwrite if files to be unpacked already exist:
    unar -f {{archive}}
  • Force rename if files to be unpacked already exist:
    unar -r {{archive}}
  • Force skip if files to be unpacked already exist:
    unar -s {{archive}}


parallel-lint

A tool to check the syntax of PHP files in parallel. More information: https://github.com/JakubOnderka/PHP-Parallel-Lint.
  • Lint a specific directory:
    parallel-lint {{path/to/directory}}
  • Lint a directory using the specified number of parallel processes:
    parallel-lint -j {{processes}} {{path/to/directory}}
  • Lint a directory, excluding the specified directory:
    parallel-lint --exclude {{path/to/excluded_directory}} {{path/to/directory}}
  • Lint a directory of files using a comma-separated list of extension(s):
    parallel-lint -e {{php,html,phpt}} {{path/to/directory}}
  • Lint a directory and output the results as JSON:
    parallel-lint --json {{path/to/directory}}
  • Lint a directory and show Git Blame results for rows containing errors:
    parallel-lint --blame {{path/to/directory}}


ugrep

Ultra fast search tool with query TUI. More information: https://github.com/Genivia/ugrep.
  • Start a query TUI to search files in the current directory recursively (CTRL-Z for help):
    ugrep --query
  • Search the current directory recursively for files containing a regex search pattern:
    ugrep "{{search_pattern}}"
  • Search in a specific file or in all files in a specific directory, showing line numbers of matches:
    ugrep --line-number "{{search_pattern}}" {{path/to/file_or_directory}}
  • Search in all files in the current directory recursively and print the name of each matching file:
    ugrep --files-with-matches "{{search_pattern}}"
  • Fuzzy search files with up to 3 extra, missing or mismatching characters in the pattern:
    ugrep --fuzzy={{3}} "{{search_pattern}}"
  • Also search compressed files, zip and tar archives recursively:
    ugrep --decompress "{{search_pattern}}"
  • Search only files whose filenames match a specific glob pattern:
    ugrep --glob="{{glob_pattern}}" "{{search_pattern}}"
  • Search only C++ source files (use --file-type=list to list all file types):
    ugrep --file-type=cpp "{{search_pattern}}"

trash-cli

A command-line interface to the trashcan APIs. More information: https://github.com/andreafrancia/trash-cli.
  • Trash specific files and directories into the current trashcan:
    trash-put {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Remove specific files from the current trashcan:
    trash-rm {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Empty the current trashcan:
    trash-empty
  • List trashed files and directories in the current trashcan:
    trash-list
  • Restore a specific file or directory by a number from the displayed list from the current trashcan:
    trash-restore

tcpdump

Dump traffic on a network. More information: https://www.tcpdump.org.
  • List available network interfaces:
    tcpdump -D
  • Capture the traffic of a specific interface:
    tcpdump -i {{eth0}}
  • Capture all TCP traffic showing contents (ASCII) in console:
    tcpdump -A tcp
  • Capture the traffic from or to a host:
    tcpdump host {{www.example.com}}
  • Capture the traffic from a specific interface, source, destination and destination port:
    tcpdump -i {{eth0}} src {{192.168.1.1}} and dst {{192.168.1.2}} and dst port {{80}}
  • Capture the traffic of a network:
    tcpdump net {{192.168.1.0/24}}
  • Capture all traffic except traffic over port 22 and save to a dump file:
    tcpdump -w {{dumpfile.pcap}} port not {{22}}
  • Read from a given dump file:
    tcpdump -r {{dumpfile.pcap}}

iperf3

Traffic generator for testing network bandwidth. More information: https://iperf.fr.
  • Run iperf3 as a server:
    iperf3 -s
  • Run an iperf3 server on a specific port:
    iperf3 -s -p {{port}}
  • Start bandwidth test:
    iperf3 -c {{server}}
  • Run iperf3 in multiple parallel streams:
    iperf3 -c {{server}} -P {{streams}}
  • Reverse direction of the test. Server sends data to the client:
    iperf3 -c {{server}} -R

git fsck

Verify the validity and connectivity of nodes in a Git repository index. Does not make any modifications. See git gc for cleaning up dangling blobs. More information: https://git-scm.com/docs/git-fsck.
  • Check the current repository:
    git fsck
  • List all tags found:
    git fsck --tags
  • List all root nodes found:
    git fsck --root

salt

Execute commands and assert state on remote salt minions. More information: https://docs.saltstack.com/ref/cli/salt.html.
  • List connected minions:
    salt '*' test.ping
  • Execute a highstate on all connected minions:
    salt '*' state.highstate
  • Upgrade packages using the OS package manager (apt, yum, brew) on a subset of minions:
    salt '*.example.com' pkg.upgrade
  • Execute an arbitrary command on a particular minion:
    salt '{{minion_id}}' cmd.run "ls "

mr

Manage all of your version control repositories at once. More information: https://myrepos.branchable.com.
  • Register a repository:
    mr register
  • Update repositories in 5 concurrent jobs:
    mr -j{{5}} update
  • Print the status of all repositories:
    mr status
  • Checkout all repositories to the latest version:
    mr checkout

esbuild

JavaScript bundler and minifier built for speed. More information: https://esbuild.github.io/.
  • Bundle a JavaScript application and print to stdout:
    esbuild --bundle {{path/to/file.js}}
  • Bundle a JSX application from stdin:
    esbuild --bundle --outfile={{path/to/out.js}} < {{path/to/file.jsx}}
  • Bundle and minify a JSX application with source maps in production mode:
    esbuild --bundle --define:{{process.env.NODE_ENV=\"production\"}} --minify --sourcemap {{path/to/file.js}}
  • Bundle a JSX application for a comma-separated list of browsers:
    esbuild --bundle --minify --sourcemap --target={{chrome58,firefox57,safari11,edge16}} {{path/to/file.jsx}}
  • Bundle a JavaScript application for a specific node version:
    esbuild --bundle --platform={{node}} --target={{node12}} {{path/to/file.js}}
  • Bundle a JavaScript application enabling JSX syntax in .js files:
    esbuild --bundle app.js --loader:{{.js=jsx}} {{path/to/file.js}}
  • Bundle and serve a JavaScript application on an HTTP server:
    esbuild --bundle --serve={{port}} --outfile={{index.js}} {{path/to/file.js}}
  • Bundle a list of files to an output directory:
    esbuild --bundle --outdir={{path/to/output_directory}} {{path/to/file1 path/to/file2 ...}}

lumen

A command-line installer for the Lumen micro-framework. More information: https://lumen.laravel.com.
  • Create a new Lumen application:
    lumen new {{application_name}}
  • List the available installer commands:
    lumen list

xmlto

Apply an XSL stylesheet to an XML document. More information: https://pagure.io/xmlto.
  • Convert a DocBook XML document to PDF format:
    xmlto {{pdf}} {{document.xml}}
  • Convert a DocBook XML document to HTML format and store the resulting files in a separate directory:
    xmlto -o {{path/to/html_files}} {{html}} {{document.xml}}
  • Convert a DocBook XML document to a single HTML file:
    xmlto {{html-nochunks}} {{document.xml}}
  • Specify a stylesheet to use while converting a DocBook XML document:
    xmlto -x {{stylesheet.xsl}} {{output_format}} {{document.xml}}

dig

DNS lookup utility. More information: https://manned.org/dig.
  • Lookup the IP(s) associated with a hostname (A records):
    dig +short {{example.com}}
  • Get a detailed answer for a given domain (A records):
    dig +noall +answer {{example.com}}
  • Query a specific DNS record type associated with a given domain name:
    dig +short {{example.com}} {{A|MX|TXT|CNAME|NS}}
  • Get all types of records for a given domain name:
    dig {{example.com}} ANY
  • Specify an alternate DNS server to query:
    dig @{{8.8.8.8}} {{example.com}}
  • Perform a reverse DNS lookup on an IP address (PTR record):
    dig -x {{8.8.8.8}}
  • Find authoritative name servers for the zone and display SOA records:
    dig +nssearch {{example.com}}
  • Perform iterative queries and display the entire trace path to resolve a domain name:
    dig +trace {{example.com}}

idnits

Check internet-drafts for submission nits. Looks for violations of Section 2.1 and 2.2 of the requirements listed on https://www.ietf.org/id-info/checklist. More information: https://tools.ietf.org/tools/idnits/.
  • Check a file for nits:
    idnits {{path/to/file.txt}}
  • Count nits without displaying them:
    idnits --nitcount {{path/to/file.txt}}
  • Show extra information about offending lines:
    idnits --verbose {{path/to/file.txt}}
  • Expect the specified year in the boilerplate instead of the current year:
    idnits --year {{2021}} {{path/to/file.txt}}
  • Assume the document is of the specified status:
    idnits --doctype {{standard|informational|experimental|bcp|ps|ds}} {{path/to/file.txt}}

abduco

Terminal session manager. More information: http://www.brain-dump.org/projects/abduco/.
  • List sessions:
    abduco
  • Attach to a session, creating it if it doesn't exist:
    abduco -A {{name}} {{bash}}
  • Attach to a session with dvtm, creating it if it doesn't exist:
    abduco -A {{name}}
  • Detach from a session:
    Ctrl + \
  • Attach to a session in read-only mode:
    abduco -Ar {{name}}


sl

Steam locomotive running through your terminal. More information: https://github.com/mtoyoda/sl.
  • Let a steam locomotive run through your terminal:
    sl
  • The train burns, people scream:
    sl -a
  • Let the train fly:
    sl -F
  • Make the train little:
    sl -l
  • Let the user exit (CTRL + C):
    sl -e

pnpx

Directly execute binaries from npm packages, using pnpm instead of npm. More information: https://pnpm.io/pnpx-cli.
  • Execute the binary from a given npm module:
    pnpx {{module_name}}
  • Execute a specific binary from a given npm module, in case the module has multiple binaries:
    pnpx --package {{package_name}} {{module_name}}
  • Display help:
    pnpx --help

licensor

Write licenses to stdout. More information: https://github.com/raftario/licensor.
  • Write the MIT license to a file named LICENSE:
    licensor {{MIT}} > {{LICENSE}}
  • Write the MIT license with a [p]laceholder copyright notice to a file named LICENSE:
    licensor -p {{MIT}} > {{LICENSE}}
  • Specify a copyright holder named Bobby Tables:
    licensor {{MIT}} {{"Bobby Tables"}} > {{LICENSE}}
  • Specify licence exceptions with a WITH expression:
    licensor "{{Apache-2.0 WITH LLVM-exception}}" > {{LICENSE}}
  • List all available licenses:
    licensor --licenses
  • List all available exceptions:
    licensor --exceptions

you-get

Download media contents (videos, audios, images) from the Web. More information: https://you-get.org.
  • Print media information about a specific media on the web:
    you-get --info {{https://example.com/video?id=value}}
  • Download a media from a specific URL:
    you-get {{https://example.com/video?id=value}}
  • Search on Google Videos and download:
    you-get {{keywords}}
  • Download a media to a specific location:
    you-get --output-dir {{path/to/directory}} --output-filename {{filename}} {{https://example.com/watch?v=value}}
  • Download a media using a proxy:
    you-get --http-proxy {{proxy_server}} {{https://example.com/watch?v=value}}


mitmdump

View, record, and programmatically transform HTTP traffic. The command-line counterpart to mitmproxy. More information: https://docs.mitmproxy.org/stable/overview-tools/#mitmdump.
  • Start a proxy and save all output to a file:
    mitmdump -w {{path/to/file}}
  • Filter a saved traffic file to just POST requests:
    mitmdump -nr {{input_filename}} -w {{output_filename}} "{{~m post}}"
  • Replay a saved traffic file:
    mitmdump -nc {{path/to/file}}

git sync

Sync local branches with remote branches. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-sync.
  • Sync the current local branch with its remote branch:
    git sync
  • Sync the current local branch with the remote main branch:
    git sync origin main
  • Sync without cleaning untracked files:
    git sync -s {{remote_name}} {{branch_name}}

cotton

Markdown test specification runner. More information: https://github.com/chonla/cotton.
  • Use a specific base URL:
    cotton -u {{base_url}} {{path/to/file}}.md
  • Disable certificate verification (insecure mode):
    cotton -u {{base_url}} -i {{path/to/file}}.md
  • Stop running when a test fails:
    cotton -u {{base_url}} -s {{path/to/file}}.md

nx

Manage nx workspaces. More information: https://nx.dev/l/r/getting-started/nx-cli.
  • Build a specific project:
    nx build {{project}}
  • Test a specific project:
    nx test {{project}}
  • Execute a target on a specific project:
    nx run {{project}}:{{target}}
  • Execute a target on multiple projects:
    nx run-many --target {{target}} --projects {{project1}},{{project2}}
  • Execute a target on all projects in the workspace:
    nx run-many --target {{target}} --all
  • Execute a target only on projects that have been changed:
    nx affected --target {{target}}

virsh pool-define-as

Create a configuration file in /etc/libvirt/storage for a persistent virtual machine storage pool from the provided arguments. See also: virsh, virsh-pool-build, virsh-pool-start. More information: https://manned.org/virsh.
  • Create the configuration file for a storage pool called pool_name using /var/vms as the underlying storage system:
    virsh pool-define-as --name {{pool_name}} --type {{dir}} --target {{/var/vms}}

picom-trans

Set the window opacity for the picom window compositor. More information: https://github.com/yshui/picom.
  • Set the currently focused window opacity to a specific percentage:
    picom-trans --current --opacity {{90}}
  • Set the opacity of a window with a specific name:
    picom-trans --name {{Firefox}} --opacity {{90}}
  • Set the opacity of a specific window selected via mouse cursor:
    picom-trans --select --opacity {{90}}
  • Toggle the opacity of a specific window:
    picom-trans --name {{Firefox}} --toggle

boot

Build tooling for the Clojure programming language. More information: https://github.com/boot-clj/boot.
  • Start a REPL session either with the project or standalone:
    boot repl
  • Build a single uberjar:
    boot jar
  • Learn about a command:
    boot cljs --help
  • Generate scaffolding for a new project based on a template:
    boot --dependencies boot/new new --template {{template_name}} --name {{project_name}}
  • Build for development (if using the boot/new template):
    boot dev
  • Build for production (if using the boot/new template):
    boot prod

ghcup

Haskell toolchain installer. Install, manage, and update Haskell toolchains. More information: https://gitlab.haskell.org/haskell/ghcup-hs.
  • Start the interactive TUI:
    ghcup tui
  • List available GHC/cabal versions:
    ghcup list
  • Install the recommended GHC version:
    ghcup install ghc
  • Install a specific GHC version:
    ghcup install ghc {{version}}
  • Set the currently "active" GHC version:
    ghcup set ghc {{version}}
  • Install cabal-install:
    ghcup install cabal
  • Update ghcup itself:
    ghcup upgrade

john

Password cracker. More information: https://www.openwall.com/john/.
  • Crack password hashes:
    john {{path/to/hashes.txt}}
  • Show passwords cracked:
    john --show {{path/to/hashes.txt}}
  • Display users' cracked passwords by user identifier from multiple files:
    john --show --users={{user_ids}} {{path/to/hashes*}} {{path/to/other/hashes*}}
  • Crack password hashes, using a custom wordlist:
    john --wordlist={{path/to/wordlist.txt}} {{path/to/hashes.txt}}
  • List available hash formats:
    john --list=formats
  • Crack password hashes, using a specific hash format:
    john --format={{md5crypt}} {{path/to/hashes.txt}}
  • Crack password hashes, enabling word mangling rules:
    john --rules {{path/to/hashes.txt}}
  • Restore an interrupted cracking session from a state file, e.g. mycrack.rec:
    john --restore={{path/to/mycrack.rec}}

anki

Powerful, intelligent flashcard program. More information: https://docs.ankiweb.net.
  • Launch anki:
    anki
  • Launch anki with a specific profile:
    anki -p {{profile_name}}
  • Launch anki in a specific language:
    anki -l {{language}}
  • Launch anki from a specific directory instead of the default (~/Anki):
    anki -b {{path/to/directory}}

glab mr

Manage GitLab merge requests. Some subcommands such as glab mr create have their own usage documentation. More information: https://glab.readthedocs.io/en/latest/mr.
  • Create a merge request:
    glab mr create
  • Check out a specific merge request locally:
    glab mr checkout {{mr_number}}
  • View the changes made in the merge request:
    glab mr diff
  • Approve the merge request for the current branch:
    glab mr approve
  • Merge the merge request associated with the current branch interactively:
    glab mr merge
  • Edit a merge request interactively:
    glab mr update
  • Edit the target branch of a merge request:
    glab mr update --target-branch {{branch_name}}

ant

Apache Ant. Tool for building and managing Java-based projects. More information: https://ant.apache.org.
  • Build a project with default build file build.xml:
    ant
  • Build a project using build file other than build.xml:
    ant -f {{buildfile.xml}}
  • Print information on possible targets for this project:
    ant -p
  • Print debugging information:
    ant -d
  • Execute all targets that do not depend on fail target(s):
    ant -k

dvc config

Low level command to manage custom configuration options for dvc repositories. These configurations can be on project, local, global, or system level. More information: https://dvc.org/doc/command-reference/config.
  • Get the name of the default remote:
    dvc config core.remote
  • Set the project's default remote:
    dvc config core.remote {{remote_name}}
  • Unset the project's default remote:
    dvc config --unset core.remote
  • Get the config value for a specified key for the current project:
    dvc config {{key}}
  • Set the config value for a key on a project level:
    dvc config {{key}} {{value}}
  • Unset a project level config value for a given key:
    dvc config --unset {{key}}
  • Set a local, global, or system level config value:
    dvc config --local/global/system {{key}} {{value}}


nvm

Install, uninstall or switch between Node.js versions. Supports version numbers like "12.8" or "v16.13.1", and labels like "stable", "system", etc. More information: https://github.com/creationix/nvm.
  • Install a specific version of Node.js:
    nvm install {{node_version}}
  • Use a specific version of Node.js in the current shell:
    nvm use {{node_version}}
  • Set the default Node.js version:
    nvm alias default {{node_version}}
  • List all available Node.js versions and highlight the default one:
    nvm list
  • Uninstall a given Node.js version:
    nvm uninstall {{node_version}}
  • Launch the REPL of a specific version of Node.js:
    nvm run {{node_version}} --version
  • Execute a script in a specific version of Node.js:
    nvm exec {{node_version}} node {{app.js}}

calibre-server

A server application that can be used to distribute e-books over a network. Note: e-books must already be imported into the library using the GUI or the calibredb CLI. More information: https://manual.calibre-ebook.com/generated/en/calibre-server.html.
  • Start a server to distribute e-books. Access at http://localhost:8080:
    calibre-server
  • Start server on different port. Access at http://localhost:port:
    calibre-server --port {{port}}
  • Password protect the server:
    calibre-server --username {{username}} --password {{password}}

autoconf

Generate configuration scripts to automatically configure software source code packages. More information: https://www.gnu.org/software/autoconf.
  • Generate a configuration script from configure.ac (if present) or configure.in and save this script to configure:
    autoconf
  • Generate a configuration script from the specified template; output to stdout:
    autoconf {{template-file}}
  • Generate a configuration script from the specified template (even if the input file has not changed) and write the output to a file:
    autoconf --force --output={{outfile}} {{template-file}}

smalltalkci

Framework for testing Smalltalk projects with GitHub Actions, Travis CI, AppVeyor, GitLab CI, and others. More information: https://github.com/hpi-swa/smalltalkCI.
  • Run tests for a configuration file:
    smalltalkci {{path/to/.smalltalk.ston}}
  • Run tests for the .smalltalk.ston configuration in the current directory:
    smalltalkci
  • Debug tests in headful mode (show VM window):
    smalltalkci --headful
  • Download and prepare a well-known smalltalk image for the tests:
    smalltalkci --smalltalk {{Squeak64-Trunk}}
  • Specify a custom Smalltalk image and VM:
    smalltalkci --image {{path/to/Smalltalk.image}} --vm {{path/to/vm}}
  • Clean up caches and delete builds:
    smalltalkci --clean

exfatlabel

Get or set an exFAT filesystem label. More information: https://manned.org/exfatlabel.
  • Display the current filesystem label:
    exfatlabel {{/dev/sda}}
  • Set the filesystem label:
    exfatlabel {{/dev/sda}} {{new_label}}

safe

Interact with HashiCorp Vault. More information: https://github.com/starkandwayne/safe.
  • Add a safe target:
    safe target {{vault_addr}} {{target_name}}
  • Authenticate the CLI client against the Vault server, using an authentication token:
    safe auth {{authentication_token}}
  • Print the environment variables describing the current target:
    safe env
  • Display a tree hierarchy of all reachable keys for a given path:
    safe tree {{path}}
  • Move a secret from one path to another:
    safe move {{old/path/to/secret}} {{new/path/to/secret}}
  • Generate a new 2048-bit SSH key-pair and store it:
    safe ssh {{2048}} {{path/to/secret}}
  • Set non-sensitive keys for a secret:
    safe set {{path/to/secret}} {{key}}={{value}}
  • Set auto-generated password in a secret:
    safe gen {{path/to/secret}} {{key}}

git show-branch

Show branches and their commits. More information: https://git-scm.com/docs/git-show-branch.
  • Show a summary of the latest commit on a branch:
    git show-branch {{branch_name|ref|commit}}
  • Compare commits in the history of multiple commits or branches:
    git show-branch {{branch_name|ref|commit}}
  • Compare all remote tracking branches:
    git show-branch --remotes
  • Compare both local and remote tracking branches:
    git show-branch --all
  • List the latest commits in all branches:
    git show-branch --all --list
  • Compare a given branch with the current branch:
    git show-branch --current {{commit|branch_name|ref}}
  • Display the commit name instead of the relative name:
    git show-branch --sha1-name --current {{current|branch_name|ref}}
  • Keep going a given number of commits past the common ancestor:
    git show-branch --more {{5}} {{commit|branch_name|ref}} {{commit|branch_name|ref}} {{...}}

pwsh

This command is an alias of powershell.
  • View documentation for the original command:
    tldr powershell

gnmic subscribe

Subscribe to a gnmic network device state updates. More information: https://gnmic.kmrd.dev/cmd/subscribe.
  • Subscribe to target state updates under the subtree of a specific path:
    gnmic --address {{ip:port}} subscribe --path {{path}}
  • Subscribe to a target with a sample interval of 30s (default is 10s):
    gnmic -a {{ip:port}} subscribe --path {{path}} --sample-interval 30s
  • Subscribe to a target with sample interval and updates only on change:
    gnmic -a {{ip:port}} subscribe --path {{path}} --stream-mode on-change --heartbeat-interval 1m
  • Subscribe to a target for only one update:
    gnmic -a {{ip:port}} subscribe --path {{path}} --mode once
  • Subscribe to a target and specify response encoding (json_ietf):
    gnmic -a {{ip:port}} subscribe --path {{path}} --encoding json_ietf

aws iam

CLI for AWS IAM. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/index.html.
  • Show aws iam help page (including all available iam commands):
    aws iam help
  • List users:
    aws iam list-users
  • List policies:
    aws iam list-policies
  • List groups:
    aws iam list-groups
  • Get users in a group:
    aws iam get-group --group-name {{group_name}}
  • Describe an IAM policy:
    aws iam get-policy --policy-arn arn:aws:iam::aws:policy/{{policy_name}}
  • List access keys:
    aws iam list-access-keys
  • List access keys for a specific user:
    aws iam list-access-keys --user-name {{user_name}}

svgcleaner

SVG optimizing utility. More information: https://github.com/RazrFalcon/svgcleaner.
  • Optimize an SVG:
    svgcleaner {{input.svg}} {{output.svg}}
  • Optimize an SVG multiple times:
    svgcleaner --multipass {{input.svg}} {{output.svg}}

hg root

Display the root location of a Hg repository. More information: https://www.mercurial-scm.org/doc/hg.1.html#root.
  • Display the root location of the current repository:
    hg root
  • Display the root location of the specified repository:
    hg root --cwd {{path/to/directory}}

lzcmp

This command is an alias of xzcmp.
  • View documentation for the original command:
    tldr xzcmp

k8sec

Command-line interface tool to manage Kubernetes secrets. More information: https://github.com/dtan4/k8sec.
  • List all secrets:
    k8sec list
  • List a specific secret as a base64-encoded string:
    k8sec list {{secret_name}} --base64
  • Set a secret's value:
    k8sec set {{secret_name}} {{key=value}}
  • Set a base64-encoded value:
    k8sec set --base64 {{secret_name}} {{key=encoded_value}}
  • Unset a secret:
    k8sec unset {{secret_name}}
  • Load secrets from a file:
    k8sec load -f {{path/to/file}} {{secret_name}}
  • Dump secrets to a file:
    k8sec dump -f {{path/to/file}} {{secret_name}}

couchdb

Command-line interface for Apache CouchDB database server. More information: https://couchdb.apache.org.
  • Start CouchDB:
    couchdb
  • Start CouchDB interactive shell:
    couchdb -i
  • Start CouchDB as a background process:
    couchdb -b
  • Kill the background process (Note: It will respawn if needed):
    couchdb -k
  • Shutdown the background process:
    couchdb -d

Stormlock

Centralized locking system. More information: https://github.com/tmccombs/stormlock.
  • Acquire a lease for resource:
    stormlock acquire {{resource}}
  • Release the given lease for the given resource:
    stormlock release {{resource}} {{lease_id}}
  • Show information on the current lease for a resource, if any:
    stormlock current {{resource}}
  • Test if a lease for given resource is currently active:
    stormlock is-held {{resource}} {{lease_id}}

micro

Micro is a modern and intuitive terminal-based text editor. You can use your keyboard, but also your mouse to navigate and/or select text. More information: https://micro-editor.github.io.
  • Open a file:
    micro {{path/to/file}}
  • Save a file:
    Ctrl + S
  • Cut the entire line:
    Ctrl + K
  • Search for a pattern in the file (press Ctrl + N/Ctrl + P to go to next/previous match):
    Ctrl + F "{{pattern}}" <Enter>
  • Execute a command:
    Ctrl + E {{command}} <Enter>
  • Perform a substitution in the whole file:
    Ctrl + E replaceall "{{pattern}}" "{{replacement}}" <Enter>
  • Quit:
    Ctrl + Q

az appconfig

Manage App configurations on Azure. Part of az, the command-line client for Microsoft Azure. More information: https://learn.microsoft.com/cli/azure/appconfig.
  • Create an App Configuration:
    az appconfig create --name {{name}} --resource-group {{group_name}} --location {{location}}
  • Delete a specific App Configuration:
    az appconfig delete --resource-group {{rg_name}} --name {{appconfig_name}}
  • List all App Configurations under the current subscription:
    az appconfig list
  • List all App Configurations under a specific resource group:
    az appconfig list --resource-group {{rg_name}}
  • Show properties of an App Configuration:
    az appconfig show --name {{appconfig_name}}
  • Update a specific App Configuration:
    az appconfig update --resource-group {{rg_name}} --name {{appconfig_name}}

ansible-doc

Display information on modules installed in Ansible libraries. Display a terse listing of plugins and their short descriptions. More information: https://docs.ansible.com/ansible/latest/cli/ansible-doc.html.
  • List available action plugins (modules):
    ansible-doc --list
  • List available plugins of a specific type:
    ansible-doc --type {{become|cache|callback|cliconf|connection|...}} --list
  • Show information about a specific action plugin (module):
    ansible-doc {{plugin_name}}
  • Show information about a plugin with a specific type:
    ansible-doc --type {{become|cache|callback|cliconf|connection|...}} {{plugin_name}}
  • Show the playbook snippet for action plugin (modules):
    ansible-doc --snippet {{plugin_name}}
  • Show information about an action plugin (module) as JSON:
    ansible-doc --json {{plugin_name}}

virsh-help

Display information about virsh commands or command groups. See also: virsh. More information: https://manned.org/virsh.
  • List the virsh commands grouped into related categories:
    virsh help
  • List the command categories:
    virsh help | grep "keyword"
  • List the commands in a category:
    virsh help {{category_keyword}}
  • Show help for a command:
    virsh help {{command}}

tsv-filter

Filter lines of a TSV file by running tests against individual fields. More information: https://github.com/eBay/tsv-utils#tsv-filter.
  • Print the lines where a specific column is numerically equal to a given number:
    tsv-filter -H --eq {{field_name}}:{{number}} {{path/to/tsv_file}}
  • Print the lines where a specific column is [eq]ual/[n]on [e]qual/[l]ess [t]han/[l]ess than or [e]qual/[g]reater [t]han/[g]reater than or [e]qual to a given number:
    tsv-filter --{{eq|ne|lt|le|gt|ge}} {{column_number}}:{{number}} {{path/to/tsv_file}}
  • Print the lines where a specific column is [eq]ual/[n]ot [e]qual/part of/not part of a given string:
    tsv-filter --str-{{eq|ne|in-fld|not-in-fld}} {{column_number}}:{{string}} {{path/to/tsv_file}}
  • Filter for non-empty fields:
    tsv-filter --not-empty {{column_number}} {{path/to/tsv_file}}
  • Print the lines where a specific column is empty:
    tsv-filter --invert --not-empty {{column_number}} {{path/to/tsv_file}}
  • Print the lines that satisfy two conditions:
    tsv-filter --eq {{column_number1}}:{{number}} --str-eq {{column_number2}}:{{string}} {{path/to/tsv_file}}
  • Print the lines that match at least one condition:
    tsv-filter --or --eq {{column_number1}}:{{number}} --str-eq {{column_number2}}:{{string}} {{path/to/tsv_file}}
  • Count matching lines, interpreting first line as a [H]eader:
    tsv-filter --count -H --eq {{field_name}}:{{number}} {{path/to/tsv_file}}

stern

Tail multiple pods and containers from Kubernetes. More information: https://github.com/wercker/stern/.
  • Tail all pods within a current namespace:
    stern .
  • Tail all pods with a specific status:
    stern . --container-state {{running|waiting|terminated}}
  • Tail all pods that matches a given regular expression:
    stern {{pod_query}}
  • Tail matched pods from all namespaces:
    stern {{pod_query}} --all-namespaces
  • Tail matched pods from 15 minutes ago:
    stern {{pod_query}} --since {{15m}}
  • Tail matched pods with a specific label:
    stern {{pod_query}} --selector {{release=canary}}

git delta

List files that differ from another branch. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-delta.
  • List files from the current checked out branch that differ from the main branch:
    git delta {{main}}
  • List files from a specific branch that differ from another specific branch:
    git delta {{branch_1}} {{branch_2}}

docker commit

Create a new image from a container’s changes. More information: https://docs.docker.com/engine/reference/commandline/commit/.
  • Create an image from a specific container:
    docker commit {{container}} {{image}}:{{tag}}
  • Apply a CMD Dockerfile instruction to the created image:
    docker commit --change="CMD {{command}}" {{container}} {{image}}:{{tag}}
  • Apply an ENV Dockerfile instruction to the created image:
    docker commit --change="ENV {{name}}={{value}}" {{container}} {{image}}:{{tag}}
  • Create an image with a specific author in the metadata:
    docker commit --author="{{author}}" {{container}} {{image}}:{{tag}}
  • Create an image with a specific comment in the metadata:
    docker commit --message="{{comment}}" {{container}} {{image}}:{{tag}}
  • Create an image without pausing the container during commit:
    docker commit --pause={{false}} {{container}} {{image}}:{{tag}}
  • Display help:
    docker commit --help

stl2gts

Convert STL files into the GTS (GNU triangulated surface library) file format. More information: https://manned.org/stl2gts.
  • Convert an STL file to a GTS file:
    stl2gts < {{path/to/file.stl}} > {{path/to/file.gts}}
  • Convert an STL file to a GTS file and revert face normals:
    stl2gts --revert < {{path/to/file.stl}} > {{path/to/file.gts}}
  • Convert an STL file to a GTS file and do not merge vertices:
    stl2gts --nomerge < {{path/to/file.stl}} > {{path/to/file.gts}}
  • Convert an STL file to a GTS file and display surface statistics:
    stl2gts --verbose < {{path/to/file.stl}} > {{path/to/file.gts}}
  • Print help for stl2gts:
    stl2gts --help

dvc dag

Visualize the pipeline(s) defined in dvc.yaml. More information: https://dvc.org/doc/command-reference/dag.
  • Visualize the entire pipeline:
    dvc dag
  • Visualize the pipeline stages up to a specified target stage:
    dvc dag {{target}}
  • Export the pipeline in the dot format:
    dvc dag --dot > {{path/to/pipeline.dot}}

git scp

Copy files from the current working tree to the working directory of a remote repository. Part of git-extras. Uses rsync to transfer files. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-scp.
  • Copy unstaged files to a specific remote:
    git scp {{remote_name}}
  • Copy staged and unstaged files to a remote:
    git scp {{remote_name}} HEAD
  • Copy files that has been changed in the last commit and any staged or unstaged files to a remote:
    git scp {{remote_name}} HEAD~1
  • Copy specific files to a remote:
    git scp {{remote_name}} {{path/to/file1 path/to/file2 ...}}
  • Copy a specific directory to a remote:
    git scp {{remote_name}} {{path/to/directory}}

yq

A lightweight and portable command-line YAML processor. More information: https://mikefarah.gitbook.io/yq/.
  • Output a YAML file, in pretty-print format (v4+):
    yq eval {{path/to/file.yaml}}
  • Output a YAML file, in pretty-print format (v3):
    yq read {{path/to/file.yaml}} --colors
  • Output the first element in a YAML file that contains only an array (v4+):
    yq eval '.[0]' {{path/to/file.yaml}}
  • Output the first element in a YAML file that contains only an array (v3):
    yq read {{path/to/file.yaml}} '[0]'
  • Set (or overwrite) a key to a value in a file (v4+):
    yq eval '.{{key}} = "{{value}}"' --inplace {{path/to/file.yaml}}
  • Set (or overwrite) a key to a value in a file (v3):
    yq write --inplace {{path/to/file.yaml}} '{{key}}' '{{value}}'
  • Merge two files and print to stdout (v4+):
    yq eval-all 'select(filename == "{{path/to/file1.yaml}}") * select(filename == "{{path/to/file2.yaml}}")' {{path/to/file1.yaml}} {{path/to/file2.yaml}}
  • Merge two files and print to stdout (v3):
    yq merge {{path/to/file1.yaml}} {{path/to/file2.yaml}} --colors

pio device

Manage and monitor PlatformIO devices. More information: https://docs.platformio.org/en/latest/core/userguide/device/.
  • List all available serial ports:
    pio device list
  • List all available logical devices:
    pio device list --logical
  • Start an interactive device monitor:
    pio device monitor
  • Start an interactive device monitor and listen to a specific port:
    pio device monitor --port {{/dev/ttyUSBX}}
  • Start an interactive device monitor and set a specific baud rate (defaults to 9600):
    pio device monitor --baud {{57600}}
  • Start an interactive device monitor and set a specific EOL character (defaults to CRLF):
    pio device monitor --eol {{CRLF|CR|LF}}
  • Go to the menu of the interactive device monitor:
    Ctrl + T

highlight

Outputs syntax-highlighted source code to a variety of formats. More information: http://www.andre-simon.de/doku/highlight/highlight.php.
  • Produce a complete HTML document from a source code file:
    highlight --out-format={{html}} --style {{theme_name}} --syntax {{language}} {{path/to/source_code}}
  • Produce an HTML fragment, suitable for inclusion in a larger document:
    highlight --out-format={{html}} --fragment --syntax {{language}} {{source_file}}
  • Inline the CSS styling in every tag:
    highlight --out-format={{html}} --inline-css --syntax {{language}} {{source_file}}
  • List all supported languages, themes, or plugins:
    highlight --list-scripts {{langs|themes|plugins}}
  • Print a CSS stylesheet for a theme:
    highlight --out-format={{html}} --print-style --style {{theme_name}} --syntax {{language}}] --stdout

deno

A secure runtime for JavaScript and TypeScript. More information: https://deno.land.
  • Run a JavaScript or TypeScript file:
    deno run {{path/to/file.ts}}
  • Start a REPL (interactive shell):
    deno
  • Run a file with network access enabled:
    deno run --allow-net {{path/to/file.ts}}
  • Run a file from a URL:
    deno run {{https://deno.land/std/examples/welcome.ts}}
  • Install an executable script from a URL:
    deno install {{https://deno.land/std/examples/colors.ts}}

ionice

Get or set program I/O scheduling class and priority. Scheduling classes: 1 (realtime), 2 (best-effort), 3 (idle). Priority levels: 0 (the highest) - 7 (the lowest). More information: https://manned.org/ionice.
  • Set I/O scheduling class of a running process:
    ionice -c {{scheduling_class}} -p {{pid}}
  • Run a command with custom I/O scheduling class and priority:
    ionice -c {{scheduling_class}} -n {{priority}} {{command}}
  • Print the I/O scheduling class and priority of a running process:
    ionice -p {{pid}}

mongod

The MongoDB database server. More information: https://docs.mongodb.com/manual/reference/program/mongod.
  • Specify the storage directory (default: /data/db on Linux and MacOS, C:\data\db on Windows):
    mongod --dbpath {{path/to/directory}}
  • Specify a config file:
    mongod --config {{path/to/file}}
  • Specify the port to listen on (default: 27017):
    mongod --port {{port}}
  • Specify the database profiling level. 0 is off, 1 is only slow operations, 2 is all (default: 0):
    mongod --profile {{0|1|2}}

asdf

Command-line interface for managing versions of different packages. More information: https://asdf-vm.com.
  • List all available plugins:
    asdf plugin list all
  • Install a plugin:
    asdf plugin add {{name}}
  • List all available versions for a package:
    asdf list all {{name}}
  • Install a specific version of a package:
    asdf install {{name}} {{version}}
  • Set global version for a package:
    asdf global {{name}} {{version}}
  • Set local version for a package:
    asdf local {{name}} {{version}}

security-checker

Check if a PHP application uses dependencies with known security vulnerabilities. More information: https://github.com/sensiolabs/security-checker.
  • Look for security issues in the project dependencies (based on the composer.lock file in the current directory):
    security-checker security:check
  • Use a specific composer.lock file:
    security-checker security:check {{path/to/composer.lock}}
  • Return results as a JSON object:
    security-checker security:check --format=json

compgen

A built-in command for auto-completion in Bash, which is called on pressing TAB key twice. More information: https://www.gnu.org/software/bash/manual/bash.html#index-compgen.
  • List all commands that you could run:
    compgen -c
  • List all aliases:
    compgen -a
  • List all functions that you could run:
    compgen -A function
  • Show shell reserved keywords:
    compgen -k
  • See all available commands/aliases starting with 'ls':
    compgen -ac {{ls}}

bw

Access and manage a Bitwarden vault. More information: https://help.bitwarden.com/article/cli/.
  • Log in to a Bitwarden user account:
    bw login
  • Log out of a Bitwarden user account:
    bw logout
  • Search and display items from Bitwarden vault:
    bw list items --search {{github}}
  • Display a particular item from Bitwarden vault:
    bw get item {{github}}
  • Create a folder in Bitwarden vault:
    {{echo -n '{"name":"My Folder1"}' | base64}} | bw create folder

go

Tool for managing go source code. Some subcommands such as go build have their own usage documentation. More information: https://golang.org.
  • Download and install a package, specified by its import path:
    go get {{package_path}}
  • Compile and run a source file (it has to contain a main package):
    go run {{file}}.go
  • Compile a source file into a named executable:
    go build -o {{executable}} {{file}}.go
  • Compile the package present in the current directory:
    go build
  • Execute all test cases of the current package (files have to end with _test.go):
    go test
  • Compile and install the current package:
    go install
  • Initialize a new module in the current directory:
    go mod init {{module_name}}

fc-list

List available fonts installed on the system. More information: https://manned.org/fc-list.
  • Return a list of installed fonts in your system:
    fc-list
  • Return a list of installed fonts with given name:
    fc-list | grep '{{DejaVu Serif}}'
  • Return the number of installed fonts in your system:
    fc-list | wc -l

sup

A tool for managing an RSS feed contained in the current directory. See also: lb. More information: https://github.com/LukeSmithxyz/lb.
  • Add an article to the RSS feed:
    sup {{path/to/file.html}}

nm

List symbol names in object files. More information: https://manned.org/nm.
  • List global (extern) functions in a file (prefixed with T):
    nm -g {{path/to/file.o}}
  • List only undefined symbols in a file:
    nm -u {{path/to/file.o}}
  • List all symbols, even debugging symbols:
    nm -a {{path/to/file.o}}
  • Demangle C++ symbols (make them readable):
    nm --demangle {{path/to/file.o}}

git bulk

Execute operations on multiple Git repositories. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-bulk.
  • Register the current directory as a workspace:
    git bulk --addcurrent {{workspace_name}}
  • Register a workspace for bulk operations:
    git bulk --addworkspace {{workspace_name}} {{/absolute/path/to/repository}}
  • Clone a repository inside a specific directory then register the repository as a workspace:
    git bulk --addworkspace {{workspace_name}} {{/absolute/path/to/parent_directory}} --from {{remote_repository_location}}
  • Clone repositories from a newline-separated list of remote locations then register them as workspaces:
    git bulk --addworkspace {{workspace-name}} {{absolute/path/to/root/directory}} --from {{absolute/path/to/file}}
  • List all registered workspaces:
    git bulk --listall
  • Run a Git command on the repositories of the current workspace:
    git bulk {{command}} {{command_arguments}}
  • Remove a specific workspace:
    git bulk --removeworkspace {{workspace_name}}
  • Remove all workspaces:
    git bulk --purge

redis-cli

Opens a connection to a Redis server. More information: https://redis.io/topics/rediscli.
  • Connect to the local server:
    redis-cli
  • Connect to a remote server on the default port (6379):
    redis-cli -h {{host}}
  • Connect to a remote server specifying a port number:
    redis-cli -h {{host}} -p {{port}}
  • Connect to a remote server specifying a URI:
    redis-cli -u {{uri}}
  • Specify a password:
    redis-cli -a {{password}}
  • Execute Redis command:
    redis-cli {{redis_command}}
  • Connect to the local cluster:
    redis-cli -c

bg

Resumes jobs that have been suspended (e.g. using Ctrl + Z), and keeps them running in the background. More information: https://manned.org/bg.
  • Resume the most recently suspended job and run it in the background:
    bg
  • Resume a specific job (use jobs -l to get its ID) and run it in the background:
    bg %{{job_id}}

xzdiff

Invokes diff on files compressed with xz, lzma, gzip, bzip2, lzop, or zstd. All options specified are passed directly to diff. More information: https://manned.org/xzdiff.
  • Compare files:
    xzdiff {{path/to/file1}} {{path/to/file2}}
  • Compare files, showing the differences side by side:
    xzdiff --side-by-side {{path/to/file1}} {{path/to/file2}}
  • Compare files and report only that they differ (no details on what is different):
    xzdiff --brief {{path/to/file1}} {{path/to/file2}}
  • Compare files and report when the files are the same:
    xzdiff --report-identical-files {{path/to/file1}} {{path/to/file2}}
  • Compare files using paginated results:
    xzdiff --paginate {{path/to/file1}} {{path/to/file2}}

tectonic

A modern, self-contained TeX/LaTeX engine. More information: https://tectonic-typesetting.github.io/book/latest.
  • Compile a standalone TeX/LaTeX file:
    tectonic -X compile {{path/to/file.tex}}
  • Compile a standalone TeX/LaTeX file with synctex data:
    tectonic -X compile --synctex {{path/to/file.tex}}
  • Initialize a tectonic project in the current directory:
    tectonic -X init
  • Initialize a tectonic project in the specified directory:
    tectonic -X new {{project_name}}
  • Build the project in the current directory:
    tectonic -X build
  • Start a watcher to build the project in the current directory on change:
    tectonic -X watch

srm

Securely remove files or directories. Overwrites the existing data one or multiple times. Drop in replacement for rm. More information: http://srm.sourceforge.net/srm.html.
  • Remove a file after a single-pass overwriting with random data:
    srm -s {{path/to/file}}
  • Remove a file after seven passes of overwriting with random data:
    srm -m {{path/to/file}}
  • Recursively remove a directory and its contents overwriting each file with a single-pass of random data:
    srm -r -s {{path/to/directory}}
  • Prompt before every removal:
    srm -i {{\*}}

keepassxc-cli

Command-line interface for KeepassXC. More information: https://manned.org/keepassxc-cli.
  • Search entries:
    keepassxc-cli lookup {{path/to/database_file}} {{name}}
  • List the contents of a folder:
    keepassxc-cli ls {{path/to/database_file}} {{/path/to/directory}}
  • Add an entry with an auto-generated password:
    keepassxc-cli add --generate {{path/to/database_file}} {{entry_name}}
  • Delete an entry:
    keepassxc-cli rm {{path/to/database_file}} {{entry_name}}
  • Copy an entry's password to the clipboard:
    keepassxc-cli clip {{path/to/database_file}} {{entry_name}}
  • Copy a TOTP code to the clipboard:
    keepassxc-cli clip --totp {{path/to/database_file}} {{entry_name}}
  • Generate a passphrase with 7 words:
    keepassxc-cli diceware --words {{7}}
  • Generate a password with 16 printable ASCII characters:
    keepassxc-cli generate --lower --upper --numeric --special --length {{16}}

pest

A PHP testing framework with a focus on simplicity. More information: https://pestphp.com.
  • Initialize a standard Pest configuration in the current directory:
    pest --init
  • Run tests in the current directory:
    pest
  • Run tests annotated with the given group:
    pest --group {{name}}
  • Run tests and print the coverage report to stdout:
    pest --coverage
  • Run tests with coverage and fail if the coverage is less than the minimum percentage:
    pest --coverage --min={{80}}

dotnet restore

Restores the dependencies and tools of a .NET project. More information: https://learn.microsoft.com/dotnet/core/tools/dotnet-restore.
  • Restore dependencies for a .NET project or solution in the current directory:
    dotnet restore
  • Restore dependencies for a .NET project or solution in a specific location:
    dotnet restore {{path/to/project_or_solution}}
  • Restore dependencies without caching the HTTP requests:
    dotnet restore --no-cache
  • Force all dependencies to be resolved even if the last restore was successful:
    dotnet restore --force
  • Restore dependencies using package source failures as warnings:
    dotnet restore --ignore-failed-sources
  • Restore dependencies with a specific verbosity level:
    dotnet restore --verbosity {{quiet|minimal|normal|detailed|diagnostic}}

sftp

Secure File Transfer Program. Interactive program to copy files between hosts over SSH. For non-interactive file transfers, see scp or rsync. More information: https://manned.org/sftp.
  • Connect to a remote server and enter an interactive command mode:
    sftp {{remote_user}}@{{remote_host}}
  • Connect using an alternate port:
    sftp -P {{remote_port}} {{remote_user}}@{{remote_host}}
  • Connect using a predefined host (in ~/.ssh/config):
    sftp {{host}}
  • Transfer remote file to the local system:
    get {{/path/remote_file}}
  • Transfer local file to the remote system:
    put {{/path/local_file}}
  • Transfer remote directory to the local system recursively (works with put too):
    get -R {{/path/remote_directory}}
  • Get list of files on local machine:
    lls
  • Get list of files on remote machine:
    ls

linode-cli account

Manage Linode accounts. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/account/.
  • View account:
    linode-cli account view
  • View account settings:
    linode-cli account settings
  • Make a payment:
    linode-cli account payment-create --cvv {{cvv}} --usd {{amount_in_dollars}}
  • View account notifications:
    linode-cli account notifications-list

nix develop

Run a bash shell that provides the build environment of a derivation. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-develop.html.
  • Start a shell with all dependencies of a package from nixpkgs available:
    nix develop {{nixpkgs#pkg}}
  • Start a development shell for the default package in a flake in the current directory:
    nix develop
  • In that shell, configure and build the sources:
    configurePhase; buildPhase

gh run

View, run and watch recent GitHub Actions workflow runs. More information: https://cli.github.com/manual/gh_run.
  • Interactively select a run to see information about the jobs:
    gh run view
  • Display information about a specific run:
    gh run view {{workflow_run_number}}
  • Display information about the steps of a job:
    gh run view --job={{job_number}}
  • Display the log of a job:
    gh run view --job={{job_number}} --log
  • Check a specific workflow and exit with a non-zero status if the run failed:
    gh run view {{workflow_run_number}} --exit-status && {{echo "run pending or passed"}}
  • Interactively select an active run and wait until it's done:
    gh run watch
  • Display the jobs for a run and wait until it's done:
    gh run watch {{workflow_run_number}}
  • Re-run a specific workflow:
    gh run rerun {{workflow_run_number}}

gdal2tiles.py

Generate TMS or XYZ tiles for a raster dataset. More information: https://gdal.org/programs/gdal2tiles.html.
  • Generate TMS tiles for the zoom levels 2-5 of a raster dataset:
    gdal2tiles.py --zoom={{2-5}} {{path/to/input.tif}} {{path/to/output_directory}}
  • Generate XYZ tiles for the zoom levels 2-5 of a raster dataset:
    gdal2tiles.py --zoom={{2-5}} --xyz {{path/to/input.tif}} {{path/to/output_directory}}

enscript

Convert text files to PostScript, HTML, RTF, ANSI, and overstrikes. More information: https://www.gnu.org/software/enscript.
  • Generate a PostScript file from a text file:
    enscript {{path/to/input_file}} --output={{path/to/output_file}}
  • Generate a file in a different language than PostScript:
    enscript {{path/to/input_file}} --language={{html|rtf|...}} --output={{path/to/output_file}}
  • Generate a PostScript file with a landscape layout, splitting the page into columns (maximum 9):
    enscript {{path/to/input_file}} --columns={{num}} --landscape --output={{path/to/output_file}}
  • Display available syntax highlighting languages and file formats:
    enscript --help-highlight
  • Generate a PostScript file with syntax highlighting and color for a specified language:
    enscript {{path/to/input_file}} --color=1 --highlight={{language}} --output={{path/to/output_file}}

airodump-ng

Capture packets and display information about wireless networks. Part of aircrack-ng. More information: https://www.aircrack-ng.org/doku.php?id=airodump-ng.
  • Capture packets and display information about a wireless network:
    sudo airodump-ng {{interface}}
  • Capture packets and display information about a wireless network given the MAC address and channel, and save the output to a file:
    sudo airodump-ng --channel {{channel}} --write {{path/to/file}} --bssid {{mac}} {{interface}}

octave

GNU Octave is a programming language for scientific computing. More information: https://docs.octave.org/latest/Invoking-Octave-from-the-Command-Line.html.
  • Start an interactive session:
    octave
  • Execute a specific script file:
    octave {{path/to/script.m}}
  • Execute a script file with specific arguments:
    octave {{path/to/script.m}} {{argument1 argument2 ...}}
  • Start an interactive session with a GUI:
    octave --gui
  • Display help:
    octave --help
  • Display version:
    octave --version

brew bundle

Bundler for Homebrew, Homebrew Cask and the Mac App Store. More information: https://github.com/Homebrew/homebrew-bundle.
  • Install packages from a Brewfile at the current path:
    brew bundle
  • Install packages from a specific Brewfile at a specific path:
    brew bundle --file={{path/to/file}}
  • Create a Brewfile from all installed packages:
    brew bundle dump
  • Uninstall all formulae not listed in the Brewfile:
    brew bundle cleanup --force
  • Check if there is anything to install or upgrade in the Brewfile:
    brew bundle check
  • Output a list of all entries in the Brewfile:
    brew bundle list --all

autojump

Quickly jump among the directories you visit the most. Aliases like j or jc are provided for even less typing. More information: https://github.com/wting/autojump.
  • Jump to a directory that contains the given pattern:
    j {{pattern}}
  • Jump to a sub-directory (child) of the current directory that contains the given pattern:
    jc {{pattern}}
  • Open a directory that contains the given pattern in the operating system file manager:
    jo {{pattern}}
  • Remove non-existing directories from the autojump database:
    j --purge
  • Show the entries in the autojump database:
    j -s

gunicorn

Python WSGI HTTP Server. More information: https://gunicorn.org/.
  • Run Python web app:
    gunicorn {{import.path:app_object}}
  • Listen on port 8080 on localhost:
    gunicorn --bind {{localhost}}:{{8080}} {{import.path:app_object}}
  • Turn on live reload:
    gunicorn --reload {{import.path:app_object}}
  • Use 4 worker processes for handling requests:
    gunicorn --workers {{4}} {{import.path:app_object}}
  • Use 4 worker threads for handling requests:
    gunicorn --threads {{4}} {{import.path:app_object}}
  • Run app over HTTPS:
    gunicorn --certfile {{cert.pem}} --keyfile {{key.pem}} {{import.path:app_object}}

trawl

Prints out network interface information to the console, much like ifconfig/ipconfig/ip/ifdata. More information: https://github.com/robphoenix/trawl.
  • Show column names:
    trawl -n
  • Filter interface names using a case-insensitive regular expression:
    trawl -f wi
  • Get a list of available interfaces:
    trawl -i
  • Include the loopback interface:
    trawl -l

tea

Interact with Gitea servers. More information: https://gitea.com/gitea/tea.
  • Log into a Gitea server:
    tea login add --name "{{name}}" --url "{{url}}" --token "{{token}}"
  • Display all repositories:
    tea repos ls
  • Display a list of issues:
    tea issues ls
  • Display a list of issues for a specific repository:
    tea issues ls --repo "{{repository}}"
  • Create a new issue:
    tea issues create --title "{{title}}" --body "{{body}}"
  • Display a list of open pull requests:
    tea pulls ls
  • Open the current repository in a browser:
    tea open

zegrep

Find extended regular expression patterns in compressed files using egrep. More information: https://www.unix.com/man-page/freebsd/1/zegrep/.
  • Search for extended regular expressions (supporting ?, +, {}, () and |) in a compressed file (case-sensitive):
    zegrep "{{search_pattern}}" {{path/to/file}}
  • Search for extended regular expressions (supporting ?, +, {}, () and |) in a compressed file (case-insensitive):
    zegrep --ignore-case "{{search_pattern}}" {{path/to/file}}
  • Search for lines that do not match a pattern:
    zegrep --invert-match "{{search_pattern}}" {{path/to/file}}
  • Print file name and line number for each match:
    zegrep --with-filename --line-number "{{search_pattern}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    zegrep --only-matching "{{search_pattern}}" {{path/to/file}}
  • Recursively search files in a compressed file for a pattern:
    zegrep --recursive "{{search_pattern}}" {{path/to/file}}

docker build

Build an image from a Dockerfile. More information: https://docs.docker.com/engine/reference/commandline/build/.
  • Build a docker image using the Dockerfile in the current directory:
    docker build .
  • Build a docker image from a Dockerfile at a specified URL:
    docker build {{github.com/creack/docker-firefox}}
  • Build a docker image and tag it:
    docker build --tag {{name:tag}} .
  • Build a docker image with no build context:
    docker build --tag {{name:tag}} - < {{Dockerfile}}
  • Do not use the cache when building the image:
    docker build --no-cache --tag {{name:tag}} .
  • Build a docker image using a specific Dockerfile:
    docker build --file {{Dockerfile}} .
  • Build with custom build-time variables:
    docker build --build-arg {{HTTP_PROXY=http://10.20.30.2:1234}} --build-arg {{FTP_PROXY=http://40.50.60.5:4567}} .

gcpdiag

Google Cloud Platform troubleshooting and diagnostics tool. Run in a docker container or in GCP Cloudshell. More information: https://github.com/GoogleCloudPlatform/gcpdiag.
  • Run gcpdiag on your project, returning all rules:
    gcpdiag lint --project={{gcp_project_id}}
  • Hide rules that are ok:
    gcpdiag lint --project={{gcp_project_id}} --hide-ok
  • Authenticate using a service account private key file:
    gcpdiag lint --project={{gcp_project_id}} --auth-key {{path/to/private_key}}
  • Search logs and metrics from a number of days back (default: 3 days):
    gcpdiag lint --project={{gcp_project_id}} --within-days {{number}}
  • Display help:
    gcpdiag lint --help

bundletool

Command-line tool to manipulate Android Application Bundles. Some subcommands such as bundletool validate have their own usage documentation. More information: https://developer.android.com/studio/command-line/bundletool.
  • Display help for a subcommand:
    bundletool help {{subcommand}}
  • Generate APKs from an application bundle (prompts for keystore password):
    bundletool build-apks --bundle={{path/to/bundle.aab}} --ks={{path/to/key.keystore}} --ks-key-alias={{key_alias}} --output={{path/to/file.apks}}
  • Generate APKs from an application bundle giving the keystore password:
    bundletool build-apks --bundle={{path/to/bundle.aab}} --ks={{path/to/key.keystore}} --ks-key-alias={{key_alias}} –ks-pass={{pass:the_password}} --output={{path/to/file.apks}}
  • Generate APKs including only one single APK for universal usage:
    bundletool build-apks --bundle={{path/to/bundle.aab}} --mode={{universal}} --ks={{path/to/key.keystore}} --ks-key-alias={{key_alias}} --output={{path/to/file.apks}}
  • Install the right combination of APKs to an emulator or device:
    bundletool install-apks --apks={{path/to/file.apks}}
  • Estimate the download size of an application:
    bundletool get-size total --apks={{path/to/file.apks}}
  • Generate a device specification JSON file for an emulator or device:
    bundletool get-device-spec --output={{path/to/file.json}}
  • Verify a bundle and display detailed information about it:
    bundletool validate --bundle={{path/to/bundle.aab}}

groups

Print group memberships for a user. See also: groupadd, groupdel, groupmod. More information: https://www.gnu.org/software/coreutils/groups.
  • Print group memberships for the current user:
    groups
  • Print group memberships for a list of users:
    groups {{username1 username2 ...}}

bird

BIRD Internet Routing Daemon. Routing daemon with support for BGP, OSPF, Babel and others. More information: https://bird.network.cz/.
  • Start Bird with a specific configuration file:
    bird -c {{path/to/bird.conf}}
  • Start Bird as a specific user and group:
    bird -u {{username}} -g {{group}}

binwalk

Firmware Analysis Tool. More information: https://github.com/ReFirmLabs/binwalk.
  • Scan a binary file:
    binwalk {{path/to/binary}}
  • Extract files from a binary, specifying the output directory:
    binwalk --extract --directory {{output_directory}} {{path/to/binary}}
  • Recursively extract files from a binary limiting the recursion depth to 2:
    binwalk --extract --matryoshka --depth {{2}} {{path/to/binary}}
  • Extract files from a binary with the specified file signature:
    binwalk --dd '{{png image:png}}' {{path/to/binary}}
  • Analyze the entropy of a binary, saving the plot with the same name as the binary and .png extension appended:
    binwalk --entropy --save {{path/to/binary}}
  • Combine entropy, signature and opcodes analysis in a single command:
    binwalk --entropy --signature --opcodes {{path/to/binary}}


git commit-tree

Low level utility to create commit objects. See also: git commit. More information: https://git-scm.com/docs/git-commit-tree.
  • Create a commit object with the specified message:
    git commit-tree {{tree}} -m "{{message}}"
  • Create a commit object reading the message from a file (use - for stdin):
    git commit-tree {{tree}} -F {{path/to/file}}
  • Create a GPG-signed commit object:
    git commit-tree {{tree}} -m "{{message}}" --gpg-sign
  • Create a commit object with the specified parent commit object:
    git commit-tree {{tree}} -m "{{message}}" -p {{parent_commit_sha}}

sudo

Executes a single command as the superuser or another user. More information: https://www.sudo.ws/sudo.html.
  • Run a command as the superuser:
    sudo {{less /var/log/syslog}}
  • Edit a file as the superuser with your default editor:
    sudo --edit {{/etc/fstab}}
  • Run a command as another user and/or group:
    sudo --user={{user}} --group={{group}} {{id -a}}
  • Repeat the last command prefixed with sudo (only in bash, zsh, etc.):
    sudo !!
  • Launch the default shell with superuser privileges and run login-specific files (.profile, .bash_profile, etc.):
    sudo --login
  • Launch the default shell with superuser privileges without changing the environment:
    sudo --shell
  • Launch the default shell as the specified user, loading the user's environment and reading login-specific files (.profile, .bash_profile, etc.):
    sudo --login --user={{user}}
  • List the allowed (and forbidden) commands for the invoking user:
    sudo --list

bat

Print and concatenate files. A cat clone with syntax highlighting and Git integration. More information: https://github.com/sharkdp/bat.
  • Print the contents of a file to stdout:
    bat {{path/to/file}}
  • Concatenate several files into the target file:
    bat {{file1}} {{file2}} > {{target_file}}
  • Append several files into the target file:
    bat {{file1}} {{file2}} >> {{target_file}}
  • Number all output lines:
    bat --number {{path/to/file}}
  • Syntax highlight a JSON file:
    bat --language json {{file.json}}
  • Display all supported languages:
    bat --list-languages

guacd

Apache Guacamole proxy daemon. Support loader for client plugins to interface between the Guacamole protocol and any arbitrary remote desktop protocol (e.g. RDP, VNC, Other). More information: https://guacamole.apache.org/.
  • Bind to a specific port on localhost:
    guacd -b {{127.0.0.1}} -l {{4823}}
  • Start in debug mode, keeping the process in the foreground:
    guacd -f -L {{debug}}
  • Start with TLS support:
    guacd -C {{my-cert.crt}} -K {{my-key.pem}}
  • Write the PID to a file:
    guacd -p {{path/to/file.pid}}

dvc

Data Version Control: like git for data. Some subcommands such as dvc commit have their own usage documentation. More information: https://dvc.org/.
  • Check the DVC version:
    dvc --version
  • Display general help:
    dvc --help
  • Display help about a specific subcommand:
    dvc {{subcommand}} --help
  • Execute a DVC subcommand:
    dvc {{subcommand}}

git cherry-pick

Apply the changes introduced by existing commits to the current branch. To apply changes to another branch, first use git checkout to switch to the desired branch. More information: https://git-scm.com/docs/git-cherry-pick.
  • Apply a commit to the current branch:
    git cherry-pick {{commit}}
  • Apply a range of commits to the current branch (see also git rebase --onto):
    git cherry-pick {{start_commit}}~..{{end_commit}}
  • Apply multiple (non-sequential) commits to the current branch:
    git cherry-pick {{commit_1}} {{commit_2}}
  • Add the changes of a commit to the working directory, without creating a commit:
    git cherry-pick --no-commit {{commit}}

write

Write a message on the terminal of a specified logged in user (ctrl-C to stop writing messages). Use the who command to find out all terminal_ids of all active users active on the system. See also mesg. More information: https://manned.org/write.
  • Send a message to a given user on a given terminal id:
    write {{username}} {{terminal_id}}
  • Send message to "testuser" on terminal /dev/tty/5:
    write {{testuser}} {{tty/5}}
  • Send message to "johndoe" on pseudo terminal /dev/pts/5:
    write {{johndoe}} {{pts/5}}

fkill

Fabulously kill processes. Cross-platform. More information: https://github.com/sindresorhus/fkill.
  • Run without arguments to use the interactive interface:
    fkill
  • Kill the process by PID, name or port:
    fkill {{pid|name|:port}}

paperkey

An OpenPGP key archiver. More information: https://www.jabberwocky.com/software/paperkey/.
  • Take a specific secret key and generate a text file with the secret data:
    paperkey --secret-key {{path/to/secret_key.gpg}} --output {{path/to/secret_data.txt}}
  • Take the secret key data in secret_data.txt and combine it with the public key to reconstruct the secret key:
    paperkey --pubring {{path/to/public_key.gpg}} --secrets {{path/to/secret_data.txt}} --output {{secret_key.gpg}}
  • Export a specific secret key and generate a text file with the secret data:
    gpg --export-secret-key {{key}} | paperkey --output {{path/to/secret_data.txt}}

whois

Command-line client for the WHOIS (RFC 3912) protocol. More information: https://github.com/rfc1036/whois.
  • Get information about a domain name:
    whois {{example.com}}
  • Get information about an IP address:
    whois {{8.8.8.8}}
  • Get abuse contact for an IP address:
    whois -b {{8.8.8.8}}

terragrunt

Keep your Terraform CLI arguments DRY. More information: https://terragrunt.gruntwork.io.
  • Generate and show an execution plan:
    terragrunt plan
  • Build or change infrastructure:
    terragrunt apply
  • Show current deployment (from state):
    terragrunt show
  • Show module output values:
    terragrunt output
  • Destroy Terraform-managed infrastructure:
    terragrunt destroy
  • Build or change infrastructure from a tree of Terragrunt modules (stack):
    terragrunt run-all apply

plantuml

Create UML diagrams from a plain text language and render them in different formats. More information: https://plantuml.com/en/command-line.
  • Render diagrams to default format (PNG):
    plantuml {{diagram1.puml}} {{diagram2.puml}}
  • Render a diagram in given format (e.g. png, pdf, svg, txt):
    plantuml -t {{format}} {{diagram.puml}}
  • Render all diagrams of a directory:
    plantuml {{path/to/diagrams}}
  • Render a diagram to the output directory:
    plantuml -o {{path/to/output}} {{diagram.puml}}
  • Render a diagram with the configuration file:
    plantuml -config {{config.cfg}} {{diagram.puml}}
  • Display help:
    plantuml -help

bpytop

A resource monitor that shows information about the CPU, memory, disks, network and processes. A Python version of bashtop. More information: https://github.com/aristocratos/bpytop.
  • Start bpytop:
    bpytop
  • Start in minimal mode without memory and networking boxes:
    bpytop -m
  • Show version:
    bpytop -v
  • Toggle minimal mode:
    m
  • Search for running programs or processes:
    f
  • Change settings:
    M

git send-email

Send a collection of patches as emails. Patches can be specified as files, directions, or a revision list. More information: https://git-scm.com/docs/git-send-email.
  • Send the last commit in the current branch:
    git send-email -1
  • Send a given commit:
    git send-email -1 {{commit}}
  • Send multiple (e.g. 10) commits in the current branch:
    git send-email {{-10}}
  • Send an introductory email message for the patch series:
    git send-email -{{number_of_commits}} --compose
  • Review and edit the email message for each patch you're about to send:
    git send-email -{{number_of_commits}} --annotate

standard

The JavaScript Standard Style tool for linting and fixing JavaScript code. More information: https://standardjs.com.
  • Lint all JavaScript source files in the current directory:
    standard
  • Lint specific JavaScript file(s):
    standard {{path/to/file1 path/to/file2 ...}}
  • Apply automatic fixes during linting:
    standard --fix
  • Declare any available global variables:
    standard --global {{variable}}
  • Use a custom ESLint plugin when linting:
    standard --plugin {{plugin}}
  • Use a custom JS parser when linting:
    standard --parser {{parser}}
  • Use a custom ESLint environment when linting:
    standard --env {{environment}}

openssl x509

OpenSSL command to manage X.509 certificates. More information: https://www.openssl.org/docs/manmaster/man1/openssl-x509.html.
  • Display certificate information:
    openssl x509 -in {{filename.crt}} -noout -text
  • Display a certificate's expiration date:
    openssl x509 -enddate -noout -in {{filename.pem}}
  • Convert a certificate between binary DER encoding and textual PEM encoding:
    openssl x509 -inform {{der}} -outform {{pem}} -in {{original_certificate_file}} -out {{converted_certificate_file}}
  • Store a certificate's public key in a file:
    openssl x509 -in {{certificate_file}} -noout -pubkey -out {{output_file}}

git reauthor

Change details about an author identity. Since this command rewrites the Git history, --force will be needed when pushing next time. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-reauthor.
  • Change an author's email and name across the whole Git repository:
    git reauthor --old-email {{[email protected]}} --correct-email {{[email protected]}} --correct-name "{{name}}"
  • Change the email and name to the ones defined in the Git config:
    git reauthor --old-email {{[email protected]}} --use-config
  • Change the email and name of all commits, regardless of their original author:
    git reauthor --all --correct-email {{[email protected]}} --correct-name {{name}}

npx

Execute binaries from npm packages. More information: https://github.com/npm/npx.
  • Execute the command from a local or remote npm package:
    npx {{command}} {{argument1 argument2 ...}}
  • In case multiple commands with the same name exist, it is possible to explicitly specify the package:
    npx --package {{package}} {{command}}
  • Run a command if it exists in the current path or in node_modules/.bin:
    npx --no-install {{command}} {{argument1 argument2 ...}}
  • Execute a specific command suppressing any output from npx itself:
    npx --quiet {{command}} {{argument1 argument2 ...}}
  • Display help:
    npx --help

git flow

A collection of Git extensions to provide high-level repository operations. More information: https://github.com/nvie/gitflow.
  • Initialize it inside an existing Git repository:
    git flow init
  • Start developing on a feature branch based on develop:
    git flow feature start {{feature}}
  • Finish development on a feature branch, merging it into the develop branch and deleting it:
    git flow feature finish {{feature}}
  • Publish a feature to the remote server:
    git flow feature publish {{feature}}
  • Get a feature published by another user:
    git flow feature pull origin {{feature}}

masscan

Network scanner for scanning as fast as possible. Best run with elevated privileges. Nmap compatibility run masscan --nmap to find out more. More information: https://github.com/robertdavidgraham/masscan.
  • Scan an IP or network subnet for port 80:
    masscan {{ip_address|network_prefix}} --ports {{80}}
  • Scan a class B subnet for the top 100 ports at 100,000 packets per second:
    masscan {{10.0.0.0/16}} --top-ports {{100}} --rate {{100000}}
  • Scan a class B subnet avoiding ranges from a specific exclude file:
    masscan {{10.0.0.0/16}} --top-ports {{100}} --excludefile {{path/to/file}}
  • Scan the Internet for port 443:
    masscan {{0.0.0.0/0}} --ports {{443}} --rate {{10000000}}
  • Scan the Internet for a specific port range and export to a file:
    masscan {{0.0.0.0/0}} --ports {{0-65535}} -output-format {{binary|grepable|json|list|xml}} --output-filename {{path/to/file}}

host

Lookup Domain Name Server. More information: https://manned.org/host.
  • Lookup A, AAAA, and MX records of a domain:
    host {{domain}}
  • Lookup a field (CNAME, TXT,...) of a domain:
    host -t {{field}} {{domain}}
  • Reverse lookup an IP:
    host {{ip_address}}
  • Specify an alternate DNS server to query:
    host {{domain}} {{8.8.8.8}}

salt-call

Invoke salt locally on a salt minion. More information: https://docs.saltstack.com/ref/cli/salt-call.html.
  • Perform a highstate on this minion:
    salt-call state.highstate
  • Perform a highstate dry-run, compute all changes but don't actually perform them:
    salt-call state.highstate test=true
  • Perform a highstate with verbose debugging output:
    salt-call -l debug state.highstate
  • List this minion's grains:
    salt-call grains.items

git changelog

Generate a changelog report from repository commits and tags. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-changelog.
  • Update existing file or create a new History.md file with the commit messages since the latest Git tag:
    git changelog
  • List commits from the current version:
    git changelog --list
  • List a range of commits from the tag named 2.1.0 to now:
    git changelog --list --start-tag {{2.1.0}}
  • List pretty formatted range of commits between the tag 0.5.0 and the tag 1.0.0:
    git changelog --start-tag {{0.5.0}} --final-tag {{1.0.0}}
  • List pretty formatted range of commits between the commit 0b97430 and the tag 1.0.0:
    git changelog --start-commit {{0b97430}} --final-tag {{1.0.0}}
  • Specify CHANGELOG.md as the output file:
    git changelog {{CHANGELOG.md}}
  • Replace contents of current changelog file entirely:
    git changelog --prune-old

p4

Perforce Version Control System. More information: https://www.perforce.com/manuals/cmdref.
  • Log in to the Perforce service:
    p4 login -a
  • Create a client:
    p4 client
  • Copy files from depot into the client workspace:
    p4 sync
  • Create or edit changelist description:
    p4 change
  • Open a file to edit:
    p4 edit -c {{changelist_number}} {{path/to/file}}
  • Open a new file to add it to the depot:
    p4 add
  • Display list of files modified by changelist:
    p4 describe -c {{changelist_number}}
  • Submit a changelist to the depot:
    p4 submit -c {{changelist_number}}

transmission

Transmission is a simple torrent client. Transmission isn't a command, but a set of commands. See the pages below. More information: https://transmissionbt.com/.
  • Show the tldr page for running Transmission's daemon:
    tldr transmission-daemon
  • Show the tldr page for interacting with the daemon:
    tldr transmission-remote
  • Show the tldr page for creating torrent files:
    tldr transmission-create
  • Show the tldr page for modifying torrent files:
    tldr transmission-edit
  • Show the tldr page for getting info about torrent files:
    tldr transmission-show
  • Show the tldr page for the deprecated method for interacting with the daemon:
    tldr transmission-cli

coproc

Bash builtin for creating interactive asynchronous subshells. More information: https://www.gnu.org/software/bash/manual/bash.html#Coprocesses.
  • Run a subshell asynchronously:
    coproc { {{command1; command2; ...}}; }
  • Create a coprocess with a specific name:
    coproc {{name}} { {{command1; command2; ...}}; }
  • Write to a specific coprocess stdin:
    echo "{{input}}" >&"${{{name}}[1]}"
  • Read from a specific coprocess stdout:
    read {{variable}} <&"${{{name}}[0]}"
  • Create a coprocess which repeatedly reads stdin and runs some commands on the input:
    coproc {{name}} { while read line; do {{command1; command2; ...}}; done }
  • Create and use a coprocess running bc:
    coproc BC { bc --mathlib; }; echo "1/3" >&"${BC[1]}"; read output <&"${BC[0]}"; echo "$output"

fast

Test your download and upload speed using fast.com. More information: https://github.com/sindresorhus/fast-cli.
  • Measure the current download speed:
    fast
  • Measure the current upload speed in addition to download speed:
    fast --upload
  • Display results on a single line to reduce spacing:
    fast --single-line

git extras

Git extension pack. More information: https://github.com/tj/git-extras.
  • Install or upgrade git-extras commands:
    git extras update
  • Display help and subcommands:
    git extras --help
  • Print the version of installed git-extras:
    git extras --version

cb

Cut, copy, and paste anything in the terminal. More information: https://github.com/Slackadays/Clipboard.
  • Show all clipboards:
    cb
  • Copy a file to the clipboard:
    cb copy {{path/to/file}}
  • Copy some text to the clipboard:
    cb copy "{{Some example text}}"
  • Copy piped data to the clipboard:
    echo "{{Some example text}}" | cb
  • Paste clipboard content:
    cb paste
  • Pipe out clipboard content:
    cb | cat
  • Show clipboard history:
    cb history
  • Show clipboard information:
    cb info

wal

A tool to create color schemes based on the dominant colors of a wallpaper. More information: https://github.com/dylanaraps/pywal.
  • Preview color scheme:
    wal --preview {{image.png}}
  • Create color scheme:
    wal -i {{image.png}}
  • Create a light color scheme:
    wal -i {{image.png}} -l
  • Skip setting the desktop wallpaper:
    wal -i {{image.png}} -n
  • Skip setting the terminal colors:
    wal -i {{image.png}} -s
  • Restore the previously generated color scheme and wallpaper:
    wal -R

gitk

A graphical Git repository browser. More information: https://git-scm.com/docs/gitk.
  • Show the repository browser for the current Git repository:
    gitk
  • Show repository browser for a specific file or directory:
    gitk {{path/to/file_or_directory}}
  • Show commits made since 1 week ago:
    gitk --since="{{1 week ago}}"
  • Show commits older than 1/1/2016:
    gitk --until="{{1/1/2015}}"
  • Show at most 100 changes in all branches:
    gitk --max-count={{100}} --all

jmeter

Open source java application designed for load testing functional behavior and measure performance. More information: https://jmeter.apache.org.
  • Run a specific test plan in nongui mode:
    jmeter --nongui --testfile {{path/to/file}}.jmx
  • Run a test plan in nongui mode using a specific log file:
    jmeter --nogui --testfile {{path/to/file}}.jmx --logfile {{path/to/logfile}}.jtl
  • Run a test plan in nongui mode using a specific proxy:
    jmeter --nongui --testfile {{path/to/file}}.jmx --proxyHost {{127.0.0.1}} --proxyPort {{8888}}
  • Run a test plan in nongui mode using a specific JMeter property:
    jmeter --jmeterproperty {{key}}='{{value}}' --nongui --testfile {{path/to/file}}.jmx

VBoxManage

Command-line interface to VirtualBox. Includes all the functionality of the GUI and more. More information: https://www.virtualbox.org/manual/ch08.html#vboxmanage-intro.
  • List all VirtualBox virtual machines:
    VBoxManage list vms
  • Show information about a particular virtual machine:
    VBoxManage showvminfo {{name|uuid}}
  • Start a virtual machine:
    VBoxManage startvm {{name|uuid}}
  • Start a virtual machine in headless mode:
    VBoxManage startvm {{name|uuid}} --type headless
  • Shutdown the virtual machine and save its current state:
    VBoxManage controlvm {{name|uuid}} savestate
  • Shutdown down the virtual machine without saving its state:
    VBoxManage controlvm {{name|uuid}} poweroff
  • Update VBox extension packs:
    VBoxManage extpack install --replace {{VboxExtensionPackFileName}}

virtualenvwrapper

Group of simple wrapper commands for Python's virtualenv tool. More information: http://virtualenvwrapper.readthedocs.org.
  • Create a new Python virtualenv in $WORKON_HOME:
    mkvirtualenv {{virtualenv_name}}
  • Create a virtualenv for a specific Python version:
    mkvirtualenv --python {{/usr/local/bin/python3.8}} {{virtualenv_name}}
  • Activate or use a different virtualenv:
    workon {{virtualenv_name}}
  • Stop the virtualenv:
    deactivate
  • List all virtual environments:
    lsvirtualenv
  • Remove a virtualenv:
    rmvirtualenv {{virtualenv_name}}
  • Get summary of all virtualenvwrapper commands:
    virtualenvwrapper

zopflipng

PNG compression utility. More information: https://github.com/google/zopfli.
  • Optimize a PNG:
    zopflipng {{input.png}} {{output.png}}
  • Optimize several PNGs and save with given prefix:
    zopflipng --prefix={{prefix}} {{image1.png}} {{image2.png}} {{image3.png}}

rustup set

Alter rustup settings. More information: https://rust-lang.github.io/rustup.
  • Set the default host triple:
    rustup set default-host {{host_triple}}
  • Set the default profile (minimal includes only rustc, rust-std and cargo, whereas default adds rust-docs, rustfmt and clippy):
    rustup set profile {{minimal|default}}
  • Set whether rustup should update itself when running rustup update:
    rustup set auto-self-update {{enable|disable|check-only}}

tpp

Command-Line based presentation tool. More information: https://github.com/cbbrowne/tpp.
  • View a presentation:
    tpp {{path/to/file}}
  • Output a presentation:
    tpp -t {{type}} -o {{path/to/output}} {{path/to/file}}

pngcheck

Print detailed information about and verify PNG, JNG, and MNG files. More information: http://www.libpng.org/pub/png/apps/pngcheck.html.
  • Print a summary for an image (width, height, and color depth):
    pngcheck {{image.png}}
  • Print information for an image with [c]olorized output:
    pngcheck -c {{image.png}}
  • Print [v]erbose information for an image:
    pngcheck -cvt {{image.png}}
  • Receive an image from stdin and display detailed information:
    cat {{path/to/image.png}} | pngcheck -cvt
  • [s]earch for PNGs within a specific file and display information about them:
    pngcheck -s {{image.png}}
  • Search for PNGs within another file and e[x]tract them:
    pngcheck -x {{image.png}}

mosquitto_pub

A simple MQTT version 3.1.1 client that will publish a single message on a topic and exit. More information: https://mosquitto.org/man/mosquitto_pub-1.html.
  • Publish a temperature value of 32 on the topic sensors/temperature to 192.168.1.1 (defaults to localhost) with Quality of Service (QoS) set to 1:
    mosquitto_pub -h {{192.168.1.1}} -t {{sensors/temperature}} -m {{32}} -q {{1}}
  • Publish timestamp and temperature data on the topic sensors/temperature to a remote host on a non-standard port:
    mosquitto_pub -h {{192.168.1.1}} -p {{1885}} -t {{sensors/temperature}} -m "{{1266193804 32}}"
  • Publish light switch status and retain the message on the topic switches/kitchen_lights/status to a remote host because there may be a long period of time between light switch events:
    mosquitto_pub -r -h "{{iot.eclipse.org}}" -t {{switches/kitchen_lights/status}} -m "{{on}}"
  • Send the contents of a file (data.txt) as a message and publish it to sensors/temperature topic:
    mosquitto_pub -t {{sensors/temperature}} -f {{data.txt}}
  • Send the contents of a file (data.txt), by reading from stdin and send the entire input as a message and publish it to sensors/temperature topic:
    mosquitto_pub -t {{sensors/temperature}} -s < {{data.txt}}
  • Read newline delimited data from stdin as a message and publish it to sensors/temperature topic:
    {{echo data.txt}} | mosquitto_pub -t {{sensors/temperature}} -l

catimg

Image printing in the terminal. See also: pixterm, chafa. More information: https://github.com/posva/catimg.
  • Print a JPEG, PNG, or GIF to the terminal:
    catimg {{path/to/file}}
  • Double the [r]esolution of an image:
    catimg -r 2 {{path/to/file}}
  • Disable 24-bit color for better [t]erminal support:
    catimg -t {{path/to/file}}
  • Specify a custom [w]idth or [H]eight:
    catimg {{-w|-H}} {{40}} {{path/to/file}}

poetry

Manage Python packages and dependencies. More information: https://python-poetry.org/docs/cli/.
  • Create a new Poetry project in the directory with a specific name:
    poetry new {{project_name}}
  • Install a dependency and its subdependencies:
    poetry add {{dependency}}
  • Install a development dependency and its subdependencies:
    poetry add --group dev {{dependency}}
  • Interactively initialize the current directory as a new Poetry project:
    poetry init
  • Get the latest version of all dependencies and update poetry.lock:
    poetry update
  • Execute a command inside the project's virtual environment:
    poetry run {{command}}
  • Bump the minor version of the project in pyproject.toml:
    poetry version minor

az lock

Manage Azure locks. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/lock.
  • Create a read-only subscription level lock:
    az lock create --name {{lock_name}} --lock-type ReadOnly
  • Create a read-only resource group level lock:
    az lock create --name {{lock_name}} --resource-group {{group_name}} --lock-type ReadOnly
  • Delete a subscription level lock:
    az lock delete --name {{lock_name}}
  • Delete a resource group level lock:
    az lock delete --name {{lock_name}} --resource-group {{group_name}}
  • List out all locks on the subscription level:
    az lock list
  • Show a subscription level lock:
    az lock show -n {{lock_name}}

swc

JavaScript and TypeScript compiler written in Rust. More information: https://swc.rs.
  • Transpile a specified input file and output to stdout:
    swc {{path/to/file}}
  • Transpile the input file every time it is changed:
    swc {{path/to/file}} --watch
  • Transpile a specified input file and output to a specific file:
    swc {{path/to/input_file}} --out-file {{path/to/output_file}}
  • Transpile a specified input directory and output to a specific directory:
    swc {{path/to/input_directory}} --out-dir {{path/to/output_directory}}
  • Transpile a specified input directory using a specific configuration file:
    swc {{path/to/input_directory}} --config-file {{path/to/.swcrc}}
  • Ignore files in a directory specified using glob path:
    swc {{path/to/input_directory}} --ignore {{ignored_files}}

nvidia-smi

Aid the management and monitoring of NVIDIA GPU devices. More information: https://developer.nvidia.com/nvidia-system-management-interface.
  • Display information on all available GPUs and processes using them:
    nvidia-smi
  • Display more detailed GPU information:
    nvidia-smi --query
  • Monitor overall GPU usage with 1-second update interval:
    nvidia-smi dmon

gzip

Compress/uncompress files with gzip compression (LZ77). More information: https://www.gnu.org/software/gzip/manual/gzip.html.
  • Compress a file, replacing it with a gzipped compressed version:
    gzip {{file.ext}}
  • Decompress a file, replacing it with the original uncompressed version:
    gzip -d {{file.ext}}.gz
  • Compress a file, keeping the original file:
    gzip --keep {{file.ext}}
  • Compress a file specifying the output filename:
    gzip -c {{file.ext}} > {{compressed_file.ext.gz}}
  • Decompress a gzipped file specifying the output filename:
    gzip -c -d {{file.ext}}.gz > {{uncompressed_file.ext}}
  • Specify the compression level. 1=Fastest (Worst), 9=Slowest (Best), Default level is 6:
    gzip -9 -c {{file.ext}} > {{compressed_file.ext.gz}}

docker image

Manage Docker images. See also docker build, docker import, and docker pull. More information: https://docs.docker.com/engine/reference/commandline/image/.
  • List local Docker images:
    docker image ls
  • Delete unused local Docker images:
    docker image prune
  • Delete all unused images (not just those without a tag):
    docker image prune --all
  • Show the history of a local Docker image:
    docker image history {{image}}

git effort

Display how much activity a file has had, showing commits per file and "active days" i.e. total number of days that contributed to the file. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-effort.
  • Display each file in the repository, showing commits and active days:
    git effort
  • Display files modified by a specific number of commits or more, showing commits and active days:
    git effort --above {{5}}
  • Display files modified by a specific author, showing commits and active days:
    git effort -- --author="{{username}}"
  • Display files modified since a specific time/date, showing commits and active days:
    git effort -- --since="{{last month}}"
  • Display only the specified files or directories, showing commits and active days:
    git effort {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
  • Display all files in a specific directory, showing commits and active days:
    git effort {{path/to/directory/*}}

pixterm

Image printing in the terminal. See also: chafa, catimg. More information: https://github.com/eliukblau/pixterm.
  • Render a static image directly in the terminal:
    pixterm {{path/to/file}}
  • Use the image's original aspect ratio:
    pixterm -s 2 {{path/to/file}}
  • Specify a custom aspect ratio using a specific number of [t]erminal [r]ows and [c]olumns:
    pixterm -tr {{24}} -tc {{80}} {{path/to/file}}
  • Filter the output with a [m]atte background color and character [d]ithering:
    pixterm -m {{000000}} -d 2 {{path/to/file}}

tlmgr option

TeX Live settings manager. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all TeX Live settings:
    tlmgr option showall
  • List all currently set Tex Live settings:
    tlmgr option show
  • Print all TeX Live settings in JSON format:
    tlmgr option showall --json
  • Show the value of a specific TeX Live setting:
    tlmgr option {{setting}}
  • Modify the value of a specific TeX Live setting:
    tlmgr option {{setting}} {{value}}
  • Set TeX Live to get future updates from the internet after installing from DVD:
    tlmgr option {{repository}} {{https://mirror.ctan.org/systems/texlive/tlnet}}

gitsome

A terminal-based interface for GitHub, accessed via the gh command. It also provides menu-style autocomplete suggestions for git commands. More information: https://github.com/donnemartin/gitsome.
  • Enter the gitsome shell (optional), to enable autocompletion and interactive help for Git (and gh) commands:
    gitsome
  • Setup GitHub integration with the current account:
    gh configure
  • List notifications for the current account (as would be seen in https://github.com/notifications):
    gh notifications
  • List the current account's starred repos, filtered by a given search string:
    gh starred "{{python 3}}"
  • View the recent activity feed of a given GitHub repository:
    gh feed {{tldr-pages/tldr}}
  • View the recent activity feed for a given GitHub user, using the default pager (e.g. less):
    gh feed {{torvalds}} -p

git utimes

Change files modification time to their last commit date. Does not touch files that are in the working tree or index. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-utimes.
  • Change all files modification time to their last commit date:
    git utimes
  • Change files modification time that are newer than their last commit date, preserving original modification time of files that were committed from the local repository:
    git utimes --newer

ajson

Executes JSONPath on JSON objects. More information: https://github.com/spyzhov/ajson.
  • Read JSON from a file and execute a specified JSONPath expression:
    ajson '{{$..json[?(@.path)]}}' {{path/to/file.json}}
  • Read JSON from stdin and execute a specified JSONPath expression:
    cat {{path/to/file.json}} | ajson '{{$..json[?(@.path)]}}'
  • Read JSON from a URL and evaluate a specified JSONPath expression:
    ajson '{{avg($..price)}}' '{{https://example.com/api/}}'
  • Read some simple JSON and calculate a value:
    echo '{{3}}' | ajson '{{2 * pi * $}}'

cwebp

Compress an image file to a WebP file. More information: https://developers.google.com/speed/webp/docs/cwebp.
  • Compress a WebP file with default settings (q = 75) to the [o]utput file:
    cwebp {{path/to/image_file}} -o {{path/to/output.webp}}
  • Compress a WebP file with the best [q]uality and largest file size:
    cwebp {{path/to/image_file}} -o {{path/to/output.webp}} -q {{100}}
  • Compress a WebP file with the worst [q]uality and smallest file size:
    cwebp {{path/to/image_file}} -o {{path/to/output.webp}} -q {{0}}
  • Compress a WebP file and apply resize to image:
    cwebp {{path/to/image_file}} -o {{path/to/output.webp}} -resize {{width}} {{height}}
  • Compress a WebP file and drop alpha channel information:
    cwebp {{path/to/image_file}} -o {{path/to/output.webp}} -noalpha

scc

Tool written in Go that counts lines of code. More information: https://github.com/boyter/scc.
  • Print lines of code in the current directory:
    scc
  • Print lines of code in the target directory:
    scc {{path/to/directory}}
  • Display output for every file:
    scc --by-file
  • Display output using a specific output format (defaults to tabular):
    scc --format {{tabular|wide|json|csv|cloc-yaml|html|html-table}}
  • Only count files with specific file extensions:
    scc --include-ext {{go, java, js}}
  • Exclude directories from being counted:
    scc --exclude-dir {{.git,.hg}}
  • Display output and sort by column (defaults to by files):
    scc --sort {{files|name|lines|blanks|code|comments|complexity}}
  • Print help for scc:
    scc -h

rclone

Copy, synchronize or move files and directories to and from many cloud services. More information: https://rclone.org.
  • List contents of a directory on an rclone remote:
    rclone lsf {{remote_name}}:{{path/to/directory}}
  • Copy file or directory from local source to remote destination:
    rclone copy {{path/to/source_file_or_directory}} {{remote_name}}:{{path/to/destination_directory}}
  • Copy file or directory from remote source to local destination:
    rclone copy {{remote_name}}:{{path/to/source_file_or_directory}} {{path/to/destination_directory}}
  • Sync local source to remote destination, changing the destination only:
    rclone sync {{path/to/file_or_directory}} {{remote_name}}:{{path/to/directory}}
  • Move file or directory from local source to remote destination:
    rclone move {{path/to/file_or_directory}} {{remote_name}}:{{path/to/directory}}
  • Delete remote file or directory (use --dry-run to test, remove it to actually delete):
    rclone --dry-run delete {{remote_name}}:{{path/to/file_or_directory}}
  • Mount rclone remote (experimental):
    rclone mount {{remote_name}}:{{path/to/directory}} {{path/to/mount_point}}
  • Unmount rclone remote if CTRL-C fails (experimental):
    fusermount -u {{path/to/mount_point}}

cake

The command-line processor for the CakePHP framework. More information: https://cakephp.org.
  • Display basic information about the current app and available commands:
    cake
  • Display a list of available routes:
    cake routes
  • Clear configuration caches:
    cake cache clear_all
  • Build the metadata cache:
    cake schema_cache build --connection {{connection}}
  • Clear the metadata cache:
    cake schema_cache clear
  • Clear a single cache table:
    cake schema_cache clear {{table_name}}
  • Start a development web server (defaults to port 8765):
    cake server
  • Start a REPL (interactive shell):
    cake console

nix repl

Start an interactive environment for evaluating Nix expressions. See https://nixos.org/manual/nix/stable/language/index.html for a description of the Nix expression language. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html.
  • Start an interactive environment for evaluating Nix expressions:
    nix repl
  • Load all packages from a flake (e.g. nixpkgs) into scope:
    :lf {{nixpkgs}}
  • Build a package from an expression:
    :b {{expression}}
  • Start a shell with package from the expression available:
    :u {{expression}}
  • Start a shell with dependencies of the package from the expression available:
    :s {{expression}}

nomad

Distributed, highly available, datacenter-aware scheduler. More information: https://www.nomadproject.io/docs/commands/.
  • Show the status of nodes in the cluster:
    nomad node status
  • Validate a job file:
    nomad job validate {{path/to/file.nomad}}
  • Plan a job for execution on the cluster:
    nomad job plan {{path/to/file.nomad}}
  • Run a job on the cluster:
    nomad job run {{path/to/file.nomad}}
  • Show the status of jobs currently running on the cluster:
    nomad job status
  • Show the detailed status information about a specific job:
    nomad job status {{job_name}}
  • Follow the logs of a specific allocation:
    nomad alloc logs {{alloc_id}}
  • Show the status of storage volumes:
    nomad volume status

pueue remove

Remove tasks from the list. Running or paused tasks need to be killed first. More information: https://github.com/Nukesor/pueue.
  • Remove a killed or finished task:
    pueue remove {{task_id}}
  • Remove multiple tasks at once:
    pueue remove {{task_id}} {{task_id}}

bfg

Remove large files or passwords from Git history like git-filter-branch. Note: if your repository is connected to a remote, you will need to force push to it. More information: https://rtyley.github.io/bfg-repo-cleaner/.
  • Remove a file with sensitive data but leave the latest commit untouched:
    bfg --delete-files {{file_with_sensitive_data}}
  • Remove all text mentioned in the specified file wherever it can be found in the repository's history:
    bfg --replace-text {{path/to/file.txt}}

grpcurl

Interact with gRPC servers. Like curl, but for gRPC. More information: https://github.com/fullstorydev/grpcurl.
  • Send an empty request:
    grpcurl {{grpc.server.com:443}} {{my.custom.server.Service/Method}}
  • Send a request with a header and a body:
    grpcurl -H "{{Authorization: Bearer $token}}" -d {{'{"foo": "bar"}'}} {{grpc.server.com:443}} {{my.custom.server.Service/Method}}
  • List all services exposed by a server:
    grpcurl {{grpc.server.com:443}} list
  • List all methods in a particular service:
    grpcurl {{grpc.server.com:443}} list {{my.custom.server.Service}}

supervisorctl

Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supervisorctl is the command-line client piece of the supervisor which provides a shell-like interface. More information: http://supervisord.org.
  • Show the status of a process (or all processes if process_name is not specified):
    supervisorctl status {{process_name}}
  • Start/stop/restart a process:
    supervisorctl {{start|stop|restart}} {{process_name}}
  • Start/stop/restart all processes in a group:
    supervisorctl {{start|stop|restart}} {{group_name}}:*
  • Show last 100 bytes of process stderr:
    supervisorctl tail -100 {{process_name}} stderr
  • Keep displaying stdout of a process:
    supervisorctl tail -f {{process_name}} stdout
  • Reload process config file to add/remove processes as necessary:
    supervisorctl update

sops

SOPS: Secrets OPerationS. Tool for managing secrets. More information: https://github.com/mozilla/sops.
  • Encrypt a file:
    sops -e {{path/to/myfile.json}} > {{path/to/myfile.enc.json}}
  • Decrypt a file to stdout:
    sops -d {{path/to/myfile.enc.json}}
  • Rotate data keys for a sops file:
    sops -r {{path/to/myfile.enc.yaml}}
  • Change the extension of the file once encrypted:
    sops -d --input-type json {{path/to/myfile.enc.json}}
  • Extract keys by naming them, and array elements by numbering them:
    sops -d --extract '["an_array"][1]' {{path/to/myfile.enc.json}}
  • Show the difference between two sops files:
    diff <(sops -d {{path/to/secret1.enc.yaml}}) <(sops -d {{path/to/secret2.enc.yaml}})

az account

Manage Azure subscription information. Part of az, the command-line client for Microsoft Azure. More information: https://learn.microsoft.com/cli/azure/account.
  • Print a list of subscriptions for the logged in account:
    az account list
  • Set a subscription to be the currently active subscription:
    az account set --subscription {{subscription_id}}
  • List supported regions for the currently active subscription:
    az account list-locations
  • Print an access token to be used with MS Graph API:
    az account get-access-token --resource-type {{ms-graph}}
  • Print details of the currently active subscription in a specific format:
    az account show --output {{json|tsv|table|yaml}}

lualatex

An extended version of TeX using Lua to compile. More information: https://manned.org/lualatex.1.
  • Start texlua to act as a Lua interpreter:
    lualatex
  • Compile a Tex file to PDF:
    lualatex {{path/to/file.tex}}
  • Compile a Tex file without error interruption:
    lualatex -interaction nonstopmode {{path/to/file.tex}}
  • Compile a Tex file with a specific output file name:
    lualatex -jobname={{filename}} {{path/to/file.tex}}

cups-config

Show technical information about your CUPS print server installation. More information: https://www.cups.org/doc/man-cups-config.html.
  • Show the currently installed version of CUPS:
    cups-config --version
  • Show where CUPS is currently installed:
    cups-config --serverbin
  • Show the location of CUPS' configuration directory:
    cups-config --serverroot
  • Show the location of CUPS' data directory:
    cups-config --datadir
  • Display all available options:
    cups-config --help

magento

Manage the Magento PHP framework. More information: https://magento.com.
  • Enable one or more space-separated modules:
    magento module:enable {{module(s)}}
  • Disable one or more space-separated modules:
    magento module:disable {{module(s)}}
  • Update the database after enabling modules:
    magento setup:upgrade
  • Update code and dependency injection configuration:
    magento setup:di:compile
  • Deploy static assets:
    magento setup:static-content:deploy
  • Enable maintenance mode:
    magento maintenance:enable
  • Disable maintenance mode:
    magento maintenance:disable
  • List all available commands:
    magento list

clj

Clojure tool to start a REPL or invoke a specific function with data. All options can be defined in a deps.edn file. More information: https://clojure.org/guides/deps_and_cli.
  • Start a REPL (interactive shell):
    clj
  • Execute a function:
    clj -X {{namespace/function_name}}
  • Run the main function of a specified namespace:
    clj -M -m {{namespace}} {{args}}
  • Prepare a project by resolving dependencies, downloading libraries, and making/caching classpaths:
    clj -P
  • Start an nREPL server with the CIDER middleware:
    clj -Sdeps '{:deps {nrepl {:mvn/version "0.7.0"} cider/cider-nrepl {:mvn/version "0.25.2"}}}' -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]' --interactive
  • Start a REPL for ClojureScript and open a web browser:
    clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.758"}}}' --main cljs.main --repl

ansible-playbook

Execute tasks defined in playbook on remote machines over SSH. More information: https://docs.ansible.com/ansible/latest/cli/ansible-playbook.html.
  • Run tasks in playbook:
    ansible-playbook {{playbook}}
  • Run tasks in playbook with custom host inventory:
    ansible-playbook {{playbook}} -i {{inventory_file}}
  • Run tasks in playbook with extra variables defined via the command-line:
    ansible-playbook {{playbook}} -e "{{variable1}}={{value1}} {{variable2}}={{value2}}"
  • Run tasks in playbook with extra variables defined in a JSON file:
    ansible-playbook {{playbook}} -e "@{{variables.json}}"
  • Run tasks in playbook for the given tags:
    ansible-playbook {{playbook}} --tags {{tag1,tag2}}
  • Run tasks in a playbook starting at a specific task:
    ansible-playbook {{playbook}} --start-at {{task_name}}

objdump

View information about object files. More information: https://manned.org/objdump.
  • Display the file header information:
    objdump -f {{binary}}
  • Display all header information:
    objdump -x {{binary}}
  • Display the disassembled output of executable sections:
    objdump -d {{binary}}
  • Display the disassembled executable sections in intel syntax:
    objdump -M intel -d {{binary}}
  • Display a complete binary hex dump of all sections:
    objdump -s {{binary}}

samtools

Tools for handling high-throughput sequencing (genomics) data. Used for reading/writing/editing/indexing/viewing of data in SAM/BAM/CRAM format. More information: https://www.htslib.org.
  • Convert a SAM input file to BAM stream and save to file:
    samtools view -S -b {{input.sam}} > {{output.bam}}
  • Take input from stdin (-) and print the SAM header and any reads overlapping a specific region to stdout:
    {{other_command}} | samtools view -h - chromosome:start-end
  • Sort file and save to BAM (the output format is automatically determined from the output file's extension):
    samtools sort {{input}} -o {{output.bam}}
  • Index a sorted BAM file (creates {{sorted_input.bam.bai}}):
    samtools index {{sorted_input.bam}}
  • Print alignment statistics about a file:
    samtools flagstat {{sorted_input}}
  • Count alignments to each index (chromosome/contig):
    samtools idxstats {{sorted_indexed_input}}
  • Merge multiple files:
    samtools merge {{output}} {{input1 input2 …}}
  • Split input file according to read groups:
    samtools split {{merged_input}}

javadoc

Generate Java API documentation in HTML format from source code. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/javadoc.html.
  • Generate documentation for Java source code and save the result in a directory:
    javadoc -d {{path/to/directory/}} {{path/to/java_source_code}}
  • Generate documentation with a specific encoding:
    javadoc -docencoding {{UTF-8}} {{path/to/java_source_code}}
  • Generate documentation excluding some packages:
    javadoc -exclude {{package_list}} {{path/to/java_source_code}}

tuckr

Dotfile manager written in Rust. More information: https://github.com/RaphGL/Tuckr.
  • Check dotfile status:
    tuckr status
  • Add all dotfiles to system:
    tuckr add \*
  • Add all dotfiles except specified programs:
    tuckr add \* -e {{program1}},{{program2}}
  • Remove all dotfiles from the system:
    tuckr rm \*
  • Add a program dotfile and run its setup script:
    tuckr set {{program}}

quota

Display users' disk space usage and allocated limits. More information: https://manned.org/quota.
  • Show disk quotas in human-readable units for the current user:
    quota -s
  • Verbose output (also display quotas on filesystems where no storage is allocated):
    quota -v
  • Quiet output (only display quotas on filesystems where usage is over quota):
    quota -q
  • Print quotas for the groups of which the current user is a member:
    quota -g
  • Show disk quotas for another user:
    sudo quota -u {{username}}

egrep

Find patterns in files using extended regular expression (supports ?, +, {}, () and |). More information: https://manned.org/egrep.
  • Search for a pattern within a file:
    egrep "{{search_pattern}}" {{path/to/file}}
  • Search for a pattern within multiple files:
    egrep "{{search_pattern}}" {{path/to/file1}} {{path/to/file2}} {{path/to/file3}}
  • Search stdin for a pattern:
    cat {{path/to/file}} | egrep {{search_pattern}}
  • Print file name and line number for each match:
    egrep --with-filename --line-number "{{search_pattern}}" {{path/to/file}}
  • Search for a pattern in all files recursively in a directory, ignoring binary files:
    egrep --recursive --binary-files={{without-match}} "{{search_pattern}}" {{path/to/directory}}
  • Search for lines that do not match a pattern:
    egrep --invert-match "{{search_pattern}}" {{path/to/file}}

nping

Network packet generation tool/ping utility. More information: https://nmap.org/nping/.
  • Ping a specified host using ICMP if the user is allowed to, otherwise using TCP:
    nping {{example.com}}
  • Ping a specified host using ICMP assuming that the user is allowed to do so:
    nping --icmp --privileged {{example.com}}
  • Ping a specified host using UDP:
    nping --udp {{example.com}}
  • Ping a specified host on a given port using TCP:
    nping --tcp --dest-port {{443}} {{example.com}}
  • Ping a certain number of times:
    nping --count {{10}} {{example.com}}
  • Wait a certain amount of time between each ping:
    nping --delay {{5s}} {{example.com}}
  • Send the request over a specified interface:
    nping --interface {{eth0}} {{example.com}}
  • Set the Reserved/Evil bit in sent packets:
    nping --evil {{example.com}}

dolt sql

Run a SQL query. Multiple SQL statements must be separated by semicolons. More information: https://docs.dolthub.com/cli-reference/cli#dolt-sql.
  • Run a single query:
    dolt sql --query "{{INSERT INTO t values (1, 3);}}"
  • List all saved queries:
    dolt sql --list-saved

p10k

Manage configurations for powerlevel10k. More information: https://github.com/romkatv/powerlevel10k.
  • Configure powerlevel10k interactively:
    p10k configure
  • Reload powerlevel10k:
    p10k reload
  • Display help:
    p10k help


chroma

A general-purpose syntax highlighter. The --lexer option is usually unnecessary, as it will be automatically determined based on the file extension. More information: https://github.com/alecthomas/chroma.
  • Highlight source code from a file with the Python lexer and output to stdout:
    chroma --lexer {{python}} {{path/to/source_file.py}}
  • Highlight source code from a file with the Go lexer and output to an HTML file:
    chroma --lexer {{go}} --formatter {{html}} {{path/to/source_file.go}} > {{path/to/target_file.html}}
  • Highlight source code from stdin with the C++ lexer and output to an SVG file, using the Monokai style:
    {{command}} | chroma --lexer {{c++}} --formatter {{svg}} --style {{monokai}} > {{path/to/target_file.svg}}
  • List available lexers, styles and formatters:
    chroma --list

guile

Guile Scheme interpreter. More information: https://www.gnu.org/software/guile.
  • Start a REPL (interactive shell):
    guile
  • Execute the script in a given Scheme file:
    guile {{script.scm}}
  • Execute a Scheme expression:
    guile -c "{{expression}}"
  • Listen on a port or a Unix domain socket (the default is port 37146) for remote REPL connections:
    guile --listen={{port_or_socket}}

pio platform

Manage PlatformIO development platforms. More information: https://docs.platformio.org/en/latest/core/userguide/platforms/.
  • List all installed development platforms:
    pio platform list
  • Search for existing development platforms:
    pio platform search {{platform}}
  • Show details about a development platform:
    pio platform show {{platform}}
  • Install a development platform:
    pio platform install {{platform}}
  • Update installed development platforms:
    pio platform update
  • Uninstall a development platform:
    pio platform uninstall {{platform}}
  • List all supported frameworks:
    pio platform frameworks

powershell

Command-line shell and scripting language designed especially for system administration. See also: pwsh. More information: https://learn.microsoft.com/windows-server/administration/windows-commands/powershell.
  • Start an interactive shell session:
    powershell
  • Start an interactive shell session without loading startup configs:
    powershell -NoProfile
  • Execute specific commands:
    powershell -Command "{{echo 'powershell is executed'}}"
  • Execute a specific script:
    powershell -File {{path/to/script.ps1}}
  • Start a session with a specific version of PowerShell:
    powershell -Version {{version}}
  • Prevent a shell from exit after running startup commands:
    powershell -NoExit
  • Describe the format of data sent to PowerShell:
    powershell -InputFormat {{Text|XML}}
  • Determine how an output from PowerShell is formatted:
    powershell -OutputFormat {{Text|XML}}

subliminal

Python-based subtitle downloader. More information: https://github.com/Diaoul/subliminal.
  • Download English subtitles for a video:
    subliminal download -l {{en}} {{video.ext}}

sv

Control a running runsv service. More information: https://manpages.ubuntu.com/manpages/latest/man8/sv.8.html.
  • Start a service:
    sudo sv up {{path/to/service}}
  • Stop a service:
    sudo sv down {{path/to/service}}
  • Get service status:
    sudo sv status {{path/to/service}}
  • Reload a service:
    sudo sv reload {{path/to/service}}
  • Start a service, but only if it's not running and don't restart it if it stops:
    sudo sv once {{path/to/service}}

ffmpeg

Video conversion tool. More information: https://ffmpeg.org.
  • Extract the sound from a video and save it as MP3:
    ffmpeg -i {{video.mp4}} -vn {{sound}}.mp3
  • Save a video as GIF, scaling the height to 1000px and setting framerate to 15:
    ffmpeg -i {{video.mp4}} -vf 'scale=-1:{{1000}}' -r {{15}} {{output.gif}}
  • Combine numbered images (frame_1.jpg, frame_2.jpg, etc) into a video or GIF:
    ffmpeg -i {{frame_%d.jpg}} -f image2 {{video.mpg|video.gif}}
  • Quickly extract a single frame from a video at time mm:ss and save it as a 128x128 resolution image:
    ffmpeg -ss {{mm:ss}} -i {{video.mp4}} -frames 1 -s {{128x128}} -f image2 {{image.png}}
  • Trim a video from a given start time mm:ss to an end time mm2:ss2 (omit the -to flag to trim till the end):
    ffmpeg -ss {{mm:ss}} -to {{mm2:ss2}} -i {{video.mp4}} -codec copy {{output.mp4}}
  • Convert AVI video to MP4. AAC Audio @ 128kbit, h264 Video @ CRF 23:
    ffmpeg -i {{input_video}}.avi -codec:a aac -b:a 128k -codec:v libx264 -crf 23 {{output_video}}.mp4
  • Remux MKV video to MP4 without re-encoding audio or video streams:
    ffmpeg -i {{input_video}}.mkv -codec copy {{output_video}}.mp4
  • Convert MP4 video to VP9 codec. For the best quality, use a CRF value (recommended range 15-35) and -b:v MUST be 0:
    ffmpeg -i {{input_video}}.mp4 -codec:v libvpx-vp9 -crf {{30}} -b:v 0 -codec:a libopus -vbr on -threads {{number_of_threads}} {{output_video}}.webm

doctl apps

Used to manage digitalocean apps. More information: https://docs.digitalocean.com/reference/doctl/reference/apps.
  • Create an app:
    doctl apps create
  • Create a deployment for a specific app:
    doctl apps create-deployment {{app_id}}
  • Delete an app interactively:
    doctl apps delete {{app_id}}
  • Get an app:
    doctl apps get
  • List all apps:
    doctl apps list
  • List all deployments from a specific app:
    doctl apps list-deployments {{app_id}}
  • Get logs from a specific app:
    doctl apps logs {{app_id}}
  • Update a specific app with a given app spec:
    doctl apps update {{app_id}} --spec {{path/to/spec.yml}}

gow

Watches Go files and restarts the app on changes. More information: https://github.com/mitranim/gow.
  • Start and watch the current directory:
    gow run .
  • Start the application with the specified arguments:
    gow run . {{argument1 argument2 ...}}
  • Watch subdirectories in verbose mode:
    gow -v -w={{path/to/directory1,path/to/directory2,...}} run .
  • Watch the specified file extensions:
    gow -e={{go,html}} run .
  • Display help:
    gow -h

gh issue create

Create GitHub issues on a repository. More information: https://cli.github.com/manual/gh_issue_create.
  • Create a new issue against the current repository interactively:
    gh issue create
  • Create a new issue with the bug label interactively:
    gh issue create --label "{{bug}}"
  • Create a new issue interactively and assign it to the specified users:
    gh issue create --assignee {{user1,user2,...}}
  • Create a new issue with a title, body and assign it to the current user:
    gh issue create --title "{{title}}" --body "{{body}}" --assignee "{{@me}}"
  • Create a new issue interactively, reading the body text from a file:
    gh issue create --body-file {{path/to/file}}
  • Create a new issue in the default web browser:
    gh issue create --web
  • Display the help:
    gh issue create --help

iex

IEx is the interactive shell for Elixir. More information: https://hexdocs.pm/iex.
  • Start an interactive session:
    iex
  • Start a session that remembers history:
    iex --erl "-kernel shell_history enabled"
  • Start and load Mix project files:
    iex -S mix

ooniprobe

Open Observatory of Network Interference (OONI). Test the blocking of websites and apps. Measure the speed and performance of your network. More information: https://ooni.org/support/ooni-probe-cli/.
  • List all tests performed:
    ooniprobe list
  • Show information about a specific test:
    ooniprobe list {{7}}
  • Run all available tests:
    ooniprobe run all
  • Perform a specific test:
    ooniprobe run {{performance}}
  • Check the availability of a specific website:
    ooniprobe run websites --input {{https://ooni.org/}}
  • Check the availability of all websites listed in a file:
    ooniprobe run websites --input-file {{path/to/my-websites.txt}}
  • Display detailed information about a test in JSON format:
    ooniprobe show {{9}}

minisign

A dead simple tool to sign files and verify signatures. More information: https://jedisct1.github.io/minisign/.
  • Generate a new keypair at the default location:
    minisign -G
  • Sign a file:
    minisign -Sm {{path/to/file}}
  • Sign a file, adding a trusted (signed) and an untrusted (unsigned) comment in the signature:
    minisign -Sm {{path/to/file}} -c "{{Untrusted comment}}" -t "{{Trusted comment}}"
  • Verify a file and the trusted comments in its signature using the specified public key file:
    minisign -Vm {{path/to/file}} -p {{path/to/publickey.pub}}
  • Verify a file and the trusted comments in its signature, specifying a public key as a Base64 encoded literal:
    minisign -Vm {{path/to/file}} -P "{{public_key_base64}}"

ogr2ogr

Convert geospatial vector data between file formats. More information: https://gdal.org/programs/ogr2ogr.html.
  • Convert a Shapefile into a GeoPackage:
    ogr2ogr -f GPKG {{path/to/output}}.gpkg {{path/to/input}}.shp
  • Reduce a GeoJSON to features matching a condition:
    ogr2ogr -where '{{myProperty > 42}}' -f {{GeoJSON}} {{path/to/output.geojson}} {{path/to/input.geojson}}
  • Change coordinate reference system of a GeoPackage from EPSG:4326 to EPSG:3857:
    ogr2ogr -s_srs {{EPSG:4326}} -t_srs {{EPSG:3857}} -f GPKG {{path/to/output}}.gpkg {{path/to/input}}.gpkg
  • Convert a CSV file into a GeoPackage, specifying the names of the coordinate columns and assigning a coordinate reference system:
    ogr2ogr -f GPKG {{path/to/output}}.gpkg {{path/to/input}}.csv -oo X_POSSIBLE_NAMES={{longitude}} -oo Y_POSSIBLE_NAMES={{latitude}} -a_srs {{EPSG:4326}}
  • Load a GeoPackage into a PostGIS database:
    ogr2ogr -f PostgreSQL PG:dbname="{{database_name}}" {{path/to/input}}.gpkg
  • Clip layers of a GeoPackage file to the given bounding box:
    ogr2ogr -spat {{min_x}} {{min_y}} {{max_x}} {{max_y}} -f GPKG {{path/to/output}}.gpkg {{path/to/input}}.gpkg

ykman

The YubiKey Manager can be used to configure all aspects of the YubiKey. More information: https://docs.yubico.com/software/yubikey/tools/ykman/index.html.
  • Get information from YubiKey:
    ykman info
  • Get information for a given application from YubiKey:
    ykman {{fido|oath|openpgp|otp|piv}} info
  • Get a list of enabled applications over NFC from YubiKey:
    ykman config nfc --list
  • Enable application over USB on YubiKey:
    ykman config usb --enable {{OTP|U2F|FIDO2|OATH|PIV|OPENPGP|HSMAUTH}}

git-maintenance

Run tasks to optimize Git repository data. More information: https://git-scm.com/docs/git-maintenance.
  • Register the current repository in the user's list of repositories to daily have maintenance run:
    git maintenance register
  • Start running maintenance on the current repository:
    git maintenance start
  • Halt the background maintenance schedule for the current repository:
    git maintenance stop
  • Remove the current repository from the user's maintenance repository list:
    git maintenance unregister
  • Run a specific maintenance task on the current repository:
    git maintenance run --task={{commit-graph|gc|incremental-repack|loose-objects|pack-refs|prefetch}}

aws pricing

Query services, products, and pricing information from Amazon Web Services. More information: https://docs.aws.amazon.com/cli/latest/reference/pricing/.
  • List service codes of a specific region:
    aws pricing describe-services --region {{us-east-1}}
  • List attributes for a given service code in a specific region:
    aws pricing describe-services --service-code {{AmazonEC2}} --region {{us-east-1}}
  • Print pricing information for a service code in a specific region:
    aws pricing get-products --service-code {{AmazonEC2}} --region {{us-east-1}}
  • List values for a specific attribute for a service code in a specific region:
    aws pricing get-attribute-values --service-code {{AmazonEC2}} --attribute-name {{instanceType}} --region {{us-east-1}}
  • Print pricing information for a service code using filters for instance type and location:
    aws pricing get-products --service-code {{AmazonEC2}} --filters "{{Type=TERM_MATCH,Field=instanceType,Value=m5.xlarge}}" "{{Type=TERM_MATCH,Field=location,Value=US East (N. Virginia)}}" --region {{us-east-1}}

xzfgrep

This command is an alias of xzgrep --fixed-strings. See also: fgrep.
  • View documentation for the original command:
    tldr xzgrep

dolt merge

Join two or more development histories together. More information: https://github.com/dolthub/dolt.
  • Incorporate changes from the named commits into the current branch:
    dolt merge {{branch_name}}
  • Incorporate changes from the named commits into the current branch without updating the commit history:
    dolt merge --squash {{branch_name}}
  • Merge a branch and create a merge commit even when the merge resolves as a fast-forward:
    dolt merge --no-ff {{branch_name}}
  • Merge a branch and create a merge commit with a specific commit message:
    dolt merge --no-ff -m "{{message}}" {{branch_name}}
  • Abort the current conflict resolution process:
    dolt merge --abort

weechat

Command-line internet relay chat client with various features. More information: https://weechat.org/doc.
  • Start WeeChat:
    weechat
  • Do not load any plugin(s) on startup:
    weechat --no-plugin
  • Do not load any script(s) on startup:
    weechat --no-script
  • Do not connect to servers automatically:
    weechat --no-connect
  • Write default terminal colors to stdout:
    weechat --colors

skopeo

Container image management toolbox. Provides various utility commands to manage remote container images. More information: https://github.com/containers/skopeo.
  • Inspect a remote image from a registry:
    skopeo inspect docker://{{registry_hostname}}/{{image:tag}}
  • List available tags for a remote image:
    skopeo list-tags docker://{{registry_hostname}}/{{image}}
  • Download an image from a registry:
    skopeo copy docker://{{registry_hostname}}/{{image:tag}} dir:{{path/to/directory}}
  • Copy an image from one registry to another:
    skopeo copy docker://{{source_registry}}/{{image:tag}} docker://{{destination_registry}}/{{image:tag}}
  • Delete an image from a registry:
    skopeo delete docker://{{registry_hostname}}/{{image:tag}}
  • Log in to a registry:
    skopeo login --username {{username}} {{registry_hostname}}

cargo build

Compile a local package and all of its dependencies. More information: https://doc.rust-lang.org/cargo/commands/cargo-build.html.
  • Build the package or packages defined by the Cargo.toml manifest file in the local path:
    cargo build
  • Build artifacts in release mode, with optimizations:
    cargo build --release
  • Require that Cargo.lock is up to date:
    cargo build --locked
  • Build all packages in the workspace:
    cargo build --workspace
  • Build a specific package:
    cargo build --package {{package}}
  • Build only the specified binary:
    cargo build --bin {{name}}
  • Build only the specified test target:
    cargo build --test {{testname}}

csv-diff

View differences between two CSV, TSV or JSON files. More information: https://github.com/simonw/csv-diff.
  • Display a human-readable summary of differences between files using a specific column as a unique identifier:
    csv-diff {{path/to/file1.csv}} {{path/to/file2.csv}} --key={{column_name}}
  • Display a human-readable summary of differences between files that includes unchanged values in rows with at least one change:
    csv-diff {{path/to/file1.csv}} {{path/to/file2.csv}} --key={{column_name}} --show-unchanged
  • Display a summary of differences between files in JSON format using a specific column as a unique identifier:
    csv-diff {{path/to/file1.csv}} {{path/to/file2.csv}} --key={{column_name}} --json

doctl serverless

Manage serverless functions. More information: https://docs.digitalocean.com/reference/doctl/reference/serverless/.
  • Connect local serverless support to a functions namespace:
    doctl serverless connect
  • Deploy a functions project to your functions namespace:
    doctl serverless deploy
  • Obtain metadata of a functions project:
    doctl serverless get-metadata
  • Provide information about serverless support:
    doctl serverless status

webpack

Bundle a web project's js files and other assets into a single output file. More information: https://webpack.js.org.
  • Create a single output file from an entry point file:
    webpack {{app.js}} {{bundle.js}}
  • Load CSS files too from the JavaScript file (this uses the CSS loader for .css files):
    webpack {{app.js}} {{bundle.js}} --module-bind '{{css=css}}'
  • Pass a config file (with e.g. the entry script and the output filename) and show compilation progress:
    webpack --config {{webpack.config.js}} --progress
  • Automatically recompile on changes to project files:
    webpack --watch {{app.js}} {{bundle.js}}

docker login

Log into a docker registry. More information: https://docs.docker.com/engine/reference/commandline/login/.
  • Interactively log into a registry:
    docker login
  • Log into a registry with a specific username (user will be prompted for a password):
    docker login --username {{username}}
  • Log into a registry with username and password:
    docker login --username {{username}} --password {{password}} {{server}}
  • Log into a registry with password from stdin:
    echo "{{password}}" | docker login --username {{username}} --password-stdin

feroxbuster

Simple, fast, recursive content discovery tool written in Rust. Used to brute-force hidden paths on web servers and more. More information: https://epi052.github.io/feroxbuster-docs/docs/.
  • Discover specific directories and files that match in the wordlist with extensions and 100 threads and a random user-agent:
    feroxbuster --url "{{https://example.com}}" --wordlist {{path/to/file}} --threads {{100}} --extensions "{{php,txt}}" --random-agent
  • Enumerate directories without recursion through a specific proxy:
    feroxbuster --url "{{https://example.com}}" --wordlist {{path/to/file}} --no-recursion --proxy "{{http://127.0.0.1:8080}}"
  • Find links in webpages:
    feroxbuster --url "{{https://example.com}}" --extract-links
  • Filter by a specific status code and a number of chars:
    feroxbuster --url "{{https://example.com}}" --filter-status {{301}} --filter-size {{4092}}

terraform fmt

Format configuration according to Terraform language style conventions. More information: https://www.terraform.io/docs/commands/fmt.html.
  • Format the configuration in the current directory:
    terraform fmt
  • Format the configuration in the current directory and subdirectories:
    terraform fmt -recursive
  • Display diffs of formatting changes:
    terraform fmt -diff
  • Do not list files that were formatted to stdout:
    terraform fmt -list=false

deemix

A barebone deezer downloader library built from the ashes of Deezloader Remix. It can be used as a standalone CLI app or implemented in a UI using the API. More information: https://deemix.app.
  • Download a track or playlist:
    deemix {{https://www.deezer.com/us/track/00000000}}
  • Download track/playlist at a specific bitrate:
    deemix --bitrate {{FLAC|MP3}} {{url}}
  • Download to a specific path:
    deemix --bitrate {{bitrate}} --path {{path}} {{url}}
  • Create a portable deemix config in the current directory:
    deemix --portable --bitrate {{bitrate}} --path {{path}} {{url}}

mediainfo

Display metadata from video and audio files. More information: https://mediaarea.net/MediaInfo.
  • Display metadata for a given file in the console:
    mediainfo {{file}}
  • Store the output to a given file along with displaying in the console:
    mediainfo --Logfile={{out.txt}} {{file}}
  • Display the list of metadata attributes that can be extracted:
    mediainfo --Info-Parameters

yt-dlp

A youtube-dl fork with additional features and fixes. Download videos from YouTube and other websites. More information: https://github.com/yt-dlp/yt-dlp.
  • Download a video or playlist (with the default options from command below):
    yt-dlp "{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}"
  • List the available downloadable formats for a video:
    yt-dlp --list-formats "{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}"
  • Download a video with a defined format, in this case the best mp4 video available (default is "bv*+ba/b"):
    yt-dlp --format "{{bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]}}" "{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}"
  • Extract audio from a video (requires ffmpeg or ffprobe):
    yt-dlp --extract-audio "{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}"
  • Specify audio format and audio quality of extracted audio (between 0 (best) and 10 (worst), default = 5):
    yt-dlp --extract-audio --audio-format {{mp3}} --audio-quality {{0}} "{{https://www.youtube.com/watch?v=oHg5SJYRHA0}}"
  • Download all playlists of YouTube channel/user keeping each playlist in separate directory:
    yt-dlp -o "{{%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s}}" "{{https://www.youtube.com/user/TheLinuxFoundation/playlists}}"
  • Download Udemy course keeping each chapter in separate directory under MyVideos directory in your home:
    yt-dlp -u {{user}} -p {{password}} -P "{{~/MyVideos}}" -o "{{%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s}}" "{{https://www.udemy.com/java-tutorial}}"
  • Download entire series season keeping each series and each season in separate directory under C:/MyVideos:
    yt-dlp -P "{{C:/MyVideos}}" -o "{{%(series)s/%(season_number)s - %(season)s/%(episode_number)s - %(episode)s.%(ext)s}}" "{{https://videomore.ru/kino_v_detalayah/5_sezon/367617}}"

sha512sum

Calculate SHA512 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-utilities.html.
  • Calculate the SHA512 checksum for one or more files:
    sha512sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of SHA512 checksums to a file:
    sha512sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.sha512}}
  • Calculate a SHA512 checksum from stdin:
    {{command}} | sha512sum
  • Read a file of SHA512 sums and filenames and verify all files have matching checksums:
    sha512sum --check {{path/to/file.sha512}}
  • Only show a message for missing files or when verification fails:
    sha512sum --check --quiet {{path/to/file.sha512}}
  • Only show a message when verification fails, ignoring missing files:
    sha512sum --ignore-missing --check --quiet {{path/to/file.sha512}}

openssl req

OpenSSL command to manage PKCS#10 Certificate Signing Requests. More information: https://www.openssl.org/docs/manmaster/man1/openssl-req.html.
  • Generate a certificate signing request to be sent to a certificate authority:
    openssl req -new -sha256 -key {{filename.key}} -out {{filename.csr}}
  • Generate a self-signed certificate and a corresponding key-pair, storing both in a file:
    openssl req -new -x509 -newkey {{rsa}}:{{4096}} -keyout {{filename.key}} -out {{filename.cert}} -subj "{{/C=XX/CN=foobar}}" -days {{365}}

git root

Print the root directory of the current Git repository. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-root.
  • Print the absolute path of the current Git repository:
    git root
  • Print the current working directory relative to the root of the current Git repository:
    git root --relative

mpd

Music Player Daemon. More information: https://www.musicpd.org/.
  • Start MPD:
    mpd
  • Start MPD but don't read from the configuration file:
    mpd --no-config
  • Start MPD and don't detach it from the console:
    mpd --no-daemon
  • Kill the currently running MPD session:
    mpd --kill

timetrap

Simple command-line time tracker written in Ruby. More information: https://github.com/samg/timetrap.
  • Create a new timesheet:
    timetrap sheet {{timesheet}}
  • Check in an entry started 5 minutes ago:
    timetrap in --at "{{5 minutes ago}}" {{entry_notes}}
  • Display the current timesheet:
    timetrap display
  • Edit the last entry's end time:
    timetrap edit --end {{time}}

emacsclient

Open files in an existing Emacs server. See also emacs. More information: https://www.emacswiki.org/emacs/EmacsClient.
  • Open a file in an existing Emacs server (using GUI if available):
    emacsclient {{path/to/file}}
  • Open a file in console mode (without an X window):
    emacsclient --no-window-system {{path/to/file}}
  • Open a file in a new Emacs window:
    emacsclient --create-frame {{path/to/file}}
  • Evaluate a command, printing the output to stdout, and then quit:
    emacsclient --eval '({{command}})'
  • Specify an alternative editor in case no Emacs server is running:
    emacsclient --alternate-editor {{editor}} {{path/to/file}}
  • Stop a running Emacs server and all its instances, asking for confirmation on unsaved files:
    emacsclient --eval '(save-buffers-kill-emacs)'


aws kinesis

Official AWS CLI for Amazon Kinesis streaming data services. More information: https://docs.aws.amazon.com/cli/latest/reference/kinesis/index.html#cli-aws-kinesis.
  • Show all streams in the account:
    aws kinesis list-streams
  • Write one record to a Kinesis stream:
    aws kinesis put-record --stream-name {{name}} --partition-key {{key}} --data {{base64_encoded_message}}
  • Write a record to a Kinesis stream with inline base64 encoding:
    aws kinesis put-record --stream-name {{name}} --partition-key {{key}} --data "$( echo "{{my raw message}}" | base64 )"
  • List the shards available on a stream:
    aws kinesis list-shards --stream-name {{name}}
  • Get a shard iterator for reading from the oldest message in a stream's shard:
    aws kinesis get-shard-iterator --shard-iterator-type TRIM_HORIZON --stream-name {{name}} --shard-id {{id}}
  • Read records from a shard, using a shard iterator:
    aws kinesis get-records --shard-iterator {{iterator}}

pio debug

Debug PlatformIO projects. More information: https://docs.platformio.org/en/latest/core/userguide/cmd_debug.html.
  • Debug the PlatformIO project in the current directory:
    pio debug
  • Debug a specific PlatformIO project:
    pio debug --project-dir {{path/to/platformio_project}}
  • Debug a specific environment:
    pio debug --environment {{environment}}
  • Debug a PlatformIO project using a specific configuration file:
    pio debug --project-conf {{path/to/platformio.ini}}
  • Debug a PlatformIO project using the gdb debugger:
    pio debug --interface={{gdb}} {{gdb_options}}

encfs

Mounts or creates encrypted virtual filesystems. See also fusermount, which can unmount filesystems mounted by this command. More information: https://github.com/vgough/encfs.
  • Initialize or mount an encrypted filesystem:
    encfs {{/path/to/cipher_dir}} {{/path/to/mount_point}}
  • Initialize an encrypted filesystem with standard settings:
    encfs --standard {{/path/to/cipher_dir}} {{/path/to/mount_point}}
  • Run encfs in the foreground instead of spawning a daemon:
    encfs -f {{/path/to/cipher_dir}} {{/path/to/mount_point}}
  • Mount an encrypted snapshot of a plain directory:
    encfs --reverse {{path/to/plain_dir}} {{path/to/cipher_dir}}

pydoc

Display offline Python documentation. More information: https://docs.python.org/3/library/pydoc.html.
  • Print documentation on a subject (Python keyword, topic, function, module, package, etc.):
    pydoc {{subject}}
  • Start an HTTP server on an arbitrary unused port and open a [b]rowser to see the documentation:
    pydoc -b
  • Display help:
    pydoc

pveperf

A benchmarking tool in Proxmox Server. Gather CPU and hard disk performance data for the hard disk. More information: https://pve.proxmox.com/pve-docs/pveperf.1.html.
  • Show CPU and hard disk performance data for the hard disk mounted at /:
    pveperf

docker images

Manage Docker images. More information: https://docs.docker.com/engine/reference/commandline/images/.
  • List all Docker images:
    docker images
  • List all Docker images including intermediates:
    docker images --all
  • List the output in quiet mode (only numeric IDs):
    docker images --quiet
  • List all Docker images not used by any container:
    docker images --filter dangling=true
  • List images that contain a substring in their name:
    docker images "{{*name*}}"
  • Sort images by size:
    docker images --format "{{.ID}}\t{{.Size}}\t{{.Repository}}:{{.Tag}}" | sort -k 2 -h

asciinema

Record and replay terminal sessions, and optionally share them on asciinema.org. More information: https://asciinema.org/docs/usage.
  • Associate the local install of asciinema with an asciinema.org account:
    asciinema auth
  • Make a new recording (once finished, user will be prompted to upload it or save it locally):
    asciinema rec
  • Make a new recording and save it to a local file:
    asciinema rec {{path/to/file}}.cast
  • Replay a terminal recording from a local file:
    asciinema play {{path/to/file}}.cast
  • Replay a terminal recording hosted on asciinema.org:
    asciinema play https://asciinema.org/a/{{cast_id}}
  • Make a new recording, limiting any idle time to at most 2.5 seconds:
    asciinema rec -i {{2.5}}
  • Print the full output of a locally saved recording:
    asciinema cat {{path/to/file}}.cast
  • Upload a locally saved terminal session to asciinema.org:
    asciinema upload {{path/to/file}}.cast

jpegoptim

Optimise JPEG images. More information: https://github.com/tjko/jpegoptim.
  • Optimise a set of JPEG images, retaining all associated data:
    jpegoptim {{image1.jpeg}} {{image2.jpeg}} {{imageN.jpeg}}
  • Optimise JPEG images, stripping all non-essential data:
    jpegoptim --strip-all {{image1.jpeg}} {{image2.jpeg}} {{imageN.jpeg}}
  • Force the output images to be progressive:
    jpegoptim --all-progressive {{image1.jpeg}} {{image2.jpeg}} {{imageN.jpeg}}
  • Force the output images to have a fixed maximum filesize:
    jpegoptim --size={{250k}} {{image1.jpeg}} {{image2.jpeg}} {{imageN.jpeg}}

dcode

Recursively detect and decode strings, supporting hex, decimal, binary, base64, URL, FromChar encodings, Caesar ciphers, and MD5, SHA1, and SHA2 hashes. Warning: uses 3rd-party web services for MD5, SHA1 and SHA2 hash lookups. For sensitive data, use -s to avoid these services. More information: https://github.com/s0md3v/Decodify.
  • Recursively detect and decode a string:
    dcode "{{NjM3YTQyNzQ1YTQ0NGUzMg==}}"
  • Rotate a string by the specified offset:
    dcode -rot {{11}} "{{spwwz hzcwo}}"
  • Rotate a string by all 26 possible offsets:
    dcode -rot {{all}} "{{bpgkta xh qtiitg iwpc sr}}"
  • Reverse a string:
    dcode -rev "{{hello world}}"

pio system

Miscellaneous system commands for PlatformIO. More information: https://docs.platformio.org/en/latest/core/userguide/system/.
  • Install shell completion for the current shell (supports Bash, Fish, Zsh and PowerShell):
    pio system completion install
  • Uninstall shell completion for the current shell:
    pio system completion uninstall
  • Display system-wide PlatformIO information:
    pio system info
  • Remove unused PlatformIO data:
    pio system prune
  • Remove only cached data:
    pio system prune --cache
  • List unused PlatformIO data that would be removed but do not actually remove it:
    pio system prune --dry-run

pdfposter

Convert a large-sheeted PDF into multiple A4 pages for printing. More information: https://pdfposter.readthedocs.io.
  • Convert an A2 poster into 4 A4 pages:
    pdfposter --poster-size a2 {{input_file.pdf}} {{output_file.pdf}}
  • Scale an A4 poster to A3 and then generate 2 A4 pages:
    pdfposter --scale 2 {{input_file.pdf}} {{output_file.pdf}}

geth

The go-ethereum command-line interface. More information: https://geth.ethereum.org.
  • Connect to the main Ethereum network and automatically download the full node:
    geth
  • Connect to the Ropsten test network:
    geth --testnet
  • Create a new account:
    geth account new
  • Enable mining:
    geth --mine

zek

Generate a Go struct from XML. More information: https://github.com/miku/zek.
  • Generate a Go struct from a given XML from stdin and display output on stdout:
    cat {{path/to/input.xml}} | zek
  • Generate a Go struct from a given XML from stdin and send output to a file:
    curl -s {{https://url/to/xml}} | zek -o {{path/to/output.go}}
  • Generate an example Go program from a given XML from stdin and send output to a file:
    cat {{path/to/input.xml}} | zek -p -o {{path/to/output.go}}

zotero

Manage your bibliographies. More information: https://www.zotero.org/support.
  • Run with the GUI:
    zotero
  • Run in headless mode:
    zotero --headless
  • Run with a specific profile:
    zotero -P {{profile}}
  • Run the Migration Assistant:
    zotero --migration

zmore

View gzip compressed files with more. More information: https://manned.org/zmore.
  • Open a compressed file:
    zmore {{path/to/file.txt.gz}}
  • Display the next page of the file:
    <Space>
  • Search for a pattern in the file (press n to go to next match):
    /{{regular_expression}}
  • Exit:
    q
  • Display interactive command help:
    h

aws glue

CLI for AWS Glue. Defines the public endpoint for the AWS Glue service. More information: https://docs.aws.amazon.com/cli/latest/reference/glue/.
  • List jobs:
    aws glue list-jobs
  • Start a job:
    aws glue start-job-run --job-name {{job_name}}
  • Start running a workflow:
    aws glue start-workflow-run --name {{workflow_name}}
  • List triggers:
    aws glue list-triggers
  • Start a trigger:
    aws glue start-trigger --name {{trigger_name}}
  • Create a dev endpoint:
    aws glue create-dev-endpoint --endpoint-name {{name}} --role-arn {{role_arn_used_by_endpoint}}

sn

Mono StrongName utility for signing and verifying IL assemblies. More information: https://manned.org/sn.
  • Generate a new StrongNaming key:
    sn -k {{path/to/key.snk}}
  • Re-sign an assembly with the specified private key:
    sn -R {{path/to/assembly.dll}} {{path/to/key_pair.snk}}
  • Show the public key of the private key that was used to sign an assembly:
    sn -T {{path/to/assembly.exe}}
  • Extract the public key to a file:
    sn -e {{path/to/assembly.dll}} {{path/to/output.pub}}

plenv

Switch between multiple versions of Perl. More information: https://github.com/tokuhirom/plenv.
  • Show the currently selected Perl version and how it was selected:
    plenv version
  • List all available installed Perl versions:
    plenv versions
  • Set the global Perl version (used unless a local or shell version takes priority):
    plenv global {{version}}
  • Set the local application-specific Perl version (used in the current directory and all directories below it):
    plenv local {{version}}
  • Set the shell-specific Perl version (used for the current session only):
    plenv shell {{version}}
  • Display help:
    plenv
  • Display help for a command:
    plenv help {{command}}

shopt

Manage Bash shell options: variables (stored in $BASHOPTS) that control behavior specific to the Bash shell. Generic POSIX shell variables (stored in $SHELLOPTS) are managed with the set command instead. More information: https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html.
  • List of all settable options and whether they are set:
    shopt
  • Set an option:
    shopt -s {{option_name}}
  • Unset an option:
    shopt -u {{option_name}}
  • Print a list of all options and their status formatted as runnable shopt commands:
    shopt -p
  • Show help for the command:
    help shopt

git merge-repo

Merge two repository histories. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-merge-repo.
  • Merge a repository's branch into the current repository's directory:
    git merge-repo {{path/to/repo}} {{branch_name}} {{path/to/directory}}
  • Merge a remote repository's branch into the current repository's directory, not preserving history:
    git merge-repo {{path/to/remote_repo}} {{branch_name}} .

pdf-parser

Identify fundamental elements of a PDF file without rendering it. More information: https://blog.didierstevens.com/programs/pdf-tools.
  • Display statistics for a PDF file:
    pdf-parser --stats {{path/to/file.pdf}}
  • Display objects of type /Font in a PDF file:
    pdf-parser --type={{/Font}} {{path/to/file.pdf}}
  • Search for strings in indirect objects:
    pdf-parser --search={{search_string}} {{path/to/file.pdf}}

warp-diag

Diagnostic and feedback tool for Cloudflare's WARP service. See also: warp-cli. More information: https://developers.cloudflare.com/warp-client/.
  • Generate a zip file with information about the system configuration and the WARP connection:
    warp-diag
  • Generate a zip file with debug information including a timestamp to the output filename:
    warp-diag --add-ts
  • Save the output file under a specific directory:
    warp-diag --output {{path/to/directory}}
  • Submit a new feedback to Cloudflare's WARP interactively:
    warp-diag feedback

amass db

Interact with an Amass database. More information: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md#the-db-subcommand.
  • List all performed enumerations in the database:
    amass db -dir {{path/to/database_directory}} -list
  • Show results for a specified enumeration index and domain name:
    amass db -dir {{path/to/database_directory}} -d {{domain_name}} -enum {{index_from_list}} -show
  • List all found subdomains of a domain within an enumeration:
    amass db -dir {{path/to/database_directory}} -d {{domain_name}} -enum {{index_from_list}} -names
  • Show a summary of the found subdomains within an enumeration:
    amass db -dir {{path/to/database_directory}} -d {{domain_name}} -enum {{index_from_list}} -summary

tlmgr shell

Start an interactive shell of the native TeX Live manager. More information: https://www.tug.org/texlive/tlmgr.html.
  • Start an interactive shell of tlmgr:
    tlmgr shell
  • Run any tlmgr sub-command in the interactive shell:
    {{sub_command}} {{arguments}}
  • Quit the interactive shell:
    quit
  • List all TeX Live variables:
    get
  • Get the value of a TeX Live variable:
    get {{variable}}
  • Set the value of a TeX Live variable:
    set {{variable}} {{value}}
  • Restart the interactive shell:
    restart
  • Print the version of the current protocol:
    protocol

csvtool

Utility to filter and extract data from CSV formatted sources. More information: https://github.com/maroofi/csvtool.
  • Extract the second column from a CSV file:
    csvtool --column {{2}} {{path/to/file.csv}}
  • Extract the second and fourth columns from a CSV file:
    csvtool --column {{2,4}} {{path/to/file.csv}}
  • Extract lines from a CSV file where the second column exactly matches 'Foo':
    csvtool --column {{2}} --search '{{^Foo$}}' {{path/to/file.csv}}
  • Extract lines from a CSV file where the second column starts with 'Bar':
    csvtool --column {{2}} --search '{{^Bar}}' {{path/to/file.csv}}
  • Find lines in a CSV file where the second column ends with 'Baz' and then extract the third and sixth columns:
    csvtool --column {{2}} --search '{{Baz$}}' {{path/to/file.csv}} | csvtool --no-header --column {{3,6}}

osmium

Multipurpose tool for handling OpenStreetMap (OSM) files. More information: https://osmcode.org/osmium-tool/manual.
  • Show file information:
    osmium fileinfo {{path/to/input.osm}}
  • Display contents:
    osmium show {{path/to/input.osm}}
  • Convert file format from PBF into XML:
    osmium cat {{path/to/input.osm.pbf}} -o {{path/to/output.osm}}
  • Extract a geographic region by the given [b]ounding box:
    osmium extract -b {{min_longitude}},{{min_latitude}},{{max_longitude}},{{max_latitude}} {{path/to/input.pbf}} -o {{path/to/output.pbf}}
  • Extract a geographic region by a GeoJSON file:
    osmium extract -p {{path/to/polygon.geojson}} {{path/to/input.pbf}} -o {{path/to/output.pbf}}
  • Filter all objects tagged as "restaurant":
    osmium tags-filter {{path/to/input.pbf}} amenity=restaurant -o {{path/to/output.pbf}}
  • Filter for "way" objects tagged as "highway":
    osmium tags-filter {{path/to/input.pbf}} w/highway -o {{path/to/output.pbf}}
  • Filter "way" and "relation" objects tagged as "building":
    osmium tags-filter {{path/to/input.pbf}} wr/building -o {{path/to/output.pbf}}


deluge-console

An interactive interface for the Deluge BitTorrent client. More information: https://deluge-torrent.org.
  • Start the interactive console interface:
    deluge-console
  • Connect to a Deluge daemon instance:
    connect {{hostname}}:{{port}}
  • Add a torrent to the daemon:
    add {{url|magnet|path/to/file}}
  • Display information about all torrents:
    info
  • Display information about a specific torrent:
    info {{torrent_id}}
  • Pause a torrent:
    pause {{torrent_id}}
  • Resume a torrent:
    resume {{torrent_id}}
  • Remove a torrent from the daemon:
    rm {{torrent_id}}

ani-cli

A cli to browse and watch anime. More information: https://github.com/pystardust/ani-cli.
  • Search anime by name:
    ani-cli "{{anime_name}}"
  • Download episode:
    ani-cli -d "{{anime_name}}"
  • Use VLC as the media player:
    ani-cli -v "{{anime_name}}"
  • Specify episode to watch:
    ani-cli -a {{episode_number}} "{{anime_name}}"
  • Continue watching anime from history:
    ani-cli -c
  • Update ani-cli:
    ani-cli -U

delta

A viewer for Git and diff output. More information: https://github.com/dandavison/delta.
  • Compare files or directories:
    delta {{path/to/old_file_or_directory}} {{path/to/new_file_or_directory}}
  • Compare files or directories, showing the line numbers:
    delta --line-numbers {{path/to/old_file_or_directory}} {{path/to/new_file_or_directory}}
  • Compare files or directories, showing the differences side by side:
    delta --side-by-side {{path/to/old_file_or_directory}} {{path/to/new_file_or_directory}}
  • Compare files or directories, ignoring any Git configuration settings:
    delta --no-gitconfig {{path/to/old_file_or_directory}} {{path/to/new_file_or_directory}}
  • Compare, rendering commit hashes, file names, and line numbers as hyperlinks, according to the hyperlink spec for terminal emulators:
    delta --hyperlinks {{path/to/old_file_or_directory}} {{path/to/new_file_or_directory}}
  • Display the current settings:
    delta --show-config
  • Display supported languages and associated file extensions:
    delta --list-languages

orca-c

A C-port of the ORCA live programming environment. ORCA is an esoteric programming language for creating procedural sequencers. More information: https://github.com/hundredrabbits/Orca-c.
  • Start ORCA with an empty workspace:
    orca-c
  • Start ORCA and open a specific file:
    orca-c {{path/to/file.orca}}
  • Start ORCA and set a specific tempo (defaults to 120):
    orca-c --bpm {{beats_per_minute}}
  • Start ORCA and set the size of the grid:
    orca-c --initial-size {{columns}}x{{rows}}
  • Start ORCA and set the maximum number of undo steps (defaults to 100):
    orca-c --undo-limit {{limit}}
  • Show the main menu inside of ORCA:
    F1
  • Show all shortcuts inside of ORCA:
    ?
  • Show all ORCA operators inside of ORCA:
    Ctrl + g

spfquery

Query Sender Policy Framework records to validate e-mail senders. More information: https://www.libspf2.org/.
  • Check if an IP address is allowed to send an e-mail from the specified e-mail address:
    spfquery -ip {{8.8.8.8}} -sender {{[email protected]}}
  • Turn on debugging output:
    spfquery -ip {{8.8.8.8}} -sender {{[email protected]}} --debug

go list

List packages or modules. More information: https://golang.org/cmd/go/#hdr-List_packages_or_modules.
  • List packages:
    go list ./...
  • List standard packages:
    go list std
  • List packages in JSON format:
    go list -json time net/http
  • List module dependencies and available updates:
    go list -m -u all

pngquant

PNG converter and lossy image compressor. More information: https://pngquant.org/.
  • Compress a specific PNG as much as possible and write result to a new file:
    pngquant {{path/to/file.png}}
  • Compress a specific PNG and override original:
    pngquant --ext .png --force {{path/to/file.png}}
  • Try to compress a specific PNG with custom quality (skip if below the min value):
    pngquant --quality {{0-100}} {{path/to/file.png}}
  • Compress a specific PNG with the number of colors reduced to 64:
    pngquant {{64}} {{path/to/file.png}}
  • Compress a specific PNG and skip if the file is larger than the original:
    pngquant --skip-if-larger {{path/to/file.png}}
  • Compress a specific PNG and remove metadata:
    pngquant --strip {{path/to/file.png}}
  • Compress a specific PNG and save it to the given path:
    pngquant {{path/to/file.png}} --output {{path/to/file.png}}
  • Compress a specific PNG and show progress:
    pngquant --verbose {{path/to/file.png}}

iperf

Measure network bandwidth between computers. More information: https://iperf.fr.
  • Run on server:
    iperf -s
  • Run on server using UDP mode and set server port to listen on 5001:
    iperf -u -s -p {{5001}}
  • Run on client:
    iperf -c {{server_address}}
  • Run on client every 2 seconds:
    iperf -c {{server_address}} -i {{2}}
  • Run on client with 5 parallel threads:
    iperf -c {{server_address}} -P {{5}}
  • Run on client using UDP mode:
    iperf -u -c {{server_address}} -p {{5001}}

croc

Send and receive files easily and securely over any network. More information: https://github.com/schollz/croc.
  • Send a file or directory:
    croc send {{path/to/file_or_directory}}
  • Send a file or directory with a specific passphrase:
    croc send --code {{passphrase}} {{path/to/file_or_directory}}
  • Receive a file or directory on receiving machine:
    croc {{passphrase}}
  • Send and connect over a custom relay:
    croc --relay {{ip_to_relay}} send {{path/to/file_or_directory}}
  • Receive and connect over a custom relay:
    croc --relay {{ip_to_relay}} {{passphrase}}
  • Host a croc relay on the default ports:
    croc relay
  • Display parameters and options for a croc command:
    croc {{send|relay}} --help

2to3

Automated Python 2 to 3 code conversion. More information: https://docs.python.org/3/library/2to3.html.
  • Display the changes that would be performed without performing them (dry-run):
    2to3 {{path/to/file.py}}
  • Convert a Python 2 file to Python 3:
    2to3 --write {{path/to/file.py}}
  • Convert specific Python 2 language features to Python 3:
    2to3 --write {{path/to/file.py}} --fix={{raw_input}} --fix={{print}}
  • Convert all Python 2 language features except the specified ones to Python 3:
    2to3 --write {{path/to/file.py}} --nofix={{has_key}} --nofix={{isinstance}}
  • Display a list of all available language features that can be converted from Python 2 to Python 3:
    2to3 --list-fixes
  • Convert all Python 2 files in a directory to Python 3:
    2to3 --output-dir={{path/to/python3_directory}} --write-unchanged-files --nobackups {{path/to/python2_directory}}
  • Run 2to3 with multiple threads:
    2to3 --processes={{4}} --output-dir={{path/to/python3_directory}} --write --nobackups --no-diff {{path/to/python2_directory}}

fly

Command-line tool for concourse-ci. More information: https://concourse-ci.org/fly.html.
  • Authenticate with and save concourse target:
    fly --target {{target_name}} login --team-name {{team_name}} -c {{https://ci.example.com}}
  • List targets:
    fly targets
  • List pipelines:
    fly -t {{target_name}} pipelines
  • Upload or update a pipeline:
    fly -t {{target_name}} set-pipeline --config {{pipeline.yml}} --pipeline {{pipeline_name}}
  • Unpause pipeline:
    fly -t {{target_name}} unpause-pipeline --pipeline {{pipeline_name}}
  • Show pipeline configuration:
    fly -t {{target_name}} get-pipeline --pipeline {{pipeline_name}}
  • Update local copy of fly:
    fly -t {{target_name}} sync
  • Destroy pipeline:
    fly -t {{target_name}} destroy-pipeline --pipeline {{pipeline_name}}

docker load

Load Docker images from files or stdin. More information: https://docs.docker.com/engine/reference/commandline/load/.
  • Load a Docker image from stdin:
    docker load < {{path/to/image_file.tar}}
  • Load a Docker image from a specific file:
    docker load --input {{path/to/image_file.tar}}
  • Load a Docker image from a specific file in quiet mode:
    docker load --quiet --input {{path/to/image_file.tar}}

virsh pool-info

List information about a virtual machine storage pool. See also: virsh. More information: https://manned.org/virsh.
  • List the name, UUID, state, persistence type, autostart status, capacity, space allocated, and space available for the storage pool specified by name or UUID (determine using virsh pool-list):
    virsh pool-info --pool {{name|uuid}}

basename

Remove leading directory portions from a path. More information: https://www.gnu.org/software/coreutils/basename.
  • Show only the file name from a path:
    basename {{path/to/file}}
  • Show only the rightmost directory name from a path:
    basename {{path/to/directory/}}
  • Show only the file name from a path, with a suffix removed:
    basename {{path/to/file}} {{suffix}}

ctags

Generates an index (or tag) file of language objects found in source files for many popular programming languages. More information: https://ctags.io/.
  • Generate tags for a single file, and output them to a file named "tags" in the current directory, overwriting the file if it exists:
    ctags {{path/to/file}}
  • Generate tags for all files in the current directory, and output them to a specific file, overwriting the file if it exists:
    ctags -f {{path/to/file}} *
  • Generate tags for all files in the current directory and all subdirectories:
    ctags --recurse
  • Generate tags for a single file, and output them with start line number and end line number in JSON format:
    ctags --fields=+ne --output-format=json {{path/to/file}}

readlink

Follow symlinks and get symlink information. More information: https://www.gnu.org/software/coreutils/readlink.
  • Get the actual file to which the symlink points:
    readlink {{path/to/file}}
  • Get the absolute path to a file:
    readlink -f {{path/to/file}}

dvc commit

Record changes to DVC-tracked files in the project. More information: https://dvc.org/doc/command-reference/commit.
  • Commit changes to all DVC-tracked files and directories:
    dvc commit
  • Commit changes to a specified DVC-tracked target:
    dvc commit {{target}}
  • Recursively commit all DVC-tracked files in a directory:
    dvc commit --recursive {{path/to/directory}}

cksum

Calculates CRC checksums and byte counts of a file. Note, on old UNIX systems the CRC implementation may differ. More information: https://www.gnu.org/software/coreutils/cksum.
  • Display a 32-bit checksum, size in bytes and filename:
    cksum {{path/to/file}}

ocamlc

The OCaml bytecode compiler. Produces executables runnable by the OCaml interpreter. More information: https://ocaml.org.
  • Create a binary from a source file:
    ocamlc {{path/to/source_file.ml}}
  • Create a named binary from a source file:
    ocamlc -o {{path/to/binary}} {{path/to/source_file.ml}}
  • Automatically generate a module signature (interface) file:
    ocamlc -i {{path/to/source_file.ml}}

sk

Fuzzy finder written in Rust. Similar to fzf. More information: https://github.com/lotabout/skim.
  • Start skim on all files in the specified directory:
    find {{path/to/directory}} -type f | sk
  • Start skim for running processes:
    ps aux | sk
  • Start skim with a specified query:
    sk --query "{{query}}"
  • Select multiple files with Shift + Tab and write to a file:
    find {{path/to/directory}} -type f | sk --multi > {{path/to/file}}

pueue shutdown

Remotely shut down the daemon. Only use this subcommand if the daemon isn't started by a service manager. More information: https://github.com/Nukesor/pueue.
  • Shutdown the daemon without a service manager:
    pueue shutdown

pnpm

Fast, disk space efficient package manager for Node.js. Manage Node.js projects and their module dependencies. More information: https://pnpm.io.
  • Create a package.json file:
    pnpm init
  • Download all the packages listed as dependencies in package.json:
    pnpm install
  • Download a specific version of a package and add it to the list of dependencies in package.json:
    pnpm add {{module_name}}@{{version}}
  • Download a package and add it to the list of [D]ev dependencies in package.json:
    pnpm add -D {{module_name}}
  • Download a package and install it [g]lobally:
    pnpm add -g {{module_name}}
  • Uninstall a package and remove it from the list of dependencies in package.json:
    pnpm remove {{module_name}}
  • Print a tree of locally installed modules:
    pnpm list
  • List top-level [g]lobally installed modules:
    pnpm list -g --depth={{0}}

keepass2

A light-weight password manager. More information: https://keepass.info.
  • Start KeePass 2, opening the most recently opened password database:
    keepass2
  • Start KeePass 2, opening a specific password database:
    keepass2 {{path/to/database.kbdx}}
  • Use a specific key file to open a password database:
    keepass2 {{path/to/database.kbdx}} -keyfile:{{path/to/key/file.key}}

gum

A tool for making glamorous shell scripts. More information: https://github.com/charmbracelet/gum.
  • Interactively pick a specific option to print to stdout:
    gum choose "{{option_1}}" "{{option_2}}" "{{option_3}}"
  • Open an interactive prompt for the user to input a string with a specific placeholder:
    gum input --placeholder "{{value}}"
  • Open an interactive confirmation prompt and exit with either 0 or 1:
    gum confirm "{{Continue?}}" --default=false --affirmative "{{Yes}}" --negative "{{No}}" {{&& echo "Yes selected" || echo "No selected"}}
  • Show a spinner while a command is taking place with text alongside:
    gum spin --spinner {{dot|line|minidot|jump|pulse|points|globe|moon|monkey|meter|hamburger}} --title "{{loading...}}" -- {{command}}
  • Format text to include emojis:
    gum format -t {{emoji}} "{{:smile: :heart: hello}}"
  • Interactively prompt for multi-line text (CTRL + D to save) and write to data.txt:
    gum write > {{data.txt}}

autoflake

A tool to remove unused imports and variables from Python code. More information: https://github.com/myint/autoflake.
  • Remove unused variables from a single file and display the diff:
    autoflake --remove-unused-variables {{path/to/file.py}}
  • Remove unused imports from multiple files and display the diffs:
    autoflake --remove-all-unused-imports {{path/to/file1.py path/to/file2.py ...}}
  • Remove unused variables from a file, overwriting the file:
    autoflake --remove-unused-variables --in-place {{path/to/file.py}}
  • Remove unused variables recursively from all files in a directory, overwriting each file:
    autoflake --remove-unused-variables --in-place --recursive {{path/to/directory}}

dcfldd

Enhanced version of dd for forensics and security. More information: http://dcfldd.sourceforge.net/.
  • Copy a disk to a raw image file and hash the image using SHA256:
    dcfldd if=/dev/{{disk_device}} of={{file.img}} hash=sha256 hashlog={{file.hash}}
  • Copy a disk to a raw image file, hashing each 1 GB chunk:
    dcfldd if=/dev/{{disk_device}} of={{file.img}} hash={{sha512|sha384|sha256|sha1|md5}} hashlog={{file.hash}} hashwindow={{1G}}

fortune

Print a random quotation (fortune-cookie style). More information: https://manned.org/fortune.
  • Print a quotation:
    fortune
  • Print an offensive quotation:
    fortune -o
  • Print a long quotation:
    fortune -l
  • Print a short quotation:
    fortune -s
  • List the available quotation database files:
    fortune -f
  • Print a quotation from one of the database files listed by fortune -f:
    fortune {{path/to/file}}

rustup doc

Open the offline Rust documentation for the current toolchain. There are a lot more documentation pages not mentioned here. See rustup help doc for more information. More information: https://rust-lang.github.io/rustup.
  • Open the main page:
    rustup doc
  • Open the documentation for a specific topic (a module in the standard library, a type, a keyword, etc.):
    rustup doc {{std::fs|usize|fn|...}}
  • Open the Rust Programming Language book:
    rustup doc --book
  • Open the Cargo book:
    rustup doc --cargo
  • Open the Rust Reference:
    rustup doc --reference

limactl

Virtual machine manager for Linux guests, with multiple VM templates available. Can be used to run containers on macOS, but also for generic virtual machine use cases on macOS and Linux hosts. More information: https://github.com/lima-vm/lima.
  • List VMs:
    limactl list
  • Create a VM using the default settings and optionally provide a name and/or a template (see limactl create --list-templates for available templates):
    limactl create --name {{vm_name}} template://{{debian|fedora|ubuntu|…}}
  • Start a VM (this might install some dependencies in it and take a few minutes):
    limactl start {{vm_name}}
  • Open a remote shell inside a VM:
    limactl shell {{vm_name}}
  • Run a command inside a VM:
    limactl shell {{vm_name}} {{command}}
  • Stop/shutdown a VM:
    limactl stop {{vm_name}}
  • Delete a VM:
    limactl remove {{vm_name}}

tlmgr dump-tlpdb

Dump the TeX Live package database. More information: https://www.tug.org/texlive/tlmgr.html.
  • Dump the local package database:
    tlmgr dump-tlpdb --local
  • Dump the remote package database:
    tlmgr dump-tlpdb --remote
  • Dump the local package database as JSON:
    tlmgr dump-tlpdb --local --json

qdbus

Inter-Process Communication (IPC) and Remote Procedure Calling (RPC) mechanism originally developed for Linux. More information: https://doc.qt.io/qt-5/qtdbus-index.html.
  • List available service names:
    qdbus
  • List object paths for a specific service:
    qdbus {{service_name}}
  • List methods, signals and properties available on a specific object:
    qdbus {{service_name}} {{/path/to/object}}
  • Execute a specific method passing arguments and display the returned value:
    qdbus {{service_name}} {{/path/to/object}} {{method_name}} {{argument1}} {{argument2}}
  • Display the current brightness value in a KDE Plasma session:
    qdbus {{org.kde.Solid.PowerManagement}} {{/org/kde/Solid/PowerManagement/Actions/BrightnessControl}} {{org.kde.Solid.PowerManagement.Actions.BrightnessControl.brightness}}
  • Set a specific brightness to a KDE Plasma session:
    qdbus {{org.kde.Solid.PowerManagement}} {{/org/kde/Solid/PowerManagement/Actions/BrightnessControl}} {{org.kde.Solid.PowerManagement.Actions.BrightnessControl.setBrightness}} {{5000}}
  • Invoke volume up shortcut in a KDE Plasma session:
    qdbus {{org.kde.kglobalaccel}} {{/component/kmix}} {{invokeShortcut}} "{{increase_volume}}"
  • Gracefully log out and then do nothing, reboot or shut down:
    qdbus {{org.kde.Shutdown}} {{/Shutdown}} {{logout|logoutAndReboot|logoutAndShutdown}}

shc

Generic shell script compiler. More information: https://manned.org/shc.
  • Compile a shell script:
    shc -f {{script}}
  • Compile a shell script and specify an output binary file:
    shc -f {{script}} -o {{binary}}
  • Compile a shell script and set an expiration date for the executable:
    shc -f {{script}} -e {{dd/mm/yyyy}}
  • Compile a shell script and set a message to display upon expiration:
    shc -f {{script}} -e {{dd/mm/yyyy}} -m "{{Please contact your provider}}"

yank

Read input from stdin and display a selection interface that allows a field to be selected and copied to the clipboard. More information: https://manned.org/yank.
  • Yank using the default delimiters (\f, \n, \r, \s, \t):
    {{sudo dmesg}} | yank
  • Yank an entire line:
    {{sudo dmesg}} | yank -l
  • Yank using a specific delimiter:
    {{echo hello=world}} | yank -d {{=}}
  • Only yank fields matching a specific pattern:
    {{ps ux}} | yank -g "{{[0-9]+}}"

az storage blob

Manage blob storage containers and objects in Azure. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/storage/blob.
  • Download a blob to a file path:
    az storage blob download --account-name {{storage_account_name}} --account-key {{storage_account_key}} -c {{container_name}} -n {{path/to/blob}} -f {{path/to/local_file}}
  • Download blobs from a blob container recursively:
    az storage blob download-batch --account-name {{storage_account_name}} --account-key {{storage_account_key}} -s {{container_name}} -d {{path/to/remote}} --pattern {{filename_regex}} --destination {{path/to/destination}}
  • Upload a local file to blob storage:
    az storage blob upload --account-name {{storage_account_name}} --account-key {{storage_account_key}} -c {{container_name}} -n {{path/to/blob}} -f {{path/to/local_file}}
  • Delete a blob object:
    az storage blob delete --account-name {{storage_account_name}} --account-key {{storage_account_key}} -c {{container_name}} -n {{path/to/blob}}
  • Generate a shared access signature for a blob:
    az storage blob generate-sas --account-name {{storage_account_name}} --account-key {{storage_account_key}} -c {{container_name}} -n {{path/to/blob}} --permissions {{permission_set}} --expiry {{Y-m-d'T'H:M'Z'}} --https-only

docker swarm

A container orchestration tool. More information: https://docs.docker.com/engine/swarm/.
  • Initialize a swarm cluster:
    docker swarm init
  • Display the token to join a manager or a worker:
    docker swarm join-token {{worker|manager}}
  • Join a new node to the cluster:
    docker swarm join --token {{token}} {{manager_node_url:2377}}
  • Remove a worker from the swarm (run inside the worker node):
    docker swarm leave
  • Display the current CA certificate in PEM format:
    docker swarm ca
  • Rotate the current CA certificate and display the new certificate:
    docker swarm ca --rotate
  • Change the valid period for node certificates:
    docker swarm update --cert-expiry {{hours}}h{{minutes}}m{{seconds}}s

nvme

NVMe storage user space utility. More information: https://github.com/linux-nvme/nvme-cli.
  • List all nvme devices:
    sudo nvme list
  • Show device information:
    sudo nvme smart-log {{device}}


mutool

Convert PDF files, query information and extract data. More information: https://mupdf.readthedocs.io/en/latest/mupdf-command-line.html.
  • Convert pages 1-10 into 10 PNGs (Note: %nd in the output placeholder must be replaced with a print modifier like %d or %2d):
    mutool convert -o {{path/to/output%nd.png}} {{path/to/input.pdf}} {{1-10}}
  • Convert pages 2, 3 and 5 of a PDF into text in stdout:
    mutool draw -F {{txt}} {{path/to/input.pdf}} {{2,3,5}}
  • Concatenate multiple PDF files:
    mutool merge -o {{path/to/output.pdf}} {{path/to/input1.pdf path/to/input2.pdf ...}}
  • Query information about all content embedded in a PDF:
    mutool info {{path/to/input.pdf}}
  • Extract all images, fonts and resources embedded in a PDF out into the current directory:
    mutool extract {{path/to/input.pdf}}
  • Print the outline (table of contents) of a PDF:
    mutool show {{path/to/input.pdf}} outline

yard

Documentation tool for Ruby. More information: https://yardoc.org/.
  • Create the documentation:
    yard
  • Create the documentation and save it to one file:
    yard --one-file
  • List all undocumented objects:
    yard stats --list-undoc

php

PHP command-line interface. More information: https://php.net.
  • Parse and execute a PHP script:
    php {{path/to/file}}
  • Check syntax on (i.e. lint) a PHP script:
    php -l {{path/to/file}}
  • Run PHP interactively:
    php -a
  • Run PHP code (Notes: Don't use tags; escape double quotes with backslash):
    php -r "{{code}}"
  • Start a PHP built-in web server in the current directory:
    php -S {{host:port}}
  • Get a list of installed PHP extensions:
    php -m
  • Display information about the current PHP configuration:
    php -i
  • Display information about a specific function:
    php --rf {{function_name}}

linode-cli domains

Manage Linode Domains and DNS configuration. See also: linode-cli. More information: https://www.linode.com/docs/products/tools/cli/guides/domains/.
  • List all managed domains:
    linode-cli domains list
  • Create a new managed domain:
    linode-cli domains create --domain {{domain_name}} --type {{master|slave}} --soa-email {{email}}
  • View details of a specific domain:
    linode-cli domains view {{domain_id}}
  • Delete a managed domain:
    linode-cli domains delete {{domain_id}}
  • List records for a specific domain:
    linode-cli domains records-list {{domain_id}}
  • Add a DNS record to a domain:
    linode-cli domains records-create {{domain_id}} --type {{A|AAAA|CNAME|MX|...}} --name {{subdomain}} --target {{target_value}}
  • Update a DNS record for a domain:
    linode-cli domains records-update {{domain_id}} {{record_id}} --target {{new_target_value}}
  • Delete a DNS record from a domain:
    linode-cli domains records-delete {{domain_id}} {{record_id}}

pyinfra

Automates infrastructure at a large scale. More information: https://docs.pyinfra.com.
  • Execute a command over SSH:
    pyinfra {{target_ip_address}} exec -- {{command_name_and_arguments}}
  • Execute contents of a deploy file on a list of targets:
    pyinfra {{path/to/target_list.py}} {{path/to/deploy.py}}
  • Execute commands on locally:
    pyinfra @local {{path/to/deploy.py}}
  • Execute commands over Docker:
    pyinfra @docker/{{container}} {{path/to/deploy.py}}

hadolint

Dockerfile linter. More information: https://github.com/hadolint/hadolint.
  • Lint a Dockerfile:
    hadolint {{path/to/Dockerfile}}
  • Lint a Dockerfile, displaying the output in JSON format:
    hadolint --format {{json}} {{path/to/Dockerfile}}
  • Lint a Dockerfile, displaying the output in a specific format:
    hadolint --format {{tty|json|checkstyle|codeclimate|codacy}} {{path/to/Dockerfile}}
  • Lint a Dockerfile ignoring specific rules:
    hadolint --ignore {{DL3006}} --ignore {{DL3008}} {{path/to/Dockerfile}}
  • Lint multiple Dockerfiles using specific trusted registries:
    hadolint --trusted-registry {{docker.io}} --trusted-registry {{example.com}}:{{5000}} {{path/to/Dockerfile}} {{path/to/another/Dockerfile}}

xml transform

Transform XML documents using XSLT. More information: http://xmlstar.sourceforge.net/docs.php.
  • Transform an XML document using an XSL stylesheet, passing one XPATH parameter and one literal string parameter:
    xml transform {{path/to/stylesheet.xsl}} -p "{{Count='count(/xml/table/rec)'}}" -s {{Text="Count="}} {{path/to/input.xml|URI}}
  • Display help for the transform subcommand:
    xml transform --help

auditd

This responds to requests from the audit utility and notifications from the kernel. It should not be invoked manually. More information: https://manned.org/auditd.
  • Start the daemon:
    auditd
  • Start the daemon in debug mode:
    auditd -d
  • Start the daemon on-demand from launchd:
    auditd -l

git update-ref

Git command for creating, updating, and deleting Git refs. More information: https://git-scm.com/docs/git-update-ref.
  • Delete a ref, useful for soft resetting the first commit:
    git update-ref -d {{HEAD}}
  • Update ref with a message:
    git update-ref -m {{message}} {{HEAD}} {{4e95e05}}

sdk

Tool for managing parallel versions of multiple Software Development Kits. Supports Java, Groovy, Scala, Kotlin, Gradle, Maven, Vert.x and many others. More information: https://sdkman.io/usage.
  • Install an SDK version:
    sdk install {{sdk_name}} {{sdk_version}}
  • Use a specific SDK version for the current terminal session:
    sdk use {{sdk_name}} {{sdk_version}}
  • Show the stable version of any available SDK:
    sdk current {{sdk_name}}
  • Show the stable versions of all installed SDKs:
    sdk current
  • List all available SDKs:
    sdk list
  • List all versions of an SDK:
    sdk list {{sdk_name}}
  • Upgrade an SDK to the latest stable version:
    sdk upgrade {{sdk_name}}
  • Uninstall a specific SDK version:
    sdk rm {{sdk_name}} {{sdk_version}}

bzegrep

Find extended regular expression patterns in bzip2 compressed files using egrep. More information: https://manned.org/bzegrep.
  • Search for extended regular expressions (supporting ?, +, {}, () and |) in a compressed file (case-sensitive):
    bzegrep "{{search_pattern}}" {{path/to/file}}
  • Search for extended regular expressions (supporting ?, +, {}, () and |) in a compressed file (case-insensitive):
    bzegrep --ignore-case "{{search_pattern}}" {{path/to/file}}
  • Search for lines that do not match a pattern:
    bzegrep --invert-match "{{search_pattern}}" {{path/to/file}}
  • Print file name and line number for each match:
    bzegrep --with-filename --line-number "{{search_pattern}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    bzegrep --only-matching "{{search_pattern}}" {{path/to/file}}
  • Recursively search files in a bzip2 compressed tar archive for a pattern:
    bzegrep --recursive "{{search_pattern}}" {{path/to/file}}

rip

Remove files or directories by sending them to the graveyard, allowing for them to be recovered. More information: https://github.com/nivekuil/rip.
  • Remove files or directories from specified locations and place them in the graveyard:
    rip {{path/to/file_or_directory}} {{path/to/another/file_or_directory}}
  • Interactively remove files or directories, with a prompt before every removal:
    rip --inspect {{path/to/file_or_directory}} {{path/to/another/file_or_directory}}
  • List all files and directories in the graveyard that were originally within the current directory:
    rip --seance
  • Permanently delete every file and directory in the graveyard:
    rip --decompose
  • Put back the files and directories which were affected by the most recent removal:
    rip --unbury
  • Put back every file and directory that is listed by rip --seance:
    rip --seance --unbury

makepasswd

Generate and encrypt passwords. More information: https://manpages.debian.org/latest/makepasswd/makepasswd.1.en.html.
  • Generate a random password (8 to 10 characters long, containing letters and numbers):
    makepasswd
  • Generate a 10 characters long password:
    makepasswd --chars {{10}}
  • Generate a 5 to 10 characters long password:
    makepasswd --minchars {{5}} --maxchars {{10}}
  • Generate a password containing only the characters "b", "a" or "r":
    makepasswd --string {{bar}}

vgmstream_cli

Play a wide variety of audio formats used in video games and convert them into wav. More information: https://vgmstream.org/doc/USAGE.
  • Decode an adc file to wav. (Default output name is input.wav):
    vgmstream_cli {{path/to/input.adc}} -o {{path/to/output.wav}}
  • Print metadata without decoding the audio:
    vgmstream_cli {{path/to/input.adc}} -m
  • Decode an audio file without loops:
    vgmstream_cli {{path/to/input.adc}} -o {{path/to/output.wav}} -i
  • Decode with three loops, then add a 3s delay followed by a 5s fadeout:
    vgmstream_cli {{path/to/input.adc}} -o {{path/to/output.wav}} -l {{3.0}} -f {{5.0}} -d {{3.0}}
  • Convert multiple files to bgm_(original name).wav (Default -o pattern is ?f.wav):
    vgmstream_cli -o {{path/to/bgm_?f.wav}} {{path/to/file1.adc}} {{path/to/file2.adc}}
  • Play the file looping endlessly (channels and rate must match metadata):
    vgmstream_cli {{path/to/input.adc}} -pec | aplay --format cd --channels {{1}} --rate {{44100}}


polybar

A fast and easy-to-use status bar. More information: https://github.com/polybar/polybar/wiki.
  • Start Polybar (the bar name is optional if only one bar is defined in the config):
    polybar {{bar_name}}
  • Start Polybar with the specified config:
    polybar --config={{path/to/config.ini}} {{bar_name}}
  • Start Polybar and reload the bar when the config file is modified:
    polybar --reload {{bar_name}}

liquidctl

Control liquid coolers. More information: https://github.com/liquidctl/liquidctl.
  • List available devices:
    liquidctl list
  • Initialize all supported devices:
    sudo liquidctl initialize all
  • Print the status of available liquid coolers:
    liquidctl status
  • Match a string in product name to pick a device and set its fan speed to 0% at 20°C, 50% at 50°C and 100% at 70°C:
    liquidctl --match {{string}} set fan speed {{20 0 50 50 70 100}}

envsubst

Substitutes environment variables with their value in shell format strings. Variables to be replaced should be in either ${var} or $var format. More information: https://www.gnu.org/software/gettext/manual/html_node/envsubst-Invocation.html.
  • Replace environment variables in stdin and output to stdout:
    echo '{{$HOME}}' | envsubst
  • Replace environment variables in an input file and output to stdout:
    envsubst < {{path/to/input_file}}
  • Replace environment variables in an input file and output to a file:
    envsubst < {{path/to/input_file}} > {{path/to/output_file}}
  • Replace environment variables in an input file from a space-separated list:
    envsubst '{{$USER $SHELL $HOME}}' < {{path/to/input_file}}

peerflix

Stream video- or audio-based torrents to a media player. More information: https://github.com/mafintosh/peerflix.
  • Stream the largest media file in a torrent:
    peerflix "{{torrent_url|magnet_link}}"
  • List all streamable files contained in a torrent (given as a magnet link):
    peerflix "{{magnet:?xt=urn:btih:0123456789abcdef0123456789abcdef01234567}}" --list
  • Stream the largest file in a torrent, given as a torrent URL, to VLC:
    peerflix "{{http://example.net/music.torrent}}" --vlc
  • Stream the largest file in a torrent to MPlayer, with subtitles:
    peerflix "{{torrent_url|magnet_link}}" --mplayer --subtitles {{subtitle-file.srt}}
  • Stream all files from a torrent to Airplay:
    peerflix "{{torrent_url|magnet_link}}" --all --airplay

qmmp

An audio player. More information: http://qmmp.ylsoftware.com.
  • Launch qmmp:
    qmmp
  • Start or stop the currently playing audio:
    qmmp --play-pause
  • Seek forwards or backward a specific amount of time in seconds:
    qmmp --seek-{{fwd|bwd}} {{time_in_seconds}}
  • Play the next audio file:
    qmmp --next
  • Play the previous audio file:
    qmmp --previous
  • Print the current volume:
    qmmp --volume-status
  • Increase or decrease the volume of the currently playing audio by 5 steps:
    qmmp --volume-{{inc|dec}}

kcat

Apache Kafka producer and consumer tool. More information: https://github.com/edenhill/kcat.
  • Consume messages starting with the newest offset:
    kcat -C -t {{topic}} -b {{brokers}}
  • Consume messages starting with the oldest offset and exit after the last message is received:
    kcat -C -t {{topic}} -b {{brokers}} -o beginning -e
  • Consume messages as a Kafka consumer group:
    kcat -G {{group_id}} {{topic}} -b {{brokers}}
  • Publish message by reading from stdin:
    echo {{message}} | kcat -P -t {{topic}} -b {{brokers}}
  • Publish messages by reading from a file:
    kcat -P -t {{topic}} -b {{brokers}} {{path/to/file}}
  • List metadata for all topics and brokers:
    kcat -L -b {{brokers}}
  • List metadata for a specific topic:
    kcat -L -t {{topic}} -b {{brokers}}
  • Get offset for a topic/partition for a specific point in time:
    kcat -Q -t {{topic}}:{{partition}}:{{unix_timestamp}} -b {{brokers}}

hg commit

Commit all staged or specified files to the repository. More information: https://www.mercurial-scm.org/doc/hg.1.html#commit.
  • Commit staged files to the repository:
    hg commit
  • Commit a specific file or directory:
    hg commit {{path/to/file_or_directory}}
  • Commit with a specific message:
    hg commit --message {{message}}
  • Commit all files matching a specified pattern:
    hg commit --include {{pattern}}
  • Commit all files, excluding those that match a specified pattern:
    hg commit --exclude {{pattern}}
  • Commit using the interactive mode:
    hg commit --interactive

todoist

Access https://todoist.com from the command-line. More information: https://github.com/sachaos/todoist.
  • Add a task:
    todoist add "{{task_name}}"
  • Add a high priority task with a label, project, and due date:
    todoist add "{{task_name}}" --priority {{1}} --label-ids "{{label_id}}" --project-name "{{project_name}}" --date "{{tmr 9am}}"
  • Add a high priority task with a label, project, and due date in quick mode:
    todoist quick '#{{project_name}} "{{tmr 9am}}" p{{1}} {{task_name}} @{{label_name}}'
  • List all tasks with a header and color:
    todoist --header --color list
  • List all high priority tasks:
    todoist list --filter p{{1}}
  • List today's tasks with high priority that have the specified label:
    todoist list --filter '(@{{label_name}} | {{today}}) & p{{1}}'

go tool

Run a specific Go tool or command. Execute a Go command as a stand-alone binary, typically for debugging. More information: https://pkg.go.dev/cmd/go#hdr-Run_specified_go_tool.
  • List available tools:
    go tool
  • Run the go link tool:
    go tool link {{path/to/main.o}}
  • Print the command that would be executed, but do not execute it (similar to whereis):
    go tool -n {{command}} {{arguments}}
  • Display documentation for a specified tool:
    go tool {{command}} --help

llvm-as

LLVM Intermediate Representation (.ll) to Bitcode (.bc) assembler. More information: https://llvm.org/docs/CommandGuide/llvm-as.html.
  • Assemble an IR file:
    llvm-as -o {{path/to/out.bc}} {{path/to/source.ll}}
  • Assemble an IR file and include a module hash in the produced Bitcode file:
    llvm-as --module-hash -o {{path/to/out.bc}} {{path/to/source.ll}}
  • Read an IR file from stdin and assemble it:
    cat {{path/to/source.ll}} | llvm-as -o {{path/to/out.bc}}

st-util

Run GDB (GNU Debugger) server to interact with STM32 ARM Cortex microcontoller. More information: https://github.com/texane/stlink.
  • Run GDB server on port 4500:
    st-util -p {{4500}}
  • Connect to GDB server:
    (gdb) target extended-remote {{localhost}}:{{4500}}
  • Write firmware to device:
    (gdb) load {{firmware.elf}}

montage

ImageMagick image montage tool. Tiles images into a customisable grid. More information: https://imagemagick.org/script/montage.php.
  • Tile images into a grid, automatically resizing images larger than the grid cell size:
    montage {{image1.png}} {{image2.jpg}} {{imageN.png}} montage.jpg
  • Tile images into a grid, automatically calculating the grid cell size from the largest image:
    montage {{image1.png}} {{image2.jpg}} {{imageN.png}} -geometry +0+0 montage.jpg
  • Set the grid cell size and resize images to fit it before tiling:
    montage {{image1.png}} {{image2.jpg}} {{imageN.png}} -geometry 640x480+0+0 montage.jpg
  • Limit the number of rows and columns in the grid, causing input images to overflow into multiple output montages:
    montage {{image1.png}} {{image2.jpg}} {{imageN.png}} -geometry +0+0 -tile 2x3 montage_%d.jpg
  • Resize and crop images to fill their grid cells before tiling:
    montage {{image1.png}} {{image2.jpg}} {{imageN.png}} -geometry +0+0 -resize 640x480^ -gravity center -crop 640x480+0+0 montage.jpg

gdalwarp

Image reprojection and warping utility. More information: https://gdal.org/programs/gdalwarp.
  • Reproject a raster dataset:
    gdalwarp -t_srs {{EPSG:4326}} {{path/to/input.tif}} {{path/to/output.tif}}
  • Crop a raster dataset by using specific coordinates:
    gdalwarp -te {{min_x}} {{min_y}} {{max_x}} {{max_y}} -te_srs {{EPSG:4326}} {{path/to/input.tif}} {{path/to/output.tif}}
  • Crop a raster dataset using a vector layer:
    gdalwarp -cutline {{path/to/area_to_cut.geojson}} -crop_to_cutline {{path/to/input.tif}} {{path/to/output.tif}}

gprbuild

A high-level build tool for projects written in Ada and other languages (C/C++/Fortran). More information: https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html.
  • Build a project (assuming only one *.gpr file exists in the current directory):
    gprbuild
  • Build a specific [P]roject file:
    gprbuild -P{{project_name}}
  • Clean up the build workspace:
    gprclean
  • Install compiled binaries:
    gprinstall --prefix {{path/to/installation/dir}}

git describe

Give an object a human-readable name based on an available ref. More information: https://git-scm.com/docs/git-describe.
  • Create a unique name for the current commit (the name contains the most recent annotated tag, the number of additional commits, and the abbreviated commit hash):
    git describe
  • Create a name with 4 digits for the abbreviated commit hash:
    git describe --abbrev={{4}}
  • Generate a name with the tag reference path:
    git describe --all
  • Describe a Git tag:
    git describe {{v1.0.0}}
  • Create a name for the last commit of a given branch:
    git describe {{branch_name}}

cradle install

Installs the Cradle PHP framework components. More information: https://cradlephp.github.io/docs/3.B.-Reference-Command-Line-Tools.html#install.
  • Install Cradle's components (User will be prompted for further details):
    cradle install
  • Forcefully overwrite files:
    cradle install --force
  • Skip running SQL migrations:
    cradle install --skip-sql
  • Skip running package updates:
    cradle install --skip-versioning
  • Use specific database details:
    cradle install -h {{hostname}} -u {{username}} -p {{password}}

gh completion

Generate shell completion scripts for GitHub CLI commands. More information: https://cli.github.com/manual/gh_completion.
  • Display the subcommand help:
    gh completion
  • Print a completion script:
    gh completion --shell {{bash|zsh|fish|powershell}}
  • Append the gh completion script to ~/.bashrc:
    gh completion --shell {{bash}} >> {{~/.bashrc}}
  • Append the gh completion script to ~/.zshrc:
    gh completion --shell {{zsh}} >> {{~/.zshrc}}

hg remove

Remove specified files from the staging area. More information: https://www.mercurial-scm.org/doc/hg.1.html#remove.
  • Remove files or directories from the staging area:
    hg remove {{path/to/file}}
  • Remove all staged files matching a specified pattern:
    hg remove --include {{pattern}}
  • Remove all staged files, excluding those that match a specified pattern:
    hg remove --exclude {{pattern}}
  • Recursively remove sub-repositories:
    hg remove --subrepos
  • Remove files from the repository that have been physically removed:
    hg remove --after

twine

Utility for publishing Python packages on PyPI. More information: https://twine.readthedocs.io/en/stable/#commands.
  • Upload to PyPI:
    twine upload dist/*
  • Upload to the Test PyPI [r]epository to verify things look right:
    twine upload -r testpypi dist/*
  • Upload to PyPI with a specified [u]sername and [p]assword:
    twine upload -u {{username}} -p {{password}} dist/*
  • Upload to an alternative repository URL:
    twine upload --repository-url {{repository_url}} dist/*
  • Check that your distribution's long description should render correctly on PyPI:
    twine check dist/*
  • Upload using a specific pypirc configuration file:
    twine upload --config-file {{configuration_file}} dist/*
  • Continue uploading files if one already exists (only valid when uploading to PyPI):
    twine upload --skip-existing dist/*
  • Upload to PyPI showing detailed information:
    twine upload --verbose dist/*

jhsdb

Attach to a Java process or launch a postmortem debugger to analyze the core dump from a crashed Java Virtual Machine. More information: https://manned.org/jhsdb.
  • Print stack and locks information of a Java process:
    jhsdb jstack --pid {{pid}}
  • Open a core dump in interactive debug mode:
    jhsdb clhsdb --core {{path/to/core_dump}} --exe {{path/to/jdk/bin/java}}
  • Start a remote debug server:
    jhsdb debugd --pid {{pid}} --serverid {{optional_unique_id}}
  • Connect to a process in interactive debug mode:
    jhsdb clhsdb --pid {{pid}}

fdroid

F-Droid build tool. F-Droid is an installable catalog of FOSS (Free and Open Source Software) applications for the Android platform. More information: https://f-droid.org/.
  • Build a specific app:
    fdroid build {{app_id}}
  • Build a specific app in a build server VM:
    fdroid build {{app_id}} --server
  • Publish the app to the local repository:
    fdroid publish {{app_id}}
  • Install the app on every connected device:
    fdroid install {{app_id}}
  • Check if the metadata is formatted correctly:
    fdroid lint --format {{app_id}}
  • Fix the formatting automatically (if possible):
    fdroid rewritemeta {{app_id}}

dfc

Gives an overview of the filesystem disk space usage with colors and graphs. More information: https://projects.gw-computing.net/projects/dfc/wiki.
  • Display filesystems and their disk usage in human-readable form with colors and graphs:
    dfc
  • Display all filesystems including pseudo, duplicate and inaccessible filesystems:
    dfc -a
  • Display filesystems without color:
    dfc -c never
  • Display filesystems containing "ext" in the filesystem type:
    dfc -t ext

git range-diff

Compare two commit ranges (e.g. two versions of a branch). More information: https://git-scm.com/docs/git-range-diff.
  • Diff the changes of two individual commits:
    git range-diff {{commit_1}}^! {{commit_2}}^!
  • Diff the changes of ours and theirs from their common ancestor, e.g. after an interactive rebase:
    git range-diff {{theirs}}...{{ours}}
  • Diff the changes of two commit ranges, e.g. to check whether conflicts have been resolved appropriately when rebasing commits from base1 to base2:
    git range-diff {{base1}}..{{rev1}} {{base2}}..{{rev2}}

sqlmap

Detect and exploit SQL injection flaws. More information: https://sqlmap.org.
  • Run sqlmap against a single target URL:
    python sqlmap.py -u "{{http://www.target.com/vuln.php?id=1}}"
  • Send data in a POST request (--data implies POST request):
    python sqlmap.py -u "{{http://www.target.com/vuln.php}}" --data="{{id=1}}"
  • Change the parameter delimiter (& is the default):
    python sqlmap.py -u "{{http://www.target.com/vuln.php}}" --data="{{query=foobar;id=1}}" --param-del="{{;}}"
  • Select a random User-Agent from ./txt/user-agents.txt and use it:
    python sqlmap.py -u "{{http://www.target.com/vuln.php}}" --random-agent
  • Provide user credentials for HTTP protocol authentication:
    python sqlmap.py -u "{{http://www.target.com/vuln.php}}" --auth-type {{Basic}} --auth-cred "{{testuser:testpass}}"

serverless

Toolkit for deploying and operating serverless architectures on AWS, Google Cloud, Azure and IBM OpenWhisk. Commands can be run either using the serverless command or its alias, sls. More information: https://serverless.com/.
  • Create a serverless project:
    serverless create
  • Create a serverless project from a template:
    serverless create --template {{template_name}}
  • Deploy to a cloud provider:
    serverless deploy
  • Display information about a serverless project:
    serverless info
  • Invoke a deployed function:
    serverless invoke -f {{function_name}}
  • Follow the logs for a project:
    serverless logs -t

fluxctl

Command-line tool for Flux v1. More information: https://fluxcd.io/legacy/flux/references/fluxctl.
  • List workloads currently running in the cluster on specific namespace:
    fluxctl --k8s-fwd-ns={{namespace}} list-workloads
  • Show deployed and available images:
    fluxctl list-images
  • Synchronize the cluster with the git repository:
    fluxctl sync
  • Turn on automatic deployment for a workload:
    fluxctl automate

drupal-check

Check Drupal PHP code for deprecations. More information: https://github.com/mglaman/drupal-check.
  • Check the code in a specific directory for deprecations:
    drupal-check {{path/to/directory}}
  • Check the code excluding a comma-separated list of directories:
    drupal-check --exclude-dir {{path/to/excluded_directory}},{{path/to/excluded_files/*.php}} {{path/to/directory}}
  • Don't show a progress bar:
    drupal-check --no-progress {{path/to/directory}}
  • Perform static analysis to detect bad coding practices:
    drupal-check --analysis {{path/to/directory}}

lima

This command is an alias of limactl shell for the default VM instance. You can also set the $LIMA_INSTANCE environment variable to work on a different instance. More information: https://github.com/lima-vm/lima.
  • View documentation for the original command:
    tldr limactl

bitcoin-cli

Command-line client to interact with the Bitcoin daemon via RPC calls. Uses the configuration defined in bitcoin.conf. More information: https://en.bitcoin.it/wiki/Running_Bitcoin#Command-line_arguments.
  • Send a transaction to a given address:
    bitcoin-cli sendtoaddress "{{address}}" {{amount}}
  • Generate one or more blocks:
    bitcoin-cli generate {{num_blocks}}
  • Print high-level information about the wallet:
    bitcoin-cli getwalletinfo
  • List all outputs from previous transactions available to fund outgoing transactions:
    bitcoin-cli listunspent
  • Export the wallet information to a text file:
    bitcoin-cli dumpwallet "{{path/to/file}}"

pax

Archiving and copying utility. More information: https://manned.org/pax.1p.
  • List the contents of an archive:
    pax -f {{archive.tar}}
  • List the contents of a gzipped archive:
    pax -zf {{archive.tar.gz}}
  • Create an archive from files:
    pax -wf {{target.tar}} {{path/to/file1}} {{path/to/file2}} {{path/to/file3}}
  • Create an archive from files, using output redirection:
    pax -w {{path/to/file1}} {{path/to/file2}} {{path/to/file3}} > {{target.tar}}
  • Extract an archive into the current directory:
    pax -rf {{source.tar}}
  • Copy to a directory, while keeping the original metadata; target/ must exist:
    pax -rw {{path/to/file1}} {{path/to/directory1}} {{path/to/directory2}} {{target/}}

phpcbf

Fix violations detected by phpcs. More information: https://github.com/squizlabs/PHP_CodeSniffer.
  • Fix issues in the specified directory (defaults to the PEAR standard):
    phpcbf {{path/to/directory}}
  • Display a list of installed coding standards:
    phpcbf -i
  • Specify a coding standard to validate against:
    phpcbf {{path/to/directory}} --standard {{standard}}
  • Specify comma-separated file extensions to include when sniffing:
    phpcbf {{path/to/directory}} --extensions {{file_extension(s)}}
  • A comma-separated list of files to load before processing:
    phpcbf {{path/to/directory}} --bootstrap {{file(s)}}
  • Don't recurse into subdirectories:
    phpcbf {{path/to/directory}} -l

rails

A server-side MVC framework written in Ruby. Some subcommands such as rails generate have their own usage documentation. More information: https://guides.rubyonrails.org/command_line.html.
  • Create a new rails project:
    rails new "{{project_name}}"
  • Start local server for current project on port 3000:
    rails server
  • Start local server for current project on a specified port:
    rails server -p "{{port}}"
  • Open console to interact with application from command-line:
    rails console
  • Check current version of rails:
    rails --version


cloc

Count, and compute differences of, lines of source code and comments. More information: https://github.com/AlDanial/cloc.
  • Count all the lines of code in a directory:
    cloc {{path/to/directory}}
  • Count all the lines of code in a directory, displaying a progress bar during the counting process:
    cloc --progress=1 {{path/to/directory}}
  • Compare 2 directory structures and count the differences between them:
    cloc --diff {{path/to/directory/one}} {{path/to/directory/two}}
  • Ignore files that are ignored by VCS, such as files specified in .gitignore:
    cloc --vcs git {{path/to/directory}}
  • Count all the lines of code in a directory, displaying the results for each file instead of each language:
    cloc --by-file {{path/to/directory}}

pdfgrep

Search text in PDF files. More information: https://pdfgrep.org.
  • Find lines that match pattern in a PDF:
    pdfgrep {{pattern}} {{file.pdf}}
  • Include file name and page number for each matched line:
    pdfgrep --with-filename --page-number {{pattern}} {{file.pdf}}
  • Do a case-insensitive search for lines that begin with "foo" and return the first 3 matches:
    pdfgrep --max-count {{3}} --ignore-case {{'^foo'}} {{file.pdf}}
  • Find pattern in files with a .pdf extension in the current directory recursively:
    pdfgrep --recursive {{pattern}}
  • Find pattern on files that match a specific glob in the current directory recursively:
    pdfgrep --recursive --include {{'*book.pdf'}} {{pattern}}

openssl ts

OpenSSL command to generate and verify timestamps. More information: https://www.openssl.org/docs/manmaster/man1/openssl-ts.html.
  • Generate a SHA-512 timestamp request of a specific file and output to file.tsq:
    openssl ts -query -data {{path/to/file}} -sha512 -out {{path/to/file.tsq}}
  • Check the date and metadata of a specific timestamp response file:
    openssl ts -reply -in {{path/to/file.tsr}} -text
  • Verify a timestamp request file and a timestamp response file from the server with an SSL certificate file:
    openssl ts -verify -in {{path/to/file.tsr}} -queryfile {{path/to/file.tsq}} -partial_chain -CAfile {{path/to/cert.pem}}
  • Create a timestamp response for request using key and signing certificate and output it to file.tsr:
    openssl ts -reply -queryfile {{path/to/file.tsq}} -inkey {{path/to/tsakey.pem}} -signer tsacert.pem -out {{path/to/file.tsr}}

nix why-depends

Show why a package depends on another package. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-why-depends.html.
  • Show why the currently running NixOS system requires a certain store path:
    nix why-depends {{/run/current-system}} {{/nix/store/...}}
  • Show why a package from nixpkgs requires another package as a build-time dependency:
    nix why-depends --derivation {{nixpkgs#dependent}} {{nixpkgs#dependency}}

mutagen

Real-time file synchronization and network forwarding tool. More information: https://mutagen.io.
  • Start a synchronization session between a local directory and a remote host:
    mutagen sync create --name={{session_name}} {{/path/to/local/directory/}} {{user}}@{{host}}:{{/path/to/remote/directory/}}
  • Start a synchronization session between a local directory and a Docker container:
    mutagen sync create --name={{session_name}} {{/path/to/local/directory/}} docker://{{user}}@{{container_name}}{{/path/to/remote/directory/}}
  • Stop a running session:
    mutagen sync terminate {{session_name}}
  • Start a project:
    mutagen project start
  • Stop a project:
    mutagen project terminate
  • List running sessions for the current project:
    mutagen project list

hunspell

Check spelling. More information: https://github.com/hunspell/hunspell.
  • Check the spelling of a file:
    hunspell {{path/to/file}}
  • Check the spelling of a file with the en_US dictionary:
    hunspell -d {{en_US}} {{path/to/file}}
  • List misspelled words in a file:
    hunspell -l {{path/to/file}}

lorem

Create more or less random lorem ipsum text. More information: https://manned.org/lorem.
  • Print the specified number of words:
    lorem -n {{20}}
  • Print 10 lines of Goethe's Faust:
    lorem -l {{10}} --faust
  • Print 5 sentences of Poe's Raven:
    lorem -s {{5}} --raven
  • Print 40 random characters from Boccaccio's Decameron:
    lorem --randomize -c {{40}} --decamerone

sh

Bourne shell, the standard command language interpreter. See also histexpand for history expansion. More information: https://manned.org/sh.
  • Start an interactive shell session:
    sh
  • Execute a command and then exit:
    sh -c "{{command}}"
  • Execute a script:
    sh {{path/to/script.sh}}
  • Read and execute commands from stdin:
    sh -s

if

Performs conditional processing in shell scripts. See also: test, [. More information: https://www.gnu.org/software/bash/manual/bash.html#Conditional-Constructs.
  • Execute the specified commands if the condition command's exit status is zero:
    if {{condition_command}}; then {{echo "Condition is true"}}; fi
  • Execute the specified commands if the condition command's exit status is not zero:
    if ! {{condition_command}}; then {{echo "Condition is true"}}; fi
  • Execute the first specified commands if the condition command's exit status is zero otherwise execute the second specified commands:
    if {{condition_command}}; then {{echo "Condition is true"}}; else {{echo "Condition is false"}}; fi
  • Check whether a [f]ile exists:
    if [[ -f {{path/to/file}} ]]; then {{echo "Condition is true"}}; fi
  • Check whether a [d]irectory exists:
    if [[ -d {{path/to/directory}} ]]; then {{echo "Condition is true"}}; fi
  • Check whether a file or directory [e]xists:
    if [[ -e {{path/to/file_or_directory}} ]]; then {{echo "Condition is true"}}; fi
  • Check whether a variable is defined:
    if [[ -n "${{variable}}" ]]; then {{echo "Condition is true"}}; fi
  • List all possible conditions (test is an alias to [; both are commonly used with if):
    man [

jdeps

Java class dependency analyzer. More information: https://docs.oracle.com/en/java/javase/20/docs/specs/man/jdeps.html.
  • Analyze the dependencies of a .jar or .class file:
    jdeps {{path/to/filename.class}}
  • Print a summary of all dependencies of a specific .jar file:
    jdeps {{path/to/filename.jar}} -summary
  • Print all class-level dependencies of a .jar file:
    jdeps {{path/to/filename.jar}} -verbose
  • Output the results of the analysis in a DOT file into a specific directory:
    jdeps {{path/to/filename.jar}} -dotoutput {{path/to/directory}}
  • Display help:
    jdeps --help

glow

Render Markdown in the terminal. More information: https://github.com/charmbracelet/glow.
  • Run glow and select a file to view:
    glow
  • Render a Markdown file to the terminal:
    glow {{path/to/file}}
  • View a Markdown file using a paginator:
    glow -p {{path/to/file}}
  • View a file from a URL:
    glow {{https://example.com/file.md}}
  • View a GitHub/GitLab README:
    glow {{github.com/owner/repository}}

ffsend

Easily and securely share files. More information: https://gitlab.com/timvisee/ffsend.
  • Upload a file:
    ffsend upload {{path/to/file}}
  • Download a file:
    ffsend download {{url}}
  • Upload a file with password:
    ffsend upload {{path/to/file}} -p {{password}}
  • Download a file protected by password:
    ffsend download {{path/to/file}} -p {{password}}
  • Upload a file and allow 4 downloads:
    ffsend upload {{path/to/file}} -d {{4}}

wfuzz

A web application bruteforcer. More information: https://wfuzz.readthedocs.io/en/latest/user/basicusage.html.
  • Directory and file bruteforce using the specified wordlist and also proxying the traffic:
    wfuzz -w {{path/to/file}} -p {{127.0.0.1:8080}} {{http://example.com/FUZZ}}
  • Save the results to a file:
    wfuzz -w {{path/to/file}} -f {{filename}} {{http://example.com/FUZZ}}
  • Show colorized output while only showing the declared response codes in the output:
    wfuzz -c -w {{path/to/file}} --sc {{200,301,302}} {{http://example.com/FUZZ}}
  • Use a custom header to fuzz subdomains while hiding specific response codes and word counts. Increase the threads to 100 and include the target ip/domain:
    wfuzz -w {{path/to/file}} -H {{"Host: FUZZ.example.com"}} --hc {{301}} --hw {{222}} -t {{100}} {{example.com}}

exercism

Download and solve problems. More information: https://exercism.org/docs/using/solving-exercises/working-locally.
  • Configure the application token and the preferred workspace for Exercism:
    exercism configure --token={{your-application-token}} --workspace={{/path/to/preferred/workspace}}
  • Download a specific exercise:
    exercism download --exercise={{exercise_slug}} --track={{track_slug}}
  • Submit an exercise:
    exercism submit {{path/to/file}}
  • Print the path to the solution workspace:
    exercism workspace

git obliterate

Delete specific files and erase their history from a Git repository. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-obliterate.
  • Erase the existence of specific files:
    git obliterate {{file_1 file_2 ...}}
  • Erase the existence of specific files between 2 commits:
    git obliterate {{file_1 file_2 ...}} -- {{commit_hash_1}}..{{commit_hash_2}}

umount

Unlink a filesystem from its mount point, making it no longer accessible. A filesystem cannot be unmounted when it is busy. More information: https://manned.org/umount.8.
  • Unmount a filesystem, by passing the path to the source it is mounted from:
    umount {{path/to/device_file}}
  • Unmount a filesystem, by passing the path to the target where it is mounted:
    umount {{path/to/mounted_directory}}
  • Unmount all mounted filesystems (except the proc filesystem):
    umount -a

chromium

Open-source web browser principally developed and maintained by Google. More information: https://www.chromium.org/developers/how-tos/run-chromium-with-flags/.
  • Open a specific URL or file:
    chromium {{https://example.com|path/to/file.html}}
  • Open in incognito mode:
    chromium --incognito {{example.com}}
  • Open in a new window:
    chromium --new-window {{example.com}}
  • Open in application mode (without toolbars, URL bar, buttons, etc.):
    chromium --app={{https://example.com}}
  • Use a proxy server:
    chromium --proxy-server="{{socks5://hostname:66}}" {{example.com}}
  • Open with a custom profile directory:
    chromium --user-data-dir={{path/to/directory}}
  • Open without CORS validation (useful to test an API):
    chromium --user-data-dir={{path/to/directory}} --disable-web-security
  • Open with a DevTools window for each tab opened:
    chromium --auto-open-devtools-for-tabs

bshell

A GUI tool for browsing for SSH/VNC servers on the local network. See also: bssh and bvnc. More information: https://linux.extremeoverclocking.com/man/1/bssh.
  • Browse for both SSH and VNC servers:
    bshell
  • Browse for SSH servers only:
    bshell --ssh
  • Browse for VNC servers only:
    bshell --vnc
  • Browse for both SSH and VNC servers in a specified domain:
    bshell --domain={{domain}}

createdb

Create a PostgreSQL database. More information: https://www.postgresql.org/docs/current/app-createdb.html.
  • Create a database owned by the current user:
    createdb {{database_name}}
  • Create a database owned by a specific user with a description:
    createdb --owner={{username}} {{database_name}} '{{description}}'
  • Create a database from a template:
    createdb --template={{template_name}} {{database_name}}

cordova

Mobile apps with HTML, CSS & JS. More information: https://cordova.apache.org/docs/en/latest/guide/cli/.
  • Create a Cordova project:
    cordova create {{path/to/directory}} {{package}} {{project_name}}
  • Display the current workspace status:
    cordova info
  • Add a Cordova platform:
    cordova platform add {{platform}}
  • Remove a Cordova platform:
    cordova platform remove {{platform}}
  • Add a Cordova plugin:
    cordova plugin add {{pluginid}}
  • Remove a Cordova plugin:
    cordova plugin remove {{pluginid}}

kind

Tool for running local Kubernetes clusters using Docker container "nodes". Designed for testing Kubernetes itself, but may be used for local development or continuous integration. More information: https://github.com/kubernetes-sigs/kind.
  • Create a local Kubernetes cluster:
    kind create cluster --name {{cluster_name}}
  • Delete one or more clusters:
    kind delete clusters {{cluster_name}}
  • Get details about clusters, nodes, or the kubeconfig:
    kind get {{clusters|nodes|kubeconfig}}
  • Export the kubeconfig or the logs:
    kind export {{kubeconfig|logs}}

gitwatch

Automatically commit file or directory changes to a git repository. More information: https://github.com/gitwatch/gitwatch.
  • Automatically commit any changes made to a file or directory:
    gitwatch {{path/to/file_or_directory}}
  • Automatically commit changes and push them to a remote repository:
    gitwatch -r {{remote_name}} {{path/to/file_or_directory}}
  • Automatically commit changes and push them to a specific branch of a remote repository:
    gitwatch -r {{remote_name}} -b {{branch_name}} {{path/to/file_or_directory}}

git diff

Show changes to tracked files. More information: https://git-scm.com/docs/git-diff.
  • Show unstaged, uncommitted changes:
    git diff
  • Show all uncommitted changes (including staged ones):
    git diff HEAD
  • Show only staged (added, but not yet committed) changes:
    git diff --staged
  • Show changes from all commits since a given date/time (a date expression, e.g. "1 week 2 days" or an ISO date):
    git diff 'HEAD@{3 months|weeks|days|hours|seconds ago}'
  • Show only names of changed files since a given commit:
    git diff --name-only {{commit}}
  • Output a summary of file creations, renames and mode changes since a given commit:
    git diff --summary {{commit}}
  • Compare a single file between two branches or commits:
    git diff {{branch_1}}..{{branch_2}} [--] {{path/to/file}}
  • Compare different files from the current branch to other branch:
    git diff {{branch}}:{{path/to/file2}} {{path/to/file}}

virsh pool-undefine

Delete the configuration file in /etc/libvirt/storage for a stopped virtual machine storage pool. See also: virsh, virsh-pool-destroy. More information: https://manned.org/virsh.
  • Delete the configuration for the storage pool specified name or UUID (determine using virsh pool-list):
    virsh pool-undefine --pool {{name|uuid}}

figlet

Generate ASCII banners from user input. See also: showfigfonts. More information: http://www.figlet.org/figlet-man.html.
  • Generate by directly inputting text:
    figlet {{input_text}}
  • Use a custom font file:
    figlet {{input_text}} -f {{path/to/font_file.flf}}
  • Use a font from the default font directory (the extension can be omitted):
    figlet {{input_text}} -f {{font_filename}}
  • Pipe command output through FIGlet:
    {{command}} | figlet
  • Show available FIGlet fonts:
    showfigfonts {{optional_string_to_display}}

blender

Command-line interface to the Blender 3D computer graphics application. Arguments are executed in the order they are given. More information: https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html.
  • Render all frames of an animation in the background, without loading the UI (output is saved to /tmp):
    blender --background {{path/to/file}}.blend --render-anim
  • Render an animation using a specific image naming pattern, in a path relative (//) to the .blend file:
    blender --background {{path/to/file}}.blend --render-output //{{render/frame_###.png}} --render-anim
  • Render the 10th frame of an animation as a single image, saved to an existing directory (absolute path):
    blender --background {{path/to/file}}.blend --render-output {{/path/to/output_directory}} --render-frame {{10}}
  • Render the second last frame in an animation as a JPEG image, saved to an existing directory (relative path):
    blender --background {{path/to/file}}.blend --render-output //{{output_directory}} --render-frame {{JPEG}} --render-frame {{-2}}
  • Render the animation of a specific scene, starting at frame 10 and ending at frame 500:
    blender --background {{path/to/file}}.blend --scene {{scene_name}} --frame-start {{10}} -e {{500}} --render-anim
  • Render an animation at a specific resolution, by passing a Python expression:
    blender --background {{path/to/file}}.blend --python-expr '{{import bpy; bpy.data.scenes[0].render.resolution_percentage = 25}}' --render-anim
  • Start an interactive Blender session in the terminal with a python console (do import bpy after starting):
    blender --background --python-console

who

Display who is logged in and related data (processes, boot time). More information: https://www.gnu.org/software/coreutils/who.
  • Display the username, line, and time of all currently logged-in sessions:
    who
  • Display information only for the current terminal session:
    who am i
  • Display all available information:
    who -a
  • Display all available information with table headers:
    who -a -H

fin

Docksal command-line utility. More information: https://docs.docksal.io/fin/fin/.
  • Start the project in the current directory:
    fin project start
  • Stop the project in the current directory:
    fin project stop
  • Open a shell into a specific container:
    fin bash {{container_name}}
  • Display logs of a specific container:
    fin logs {{container_name}}
  • Display logs of a specific container and follow the log:
    fin logs -f {{container_name}}

rgpt

An automated code review tool that uses GPT you can use straight from your terminal. More information: https://github.com/vibovenkat123/review-gpt.
  • Ask GPT to improve the code with no extra options:
    rgpt --i "$(git diff {{path/to/file}})"
  • Get a more detailed verbose output from rgpt while reviewing the code:
    rgpt --v --i "$(git diff {{path/to/file}})"
  • Ask GPT to improve the code and limit it to a certain amount of GPT3 tokens:
    rgpt --max {{300}} --i "$(git diff {{path/to/file}})"
  • Ask GPT for a more unique result using a float value between 0 and 2. (higher = more unique):
    rgpt --pres {{1.2}} --i "$(git diff {{path/to/file}})"
  • Ask GPT to review your code using a specific model:
    rgpt --model {{davinci}} --i "$(git diff {{path/to/file}})"
  • Make rgpt use a JSON output:
    rgpt --json --i "$(git diff {{path/to/file}})"

uudecode

Decode files encoded by uuencode. More information: https://manned.org/uudecode.
  • Decode a file that was encoded with uuencode and print the result to stdout:
    uudecode {{path/to/encoded_file}}
  • Decode a file that was encoded with uuencode and write the result to a file:
    uudecode -o {{path/to/decoded_file}} {{path/to/encoded_file}}

deluged

A daemon process for the Deluge BitTorrent client. More information: https://deluge-torrent.org.
  • Start the Deluge daemon:
    deluged
  • Start the Deluge daemon on a specific port:
    deluged -p {{port}}
  • Start the Deluge daemon using a specific configuration file:
    deluged -c {{path/to/configuration_file}}
  • Start the Deluge daemon and output the log to a file:
    deluged -l {{path/to/log_file}}

nix run

Run an application from a Nix flake. See tldr nix3 flake for information about flakes. More information: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-run.html.
  • Run the default application in the flake in the current directory:
    nix run
  • Run a command whose name matches the package name from nixpkgs (if you want a different command from that package, see tldr nix3 shell):
    nix run nixpkgs#{{pkg}}
  • Run a command with provided arguments:
    nix run nixpkgs#{{vim}} -- {{path/to/file}}
  • Run from a remote repository:
    nix run {{remote_name}}:{{owner}}/{{repo}}
  • Run from a remote repository using a specific tag, revision or branch:
    nix run {{remote_name}}:{{owner}}/{{repo}}/{{reference}}
  • Run from a remote repository specifying a subdirectory and a program:
    nix run "{{remote_name}}:{{owner}}/{{repo}}?dir={{dir_name}}#{{app}}"
  • Run the flake of a GitHub pull request:
    nix run github:{{owner}}/{{repo}}/pull/{{number}}/head

conan frogarian

Displays the conan frogarian. More information: https://docs.conan.io/.
  • Display the conan frogarian:
    conan frogarian

fc-pattern

Shows information about a font matching a pattern. More information: https://manned.org/fc-pattern.
  • Display default information about a font:
    fc-pattern --default '{{DejaVu Serif}}'
  • Display config information about a font:
    fc-pattern --config '{{DejaVu Serif}}'

script

Make a typescript file of a terminal session. More information: https://manned.org/script.
  • Start recording in file named "typescript":
    script
  • Stop recording:
    exit
  • Start recording in a given file:
    script {{logfile.log}}
  • Append to an existing file:
    script -a {{logfile.log}}
  • Execute quietly without start and done messages:
    script -q {{logfile.log}}

cola

This command is an alias of git-cola.
  • View documentation for the original command:
    tldr git-cola

mysqldump

Backups MySQL databases. See also mysql for restoring databases. More information: https://dev.mysql.com/doc/refman/en/mysqldump.html.
  • Create a backup (user will be prompted for a password):
    mysqldump --user {{user}} --password {{database_name}} --result-file={{path/to/file.sql}}
  • Backup a specific table redirecting the output to a file (user will be prompted for a password):
    mysqldump --user {{user}} --password {{database_name}} {{table_name}} > {{path/to/file.sql}}
  • Backup all databases redirecting the output to a file (user will be prompted for a password):
    mysqldump --user {{user}} --password --all-databases > {{path/to/file.sql}}
  • Backup all databases from a remote host, redirecting the output to a file (user will be prompted for a password):
    mysqldump --host={{ip_or_hostname}} --user {{user}} --password --all-databases > {{path/to/file.sql}}

lmms

Free, open source, cross-platform digital audio workstation. Render a .mmp or .mmpz project file, dump a .mmpz as XML, or start the GUI. More information: https://lmms.io.
  • Start the GUI:
    lmms
  • Start the GUI and load external config:
    lmms --config {{path/to/config.xml}}
  • Start the GUI and import MIDI or Hydrogen file:
    lmms --import {{path/to/midi/or/hydrogen/file}}
  • Start the GUI with a specified window size:
    lmms --geometry {{x_size}}x{{y_size}}+{{x_offset}}+{{y_offset}}
  • Dump a .mmpz file:
    lmms dump {{path/to/mmpz/file.mmpz}}
  • Render a project file:
    lmms render {{path/to/mmpz_or_mmp/file}}
  • Render the individual tracks of a project file:
    lmms rendertracks {{path/to/mmpz_or_mmp/file}} {{path/to/dump/directory}}
  • Render with custom samplerate, format, and as a loop:
    lmms render --samplerate {{88200}} --format {{ogg}} --loop --output {{path/to/output/file.ogg}}

rustup install

Install or update Rust toolchains. This command is an alias of rustup update, but can only install/update one toolchain at a time. More information: https://rust-lang.github.io/rustup.
  • Install or update a specific toolchain (see rustup help toolchain for more information):
    rustup install {{toolchain}}

rustup help

Display help on rustup and its subcommands. More information: https://rust-lang.github.io/rustup.
  • Display general help:
    rustup help
  • Display help for a subcommand:
    rustup help {{subcommand}}

in-toto-sign

Sign in-toto link or layout metadata or verify their signatures. More information: https://in-toto.readthedocs.io/en/latest/command-line-tools/in-toto-sign.html.
  • Sign 'unsigned.layout' with two keys and write it to 'root.layout':
    in-toto-sign -f {{unsigned.layout}} -k {{priv_key1}} {{priv_key2}} -o {{root.layout}}
  • Replace signature in link file and write to default filename:
    in-toto-sign -f {{package.2f89b927.link}} -k {{priv_key}}
  • Verify a layout signed with 3 keys:
    in-toto-sign -f {{root.layout}} -k {{pub_key0}} {{pub_key1}} {{pub_key2}} --verify
  • Sign a layout with the default GPG key in default GPG keyring:
    in-toto-sign -f {{root.layout}} --gpg
  • Verify a layout with a GPG key identified by keyid '...439F3C2':
    in-toto-sign -f {{root.layout}} --verify --gpg {{...439F3C2}}

dot

Render an image of a linear directed network graph from a graphviz file. Layouts: dot, neato, twopi, circo, fdp, sfdp, osage & patchwork. More information: https://graphviz.org/doc/info/command.html.
  • Render a png image with a filename based on the input filename and output format (uppercase -O):
    dot -T {{png}} -O {{path/to/input.gv}}
  • Render a svg image with the specified output filename (lowercase -o):
    dot -T {{svg}} -o {{path/to/image.svg}} {{path/to/input.gv}}
  • Render the output in ps, pdf, svg, fig, png, gif, jpg, json, or dot format:
    dot -T {{format}} -O {{path/to/input.gv}}
  • Render a gif image using stdin and stdout:
    echo "{{digraph {this -> that} }}" | dot -T {{gif}} > {{path/to/image.gif}}
  • Display help:
    dot -?

Xephyr

A nested X server that runs as an X application. More information: https://manned.org/xserver-xephyr.
  • Create a black window with display ID ":2":
    Xephyr -br -ac -noreset -screen {{800x600}} {{:2}}
  • Start an X application on the new screen:
    DISPLAY=:2 {{command_name}}

guetzli

JPEG image compression utility. More information: https://github.com/google/guetzli.
  • Compress a JPEG image:
    guetzli {{input.jpg}} {{output.jpg}}
  • Create a compressed JPEG from a PNG:
    guetzli {{input.png}} {{output.jpg}}
  • Compress a JPEG with the desired visual quality (84-100):
    guetzli --quality {{quality_value}} {{input.jpg}} {{output.jpg}}

calibredb

Tool to manipulate the your e-book database. Part of the Calibre e-book library. More information: https://manual.calibre-ebook.com/generated/en/calibredb.html.
  • List e-books in the library with additional information:
    calibredb list
  • Search for e-books displaying additional information:
    calibredb list --search {{search_term}}
  • Search for just ids of e-books:
    calibredb search {{search_term}}
  • Add one or more e-books to the library:
    calibredb add {{file1 file2 …}}
  • Recursively add all e-books under a directory to the library:
    calibredb add -r {{path/to/directory}}
  • Remove one or more e-books from the library. You need the e-book IDs (see above):
    calibredb remove {{id1 id2 …}}

cradle package

Manage packages for a Cradle instance. More information: https://cradlephp.github.io/docs/3.B.-Reference-Command-Line-Tools.html#package.
  • Display a list of available packages:
    cradle package list
  • Search for a package:
    cradle package search {{package}}
  • Install a package from Packagist:
    cradle package install {{package}}
  • Install a specific version of a package:
    cradle package install {{package}} {{version}}
  • Update a package:
    cradle package update {{package}}
  • Update a package to a specific version:
    cradle package update {{package}} {{version}}
  • Remove a specific package:
    cradle package remove {{package}}

composer

A package-based dependency manager for PHP projects. More information: https://getcomposer.org/.
  • Interactively create a composer.json file:
    composer init
  • Add a package as a dependency for this project, adding it to composer.json:
    composer require {{user/package}}
  • Install all the dependencies in this project's composer.json and create composer.lock:
    composer install
  • Uninstall a package from this project, removing it as a dependency from composer.json:
    composer remove {{user/package}}
  • Update all the dependencies in this project's composer.json and note versions in composer.lock file:
    composer update
  • Update composer lock only after updating composer.json manually:
    composer update --lock
  • Learn more about why a dependency can't be installed:
    composer why-not {{user/package}}
  • Update composer to its latest version:
    composer self-update

arduino-builder

Compile arduino sketches. DEPRECATION WARNING: This tool is being phased out in favor of arduino. More information: https://github.com/arduino/arduino-builder.
  • Compile a sketch:
    arduino-builder -compile {{path/to/sketch.ino}}
  • Specify the debug level (default: 5):
    arduino-builder -debug-level {{1..10}}
  • Specify a custom build directory:
    arduino-builder -build-path {{path/to/build_directory}}
  • Use a build option file, instead of specifying --hardware, --tools, etc. manually every time:
    arduino-builder -build-options-file {{path/to/build.options.json}}
  • Enable verbose mode:
    arduino-builder -verbose {{true}}

noti

Monitor a process and trigger a banner notification. More information: https://github.com/variadico/noti.
  • Display a notification when tar finishes compressing files:
    noti {{tar -cjf example.tar.bz2 example/}}
  • Display a notification even when you put it after the command to watch:
    {{command_to_watch}}; noti
  • Monitor a process by PID and trigger a notification when the PID disappears:
    noti -w {{process_id}}

rake

A Make-like program for Ruby. Tasks for rake are specified in a Rakefile. More information: https://ruby.github.io/rake.
  • Run the default Rakefile task:
    rake
  • Run a specific task:
    rake {{task}}
  • Execute n jobs at a time in parallel (number of CPU cores + 4 by default):
    rake --jobs {{n}}
  • Use a specific Rakefile:
    rake --rakefile {{path/to/Rakefile}}
  • Execute rake from another directory:
    rake --directory {{path/to/directory}}

rgrep

Recursively find patterns in files using regular expressions. Equivalent to grep -r. More information: https://www.gnu.org/software/grep/manual/grep.html.
  • Recursively search for a pattern in the current working directory:
    rgrep "{{search_pattern}}"
  • Recursively search for a case-insensitive pattern in the current working directory:
    rgrep --ignore-case "{{search_pattern}}"
  • Recursively search for an extended regular expression pattern (supports ?, +, {}, () and |) in the current working directory:
    rgrep --extended-regexp "{{search_pattern}}"
  • Recursively search for an exact string (disables regular expressions) in the current working directory:
    rgrep --fixed-strings "{{exact_string}}"
  • Recursively search for a pattern in a specified directory (or file):
    rgrep "{{search_pattern}}" {{path/to/file_or_directory}}


termdown

Countdown timer and stopwatch for the command-line. More information: https://github.com/trehn/termdown.
  • Start a stopwatch:
    termdown
  • Start a 1 minute and 30 seconds countdown:
    termdown {{1m30s}}
  • Start a 1 minute 30 seconds countdown with blinking the terminal at the end:
    termdown {{1m30s}} --blink
  • Show a title above countdown:
    termdown {{1m30s}} --title "{{Interesting title}}"
  • Display current time:
    termdown --time

vcsh

Version Control System for the home directory using Git repositories. More information: https://github.com/RichiH/vcsh.
  • Initialize an (empty) repository:
    vcsh init {{repository_name}}
  • Clone a repository into a custom directory name:
    vcsh clone {{git_url}} {{repository_name}}
  • List all managed repositories:
    vcsh list
  • Execute a Git command on a managed repository:
    vcsh {{repository_name}} {{git_command}}
  • Push/pull all managed repositories to/from remotes:
    vcsh {{push|pull}}
  • Write a custom .gitignore file for a managed repository:
    vcsh write-gitignore {{repository_name}}

paste

Merge lines of files. More information: https://www.gnu.org/software/coreutils/paste.
  • Join all the lines into a single line, using TAB as delimiter:
    paste -s {{path/to/file}}
  • Join all the lines into a single line, using the specified delimiter:
    paste -s -d {{delimiter}} {{path/to/file}}
  • Merge two files side by side, each in its column, using TAB as delimiter:
    paste {{file1}} {{file2}}
  • Merge two files side by side, each in its column, using the specified delimiter:
    paste -d {{delimiter}} {{file1}} {{file2}}
  • Merge two files, with lines added alternatively:
    paste -d '\n' {{file1}} {{file2}}

qutebrowser

A keyboard-driven, vim-like browser based on PyQt5. More information: https://qutebrowser.org/.
  • Open qutebrowser with a specified storage directory:
    qutebrowser --basedir {{path/to/directory}}
  • Open a qutebrowser instance with temporary settings:
    qutebrowser --set {{content.geolocation}} {{true|false}}
  • Restore a named session of a qutebrowser instance:
    qutebrowser --restore {{session_name}}
  • Launch qutebrowser, opening all URLs using the specified method:
    qutebrowser --target {{auto|tab|tab-bg|tab-silent|tab-bg-silent|window|private-window}}
  • Open qutebrowser with a temporary base directory and print logs to stdout as JSON:
    qutebrowser --temp-basedir --json-logging

wat2wasm

Convert a file from the WebAssembly text format to the binary format. More information: https://github.com/WebAssembly/wabt.
  • Parse and check a file for errors:
    wat2wasm {{file.wat}}
  • Write the output binary to a given file:
    wat2wasm {{file.wat}} -o {{file.wasm}}
  • Display simplified representation of every byte:
    wat2wasm -v {{file.wat}}

visudo

Safely edit the sudoers file. More information: https://www.sudo.ws/docs/man/visudo.man.
  • Edit the sudoers file:
    sudo visudo
  • Check the sudoers file for errors:
    sudo visudo -c
  • Edit the sudoers file using a specific editor:
    sudo EDITOR={{editor}} visudo
  • Display version information:
    visudo --version

svgo

SVG Optimizer: a Node.js-based tool for optimizing Scalable Vector Graphics files. It applies a series of transformation rules (plugins), which can be toggled individually. More information: https://github.com/svg/svgo.
  • Optimize a file using the default plugins (overwrites the original file):
    svgo {{test.svg}}
  • Optimize a file and save the result to another file:
    svgo {{test.svg}} -o {{test.min.svg}}
  • Optimize all SVG files within a directory (overwrites the original files):
    svgo -f {{path/to/directory/with/svg/files}}
  • Optimize all SVG files within a directory and save the resulting files to another directory:
    svgo -f {{path/to/input/directory}} -o {{path/to/output/directory}}
  • Optimize SVG content passed from another command, and save the result to a file:
    {{cat test.svg}} | svgo -i - -o {{test.min.svg}}
  • Optimize a file and print out the result:
    svgo {{test.svg}} -o -
  • Show available plugins:
    svgo --show-plugins

az login

Log in to Azure. Part of az, the command-line client for Microsoft Azure. More information: https://learn.microsoft.com/cli/azure/reference-index#az_login.
  • Log in interactively:
    az login
  • Log in with a service principal using a client secret:
    az login --service-principal --username {{http://azure-cli-service-principal}} --password {{secret}} --tenant {{someone.onmicrosoft.com}}
  • Log in with a service principal using a client certificate:
    az login --service-principal --username {{http://azure-cli-service-principal}} --password {{path/to/cert.pem}} --tenant {{someone.onmicrosoft.com}}
  • Log in using a VM's system assigned identity:
    az login --identity
  • Log in using a VM's user assigned identity:
    az login --identity --username /subscriptions/{{subscription_id}}/resourcegroups/{{my_rg}}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{{my_id}}

handbrakecli

Command-line interface to the HandBrake video conversion and DVD ripping tool. More information: https://handbrake.fr/.
  • Convert a video file to MKV (AAC 160kbit audio and x264 CRF20 video):
    handbrakecli --input {{input.avi}} --output {{output.mkv}} --encoder x264 --quality 20 --ab 160
  • Resize a video file to 320x240:
    handbrakecli --input {{input.mp4}} --output {{output.mp4}} --width 320 --height 240
  • List available presets:
    handbrakecli --preset-list
  • Convert an AVI video to MP4 using the Android preset:
    handbrakecli --preset="Android" --input {{input.ext}} --output {{output.mp4}}
  • Print the content of a DVD, getting the CSS keys in the process:
    handbrakecli --input {{/dev/sr0}} --title 0
  • Rip the first track of a DVD in the specified device. Audiotracks and subtitle languages are specified as lists:
    handbrakecli --input {{/dev/sr0}} --title 1 --output {{out.mkv}} --format av_mkv --encoder x264 --subtitle {{1,4,5}} --audio {{1,2}} --aencoder copy --quality {{23}}

virsh pool-autostart

Enable or disable autostart for a virtual machine storage pool. See also: virsh. More information: https://manned.org/virsh.
  • Enable autostart for the storage pool specified by name or UUID (determine using virsh pool-list):
    virsh pool-autostart --pool {{name|uuid}}
  • Disable autostart for the storage pool specified by name or UUID:
    virsh pool-autostart --pool {{name|uuid}} --disable

type

Display the type of command the shell will execute. More information: https://manned.org/type.
  • Display the type of a command:
    type {{command}}
  • Display all locations containing the specified executable:
    type -a {{command}}
  • Display the name of the disk file that would be executed:
    type -p {{command}}

elixir

Elixir programming language interpreter. More information: https://elixir-lang.org.
  • Run an Elixir file:
    elixir {{path/to/file}}
  • Evaluate Elixir code by passing it as an argument:
    elixir -e "{{code}}"

tldr platform

Manage TeX Live platforms. More information: https://www.tug.org/texlive/tlmgr.html.
  • List all available platforms in the package repository:
    tlmgr platform list
  • Add the executables for a specific platform:
    sudo tlmgr platform add {{platform}}
  • Remove the executables for a specific platform:
    sudo tlmgr platform remove {{platform}}
  • Auto-detect and switch to the current platform:
    sudo tlmgr platform set {{auto}}
  • Switch to a specific platform:
    sudo tlmgr platform set {{platform}}

md5sum

Calculate MD5 cryptographic checksums. More information: https://www.gnu.org/software/coreutils/md5sum.
  • Calculate the MD5 checksum for one or more files:
    md5sum {{path/to/file1 path/to/file2 ...}}
  • Calculate and save the list of MD5 checksums to a file:
    md5sum {{path/to/file1 path/to/file2 ...}} > {{path/to/file.md5}}
  • Calculate an MD5 checksum from stdin:
    {{command}} | md5sum
  • Read a file of MD5 sums and filenames and verify all files have matching checksums:
    md5sum --check {{path/to/file.md5}}
  • Only show a message for missing files or when verification fails:
    md5sum --check --quiet {{path/to/file.md5}}
  • Only show a message when verification fails, ignoring missing files:
    md5sum --ignore-missing --check --quiet {{path/to/file.md5}}

mkcert

Tool for making locally-trusted development certificates. More information: https://github.com/FiloSottile/mkcert.
  • Install the local CA in the system trust store:
    mkcert -install
  • Generate certificate and private key for a given domain:
    mkcert {{example.org}}
  • Generate certificate and private key for multiple domains:
    mkcert {{example.org}} {{myapp.dev}} {{127.0.0.1}}
  • Generate wildcard certificate and private key for a given domain and its subdomains:
    mkcert "{{*.example.it}}"
  • Uninstall the local CA:
    mkcert -uninstall

l2ping

Send an L2CAP echo request and receive an answer. More information: https://manned.org/l2ping.
  • Ping a Bluetooth device:
    sudo l2ping {{mac_address}}
  • Reverse ping a Bluetooth device:
    sudo l2ping -r {{mac_address}}
  • Ping a Bluetooth device from a specified interface:
    sudo l2ping -i {{hci0}} {{mac_address}}
  • Ping Bluetooth device with a specified sized data package:
    sudo l2ping -s {{byte_count}} {{mac_address}}
  • Ping flood a Bluetooth device:
    sudo l2ping -f {{mac_address}}
  • Ping a Bluetooth device a specified amount of times:
    sudo l2ping -c {{amount}} {{mac_address}}
  • Ping a Bluetooth device with a specified delay between requests:
    sudo l2ping -d {{seconds}} {{mac_address}}

dolt init

Create an empty Dolt data repository. More information: https://docs.dolthub.com/cli-reference/cli#dolt-init.
  • Initialize a new Dolt data repository in the current directory:
    dolt init
  • Initialize a new Dolt data repository creating a commit with the specified metadata:
    dolt init --name "{{name}}" --email "{{email}}" --date "{{2021-12-31T00:00:00}}" -b "{{branch_name}}"

wc

Count lines, words, and bytes. More information: https://www.gnu.org/software/coreutils/wc.
  • Count all lines in a file:
    wc --lines {{path/to/file}}
  • Count all words in a file:
    wc --words {{path/to/file}}
  • Count all bytes in a file:
    wc --bytes {{path/to/file}}
  • Count all characters in a file (taking multi-byte characters into account):
    wc --chars {{path/to/file}}
  • Count all lines, words and bytes from stdin:
    {{find .}} | wc
  • Count the length of the longest line in number of characters:
    wc --max-line-length {{path/to/file}}

kubectx

Utility to manage and switch between kubectl contexts. More information: https://github.com/ahmetb/kubectx.
  • List the contexts:
    kubectx
  • Switch to a named context:
    kubectx {{name}}
  • Switch to the previous context:
    kubectx -
  • Delete a named context:
    kubectx -d {{name}}

Vite

Create a Vite project. Used to build JavaScript projects. Available templates: vanilla, vanilla-ts, vue, vue-ts, react, react-ts, react-swc, react-swc-ts, preact, preact-ts, lit, lit-ts, svelte, svelte-ts. More information: https://vitejs.dev/guide.
  • Setup using npm 6.x:
    npm create vite@latest my-react-app --template react-ts
  • Setup using npm 7+, extra double-dash is needed:
    npm create vite@latest my-react-app -- --template react-ts
  • Setup using yarn:
    yarn create vite my-react-app --template react-ts
  • Setup using pnpm:
    pnpm create vite my-react-app --template react-ts

git missing

Show commits which aren't shared between two branches. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-missing.
  • Show commits which aren't shared between the currently checked-out branch and another branch:
    git missing {{branch}}
  • Show commits which aren't shared between two branches:
    git missing {{branch_1}} {{branch_2}}

tmuxinator

Create and manage tmux sessions easily. More information: https://github.com/tmuxinator/tmuxinator.
  • Create a new project:
    tmuxinator new {{project}}
  • Edit a project:
    tmuxinator edit {{project}}
  • List projects:
    tmuxinator list
  • Start a tmux session based on project:
    tmuxinator start {{project}}
  • Stop a project's tmux session:
    tmuxinator stop {{project}}

lzless

This command is an alias of xzless.
  • View documentation for the original command:
    tldr xzless

nodemon

Watch files and automatically restart a node application when changes are detected. More information: https://nodemon.io.
  • Execute the specified file and watch a specific file for changes:
    nodemon {{path/to/file.js}}
  • Manually restart nodemon (note nodemon must already be active for this to work):
    rs
  • Ignore specific files:
    nodemon --ignore {{path/to/file_or_directory}}
  • Pass arguments to the node application:
    nodemon {{path/to/file.js}} {{arguments}}
  • Pass arguments to node itself if they're not nodemon arguments already (e.g. --inspect):
    nodemon {{arguments}} {{path/to/file.js}}
  • Run an arbitrary non-node script:
    nodemon --exec "{{command_to_run_script}} {{options}}" {{path/to/script}}
  • Run a Python script:
    nodemon --exec "python {{options}}" {{path/to/file.py}}

doctl kubernetes options

Provides values available for use with doctl's Kubernetes commands. More information: https://docs.digitalocean.com/reference/doctl/reference/kubernetes/options/.
  • List regions that support Kubernetes clusters:
    doctl kubernetes options regions
  • List machine sizes that can be used in a Kubernetes cluster:
    doctl kubernetes options sizes
  • List Kubernetes versions that can be used with DigitalOcean clusters:
    doctl kubernetes options versions

speed-test

Test your internet connection speed and ping using https://speedtest.net. More information: https://github.com/sindresorhus/speed-test.
  • Test your internet connection and ping speed:
    speed-test
  • Output the results as JSON:
    speed-test --json
  • Output the results in megabytes per second (MBps):
    speed-test --bytes
  • Output more detailed information:
    speed-test --verbose

s3cmd

Command line tool and client for uploading, retrieving and managing data in S3 compatible object storage. More information: https://s3tools.org/s3cmd.
  • Invoke configuration/reconfiguration tool:
    s3cmd --configure
  • List Buckets/Folders/Objects:
    s3cmd ls s3://{{bucket|path/to/file}}
  • Create Bucket/Folder:
    s3cmd mb s3://{{bucket}}
  • Download a specific file from a bucket:
    s3cmd get s3://{{bucket_name}}/{{path/to/file}} {{path/to/local_file}}
  • Upload a file to a bucket:
    s3cmd put {{local_file}} s3://{{bucket}}/{{file}}
  • Move an object to a specific bucket location:
    s3cmd mv s3://{{src_bucket}}/{{src_object}} s3://{{dst_bucket}}/{{dst_object}}
  • Delete a specific object:
    s3cmd rm s3://{{bucket}}/{{object}}

bash-it

A collection of community contributed Bash commands and scripts for Bash 3.2+. More information: https://bash-it.readthedocs.io/en/latest/.
  • Update Bash-it to the latest stable/development version:
    bash-it update {{stable|dev}}
  • Reload Bash profile (set BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE to non-empty value for an automatic reload):
    bash-it reload
  • Restart Bash:
    bash-it restart
  • Reload Bash profile with enabled error and warning logging:
    bash-it doctor
  • Reload Bash profile with enabled error/warning/entire logging:
    bash-it doctor {{errors|warnings|all}}
  • Search for Bash-it aliases/plugins/completions:
    bash-it search {{alias|plugin|completion}}
  • Search for Bash-it aliases/plugins/completions and enable/disable all found items:
    bash-it search --{{enable|disable}} {{alias|plugin|completion}}


circup

The CircuitPython library updater. More information: https://github.com/adafruit/circup.
  • Interactively update modules on a device:
    circup update
  • Install a new library:
    circup install {{library_name}}
  • Search for a library:
    circup show {{partial_name}}
  • List all libraries on a connected device in requirements.txt format:
    circup freeze
  • Save all libraries on a connected device in the current directory:
    circup freeze -r

gh config

Change configuration for GitHub cli. More information: https://cli.github.com/manual/gh_config.
  • Display what Git protocol is being used:
    gh config get git_protocol
  • Set protocol to SSH:
    gh config set git_protocol {{ssh}}
  • Use delta in side-by-side mode as the default pager for all gh commands:
    gh config set pager '{{delta --side-by-side}}'
  • Set text editor to Vim:
    gh config set editor {{vim}}
  • Reset to default text editor:
    gh config set editor {{""}}
  • Disable interactive prompts:
    gh config set prompt {{disabled}}
  • Set a specific configuration value:
    gh config set {{key}} {{value}}

corepack

Zero-runtime-dependency package acting as bridge between Node projects and their package managers. More information: https://github.com/nodejs/corepack.
  • Add the Corepack shims to the Node.js installation directory to make them available as global commands:
    corepack enable
  • Add the Corepack shims to a specific directory:
    corepack enable --install-directory {{path/to/directory}}
  • Remove the Corepack shims from the Node.js installation directory:
    corepack disable
  • Prepare a specific package manager:
    corepack prepare {{package_manager}}@{{version}} --activate
  • Prepare the package manager configured for the project in the current path:
    corepack prepare
  • Use a package manager without installing it as a global command:
    corepack {{npm|pnpm|yarn}} {{package_manager_arguments}}
  • Install a package manager from the specified archive:
    corepack hydrate {{path/to/corepack.tgz}}
  • Display help for a subcommand:
    corepack {{subcommand}} --help

dash

Debian Almquist Shell, a modern, POSIX-compliant implementation of sh (not Bash-compatible). More information: https://manned.org/dash.
  • Start an interactive shell session:
    dash
  • Execute specific [c]ommands:
    dash -c "{{echo 'dash is executed'}}"
  • Execute a specific script:
    dash {{path/to/script.sh}}
  • Check a specific script for syntax errors:
    dash -n {{path/to/script.sh}}
  • Execute a specific script while printing each command before executing it:
    dash -x {{path/to/script.sh}}
  • Execute a specific script and stop at the first [e]rror:
    dash -e {{path/to/script.sh}}
  • Execute specific commands from stdin:
    {{echo "echo 'dash is executed'"}} | dash

xe

Execute a command once for each line piped from another command or file. More information: https://github.com/leahneukirchen/xe.
  • Run a command once for each line of input data as arguments:
    {{arguments_source}} | xe {{command}}
  • Execute the commands, replacing any occurrence of the placeholder (marked as {}) with the input line:
    {{arguments_source}} | xe {{command}} {} {{optional_extra_arguments}}
  • Execute a shellscript, joining every N lines into a single call:
    echo -e 'a\nb' | xe -N{{2}} -s 'echo $2 $1'
  • Delete all files with a .backup extension:
    find . -name {{'*.backup'}} | xe rm -v
  • Run up to max-jobs processes in parallel; the default is 1. If max-jobs is 0, xe will run as many processes as cpu cores:
    {{arguments_source}} | xe -j {{max-jobs}} {{command}}

ed

The original Unix text editor. See also: awk, sed. More information: https://www.gnu.org/software/ed/manual/ed_manual.html.
  • Start an interactive editor session with an empty document:
    ed
  • Start an interactive editor session with an empty document and a specific prompt:
    ed --prompt='> '
  • Start an interactive editor session with user-friendly errors:
    ed --verbose
  • Start an interactive editor session with an empty document and without diagnostics, byte counts and '!' prompt:
    ed --quiet
  • Start an interactive editor session without exit status change when command fails:
    ed --loose-exit-status
  • Edit a specific file (this shows the byte count of the loaded file):
    ed {{path/to/file}}
  • Replace a string with a specific replacement for all lines:
    ,s/{{regular_expression}}/{{replacement}}/g

dive

A tool for exploring a Docker image, layer contents, and discovering ways to shrink it. More information: https://github.com/wagoodman/dive.
  • Analyze a Docker image:
    dive {{your_image_tag}}
  • Build an image and start analyzing it:
    dive build -t {{some_tag}}

mongoimport

Imports content from a JSON, CSV, or TSV file into a MongoDB database. More information: https://docs.mongodb.com/database-tools/mongoimport/.
  • Import a JSON file into a specific collection:
    mongoimport --file={{path/to/file.json}} --uri={{mongodb_uri}} --collection={{collection_name}}
  • Import a CSV file, using the first line of the file to determine field names:
    mongoimport --type={{csv}} --file={{path/to/file.csv}} --db={{database_name}} --collection={{collection_name}}
  • Import a JSON array, using each element as a separate document:
    mongoimport --jsonArray --file={{path/to/file.json}}
  • Import a JSON file using a specific mode and a query to match existing documents:
    mongoimport --file={{path/to/file.json}} --mode={{delete|merge|upsert}} --upsertFields="{{field1,field2,...}}"
  • Import a CSV file, reading field names from a separate CSV file and ignoring fields with empty values:
    mongoimport --type={{csv}} --file={{path/to/file.csv}} --fieldFile={{path/to/field_file.csv}} --ignoreBlanks
  • Display help:
    mongoimport --help

qrencode

QR Code generator. Supports PNG and EPS. More information: https://fukuchi.org/works/qrencode.
  • Convert a string to a QR code and save to an output file:
    qrencode -o {{path/to/output_file.png}} {{string}}
  • Convert an input file to a QR code and save to an output file:
    qrencode -o {{path/to/output_file.png}} -r {{path/to/input_file}}
  • Convert a string to a QR code and print it in terminal:
    qrencode -t ansiutf8 {{string}}
  • Convert input from pipe to a QR code and print it in terminal:
    echo {{string}} | qrencode -t ansiutf8

ghost

A blogging platform and headless CMS. More information: https://ghost.org.
  • Install Ghost in the current directory:
    ghost install
  • Start an instance of Ghost:
    ghost start
  • Restart the Ghost instance:
    ghost restart
  • Check the system for any potential hiccups while installing or updating Ghost:
    ghost doctor
  • View the logs of a Ghost instance:
    ghost log {{name}}
  • Run a Ghost instance directly (used by process managers and for debugging):
    ghost run
  • View running Ghost processes:
    ghost ls
  • View or edit Ghost configuration:
    ghost config {{key}} {{value}}

adscript

Compiler for Adscript files. More information: https://github.com/Amplus2/Adscript.
  • Compile a file to an object file:
    adscript --output {{path/to/file.o}} {{path/to/input_file.adscript}}
  • Compile and link a file to a standalone executable:
    adscript --executable --output {{path/to/file}} {{path/to/input_file.adscript}}
  • Compile a file to LLVM IR instead of native machine code:
    adscript --llvm-ir --output {{path/to/file.ll}} {{path/to/input_file.adscript}}
  • Cross-compile a file to an object file for a foreign CPU architecture or operating system:
    adscript --target-triple {{i386-linux-elf}} --output {{path/to/file.o}} {{path/to/input_file.adscript}}

luajit

A just-in-time compiler (JIT) for the Lua programming language. See also: lua. More information: https://luajit.org/luajit.html.
  • Start an interactive Lua shell:
    luajit
  • Execute a Lua script:
    luajit {{path/to/script.lua}} {{--optional-argument}}
  • Execute a Lua expression:
    luajit -e '{{print("Hello World")}}'


gnatprep

Preprocessor for Ada source code files (part of the GNAT toolchain). More information: https://gcc.gnu.org/onlinedocs/gnat_ugn/Preprocessing-with-gnatprep.html.
  • Use symbol definitions from a file:
    gnatprep {{source_file}} {{target_file}} {{definitions_file}}
  • Specify symbol values in the command-line:
    gnatprep -D{{name}}={{value}} {{source_file}} {{target_file}}

ptpython

A better Python REPL. More information: https://github.com/prompt-toolkit/ptpython.
  • Start a REPL (interactive shell):
    ptpython
  • Execute a specific Python file:
    ptpython {{path/to/file.py}}
  • Execute a specific Python file and start a REPL:
    ptpython -i {{path/to/file.py}}
  • Open the menu:
    F2
  • Open the history page:
    F3
  • Toggle paste mode:
    F6
  • Quit:
    Ctrl + D

glab auth

Authenticate with a GitLab host. More information: https://glab.readthedocs.io/en/latest/auth.
  • Log in with interactive prompt:
    glab auth login
  • Log in with a token:
    glab auth login --token {{token}}
  • Check authentication status:
    glab auth status
  • Log in to a specific GitLab instance:
    glab auth login --hostname {{gitlab.example.com}}

passwd

Passwd is a tool used to change a user's password. More information: https://manned.org/passwd.
  • Change the password of the current user interactively:
    passwd
  • Change the password of a specific user:
    passwd {{username}}
  • Get the current status of the user:
    passwd -S
  • Make the password of the account blank (it will set the named account passwordless):
    passwd -d


git bisect

Use binary search to find the commit that introduced a bug. Git automatically jumps back and forth in the commit graph to progressively narrow down the faulty commit. More information: https://git-scm.com/docs/git-bisect.
  • Start a bisect session on a commit range bounded by a known buggy commit, and a known clean (typically older) one:
    git bisect start {{bad_commit}} {{good_commit}}
  • For each commit that git bisect selects, mark it as "bad" or "good" after testing it for the issue:
    git bisect {{good|bad}}
  • After git bisect pinpoints the faulty commit, end the bisect session and return to the previous branch:
    git bisect reset
  • Skip a commit during a bisect (e.g. one that fails the tests due to a different issue):
    git bisect skip
  • Display a log of what has been done so far:
    git bisect log

docker run

Run a command in a new Docker container. More information: https://docs.docker.com/engine/reference/commandline/run/.
  • Run command in a new container from a tagged image:
    docker run {{image:tag}} {{command}}
  • Run command in a new container in background and display its ID:
    docker run --detach {{image}} {{command}}
  • Run command in a one-off container in interactive mode and pseudo-TTY:
    docker run --rm --interactive --tty {{image}} {{command}}
  • Run command in a new container with passed environment variables:
    docker run --env '{{variable}}={{value}}' --env {{variable}} {{image}} {{command}}
  • Run command in a new container with bind mounted volumes:
    docker run --volume {{/path/to/host_path}}:{{/path/to/container_path}} {{image}} {{command}}
  • Run command in a new container with published ports:
    docker run --publish {{host_port}}:{{container_port}} {{image}} {{command}}
  • Run command in a new container overwriting the entrypoint of the image:
    docker run --entrypoint {{command}} {{image}}
  • Run command in a new container connecting it to a network:
    docker run --network {{network}} {{image}}

hardhat

A development environment for Ethereum software. More information: https://hardhat.org.
  • List available subcommands (or create a new project if no configuration exists):
    hardhat
  • Compile the current project and build all artifacts:
    hardhat compile
  • Run a user-defined script after compiling the project:
    hardhat run {{path/to/script.js}}
  • Run Mocha tests:
    hardhat test
  • Run all given test files:
    hardhat test {{path/to/file1.js}} {{path/to/file2.js}}
  • Start a local Ethereum JSON-RPC node for development:
    hardhat node
  • Start a local Ethereum JSON-RPC node with a specific hostname and port:
    hardhat node --hostname {{hostname}} --port {{port}}
  • Clean the cache and all artifacts:
    hardhat clean

git cat-file

Provide content or type and size information for Git repository objects. More information: https://git-scm.com/docs/git-cat-file.
  • Get the [s]ize of the HEAD commit in bytes:
    git cat-file -s HEAD
  • Get the [t]ype (blob, tree, commit, tag) of a given Git object:
    git cat-file -t {{8c442dc3}}
  • Pretty-[p]rint the contents of a given Git object based on its type:
    git cat-file -p {{HEAD~2}}

groff

GNU replacement for the troff and nroff typesetting utilities. More information: https://www.gnu.org/software/groff.
  • Format output for a PostScript printer, saving the output to a file:
    groff {{path/to/input.roff}} > {{path/to/output.ps}}
  • Render a man page using the ASCII output device, and display it using a pager:
    groff -man -T ascii {{path/to/manpage.1}} | less --RAW-CONTROL-CHARS
  • Render a man page into an HTML file:
    groff -man -T html {{path/to/manpage.1}} > {{path/to/manpage.html}}
  • Typeset a roff file containing [t]ables and [p]ictures, using the [me] macro set, to PDF, saving the output:
    groff {{-t}} {{-p}} -{{me}} -T {{pdf}} {{path/to/input.me}} > {{path/to/output.pdf}}
  • Run a groff command with preprocessor and macro options guessed by the grog utility:
    eval "$(grog -T utf8 {{path/to/input.me}})"

view

A read-only version of vim. This is equivalent to vim -R. More information: https://www.vim.org.
  • Open a file:
    view {{path/to/file}}

dlv

Debugger for the Go programming language. More information: https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv.md.
  • Compile and begin debugging the main package in the current directory (by default, with no arguments):
    dlv debug
  • Compile and begin debugging a specific package:
    dlv debug {{package}} {{arguments}}
  • Compile a test binary and begin debugging the compiled program:
    dlv test
  • Connect to a headless debug server:
    dlv connect {{ip_address}}
  • Attach to a running process and begin debugging:
    div attach {{pid}}
  • Compile and begin tracing a program:
    dlv trace {{package}} --regexp '{{regular_expression}}'

pio org

Manage PlatformIO organizations and their owners. More information: https://docs.platformio.org/en/latest/core/userguide/org/.
  • Create a new organization:
    pio org create {{organization_name}}
  • Delete an organization:
    pio org destroy {{organization_name}}
  • Add a user to an organization:
    pio org add {{organization_name}} {{username}}
  • Remove a user from an organization:
    pio org remove {{organization_name}} {{username}}
  • List all organizations the current user is a member of and their owners:
    pio org list
  • Update the name, email or display name of an organization:
    pio org update --orgname {{new_organization_name}} --email {{new_email}} --displayname {{new_display_name}} {{organization_name}}

zoxide

Keep track of the most frequently used directories. Uses a ranking algorithm to navigate to the best match. More information: https://github.com/ajeetdsouza/zoxide.
  • Go to the highest-ranked directory that contains "foo" in the name:
    zoxide query {{foo}}
  • Go to the highest-ranked directory that contains "foo" and then "bar":
    zoxide query {{foo}} {{bar}}
  • Start an interactive directory search (requires fzf):
    zoxide query --interactive
  • Add a directory or increment its rank:
    zoxide add {{path/to/directory}}
  • Remove a directory from zoxide's database interactively:
    zoxide remove {{path/to/directory}} --interactive
  • Generate shell configuration for command aliases (z, za, zi, zq, zr):
    zoxide init {{bash|fish|zsh}}

kill

Sends a signal to a process, usually related to stopping the process. All signals except for SIGKILL and SIGSTOP can be intercepted by the process to perform a clean exit. More information: https://manned.org/kill.
  • Terminate a program using the default SIGTERM (terminate) signal:
    kill {{process_id}}
  • List available signal names (to be used without the SIG prefix):
    kill -l
  • Terminate a background job:
    kill %{{job_id}}
  • Terminate a program using the SIGHUP (hang up) signal. Many daemons will reload instead of terminating:
    kill -{{1|HUP}} {{process_id}}
  • Terminate a program using the SIGINT (interrupt) signal. This is typically initiated by the user pressing Ctrl + C:
    kill -{{2|INT}} {{process_id}}
  • Signal the operating system to immediately terminate a program (which gets no chance to capture the signal):
    kill -{{9|KILL}} {{process_id}}
  • Signal the operating system to pause a program until a SIGCONT ("continue") signal is received:
    kill -{{17|STOP}} {{process_id}}
  • Send a SIGUSR1 signal to all processes with the given GID (group id):
    kill -{{SIGUSR1}} -{{group_id}}

docker logs

Print container logs. More information: https://docs.docker.com/engine/reference/commandline/logs.
  • Print logs from a container:
    docker logs {{container_name}}
  • Print logs and follow them:
    docker logs -f {{container_name}}
  • Print last 5 lines:
    docker logs {{container_name}} --tail {{5}}
  • Print logs and append them with timestamps:
    docker logs -t {{container_name}}
  • Print logs from a certain point in time of container execution (i.e. 23m, 10s, 2013-01-02T13:23:37):
    docker logs {{container_name}} --until {{time}}

cs complete dep

Search for libraries without doing it directly on the web. More information: https://get-coursier.io/docs/cli-complete.
  • Print which artifacts are published under a specific Maven group identifier:
    cs complete-dep {{group_id}}
  • List published library versions under a specific Maven group identifier and an artifact one:
    cs complete-dep {{group_id}}:{{artifact_id}}
  • Print which artifacts are pubblished under a given Maven groupId searching in the ivy2local:
    cs complete-dep {{group_id}} --repository ivy2local
  • List published artifacts under a Maven group identifier searching in a specific repository and credentials:
    cs complete-dep {{group_id}}:{{artifact_id}} --repository {{repository_url}} --credentials {{user}}:{{password}}

stat

Display file and filesystem information. More information: https://www.gnu.org/software/coreutils/manual/html_node/stat-invocation.html.
  • Display properties about a specific file such as size, permissions, creation and access dates among others:
    stat {{path/to/file}}
  • Display properties about a specific file such as size, permissions, creation and access dates among others without labels:
    stat --terse {{path/to/file}}
  • Display information about the filesystem where a specific file is located:
    stat --file-system {{path/to/file}}
  • Show only octal file permissions:
    stat --format="%a %n" {{path/to/file}}
  • Show the owner and group of a specific file:
    stat --format="%U %G" {{path/to/file}}
  • Show the size of a specific file in bytes:
    stat --format="%s %n" {{path/to/file}}

openscad

Software for creating solid 3D CAD objects. More information: https://openscad.org.
  • Open a file:
    openscad {{path/to/button.scad}}
  • Convert a file to STL:
    openscad -o {{path/to/button.stl}} {{path/to/button.scad}}
  • Render a file to PNG in a specific colorscheme:
    openscad -o {{path/to/button.png}} --colorscheme {{Sunset}} {{path/to/button.scad}}

skate

Simple and powerful key-value store. More information: https://github.com/charmbracelet/skate.
  • Store a key and a value on the default database:
    skate set "{{key}}" "{{value}}"
  • Show your keys saved on the default database:
    skate list
  • Delete key and value from the default database:
    skate delete "{{key}}"
  • Create a new key and value in a new database:
    skate set "{{key}}"@"{{database_name}}" "{{value}}"
  • Show your keys saved in a non default database:
    skate list @"{{database_name}}"
  • Delete key and value from a specific database:
    skate delete "{{key}}"@"{{database_name}}"
  • Show the databases available:
    skate list-dbs
  • Delete local db and pull down fresh copy from Charm Cloud:
    skate reset @"{{database_name}}"

openvpn

OpenVPN client and daemon binary. More information: https://openvpn.net/.
  • Connect to server using a config file:
    sudo openvpn {{path/to/client.conf}}
  • Try to set up an insecure peer-to-peer tunnel on bob.example.com host:
    sudo openvpn --remote {{alice.example.com}} --dev {{tun1}} --ifconfig {{10.4.0.1}} {{10.4.0.2}}
  • Connect to the awaiting bob.example.com host without encryption:
    sudo openvpn --remote {{bob.example.com}} --dev {{tun1}} --ifconfig {{10.4.0.2}} {{10.4.0.1}}
  • Create a cryptographic key and save it to file:
    openvpn --genkey secret {{path/to/key}}
  • Try to set up a peer-to-peer tunnel on bob.example.com host with a static key:
    sudo openvpn --remote {{alice.example.com}} --dev {{tun1}} --ifconfig {{10.4.0.1}} {{10.4.0.2}} --secret {{path/to/key}}
  • Connect to the awaiting bob.example.com host with the same static key as on bob.example.com:
    sudo openvpn --remote {{bob.example.com}} --dev {{tun1}} --ifconfig {{10.4.0.2}} {{10.4.0.1}} --secret {{path/to/key}}

gv2gml

Convert a graph from gv to gml format. Converters: gml2gv, gv2gml, gv2gxl, gxl2gv, graphml2gv & mm2gv. More information: https://graphviz.org/pdf/gml2gv.1.pdf.
  • Convert a graph from gv to gml format:
    gv2gml -o {{output.gml}} {{input.gv}}
  • Convert a graph using stdin and stdout:
    cat {{input.gv}} | gv2gml > {{output.gml}}
  • Display help:
    gv2gml -?

cpio

Copies files in and out of archives. Supports the following archive formats: cpio's custom binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. More information: https://www.gnu.org/software/cpio.
  • Take a list of file names from stdin and add them [o]nto an archive in cpio's binary format:
    echo "{{file1}} {{file2}} {{file3}}" | cpio -o > {{archive.cpio}}
  • Copy all files and directories in a directory and add them [o]nto an archive, in [v]erbose mode:
    find {{path/to/directory}} | cpio -ov > {{archive.cpio}}
  • P[i]ck all files from an archive, generating [d]irectories where needed, in [v]erbose mode:
    cpio -idv < {{archive.cpio}}

aws lightsail

Manage Amazon Lightsail resources. More information: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/index.html.
  • List all virtual private servers, or instances:
    aws lightsail get-instances
  • List all bundles (instance plans):
    aws lightsail list-bundles
  • List all available instance images, or blueprints:
    aws lightsail list-blueprints
  • Create an instance:
    aws lightsail create-instances --instance-names {{name}} --availability-zone {{region}} --bundle-id {{nano_2_0}} --blueprint-id {{blueprint_id}}
  • Print the state of a specific instance:
    aws lightsail get-instance-state --instance-name {{name}}
  • Stop a specific instance:
    aws lightsail stop-instance --instance-name {{name}}
  • Delete a specific instance:
    aws lightsail delete-instance --instance-name {{name}}

whoami

Print the username associated with the current effective user ID. More information: https://www.gnu.org/software/coreutils/whoami.
  • Display currently logged username:
    whoami
  • Display the username after a change in the user ID:
    sudo whoami


solo

Interact with Solo hardware security keys. More information: https://github.com/solokeys/solo-python.
  • List connected Solos:
    solo ls
  • Update the currently connected Solo's firmware to the latest version:
    solo key update
  • Blink the LED of a specific Solo:
    solo key wink --serial {{serial_number}}
  • Generate random bytes using the currently connected Solo's secure random number generator:
    solo key rng raw
  • Monitor the serial output of a Solo:
    solo monitor {{path/to/serial_port}}


tar

Archiving utility. Often combined with a compression method, such as gzip or bzip2. More information: https://www.gnu.org/software/tar.
  • [c]reate an archive and write it to a [f]ile:
    tar cf {{path/to/target.tar}} {{path/to/file1 path/to/file2 ...}}
  • [c]reate a g[z]ipped archive and write it to a [f]ile:
    tar czf {{path/to/target.tar.gz}} {{path/to/file1 path/to/file2 ...}}
  • [c]reate a g[z]ipped archive from a directory using relative paths:
    tar czf {{path/to/target.tar.gz}} --directory={{path/to/directory}} .
  • E[x]tract a (compressed) archive [f]ile into the current directory [v]erbosely:
    tar xvf {{path/to/source.tar[.gz|.bz2|.xz]}}
  • E[x]tract a (compressed) archive [f]ile into the target directory:
    tar xf {{path/to/source.tar[.gz|.bz2|.xz]}} --directory={{path/to/directory}}
  • [c]reate a compressed archive and write it to a [f]ile, using [a]rchive suffix to determine the compression program:
    tar caf {{path/to/target.tar.xz}} {{path/to/file1 path/to/file2 ...}}
  • Lis[t] the contents of a tar [f]ile [v]erbosely:
    tar tvf {{path/to/source.tar}}
  • E[x]tract files matching a pattern from an archive [f]ile:
    tar xf {{path/to/source.tar}} --wildcards "{{*.html}}"

ia

Command-line tool to interact with archive.org. More information: https://archive.org/services/docs/api/internetarchive/cli.html.
  • Configure ia with API keys (some functions won't work without this step):
    ia configure
  • Upload one or more items to archive.org:
    ia upload {{identifier}} {{path/to/file}} --metadata="{{mediatype:data}}" --metadata="{{title:example}}"
  • Download one or more items from archive.org:
    ia download {{item}}
  • Delete one or more items from archive.org:
    ia delete {{identifier}} {{file}}
  • Search on archive.org, returning results as JSON:
    ia search '{{subject:"subject" collection:collection}}'

eza

Modern, maintained replacement for ls, built on exa. More information: https://github.com/eza-community/eza.
  • List files one per line:
    eza --oneline
  • List all files, including hidden files:
    eza --all
  • Long format list (permissions, ownership, size and modification date) of all files:
    eza --long --all
  • List files with the largest at the top:
    eza --reverse --sort={{size}}
  • Display a tree of files, three levels deep:
    eza --long --tree --level={{3}}
  • List files sorted by modification date (oldest first):
    eza --long --sort={{modified}}
  • List files with their headers, icons, and Git statuses:
    eza --long --header --icons --git
  • Don't list files mentioned in .gitignore:
    eza --git-ignore

amass intel

Collect open source intel on an organisation like root domains and ASNs. More information: https://github.com/OWASP/Amass/blob/master/doc/user_guide.md#the-intel-subcommand.
  • Find root domains in an IP address range:
    amass intel -addr {{192.168.0.1-254}}
  • Use active recon methods:
    amass intel -active -addr {{192.168.0.1-254}}
  • Find root domains related to a domain:
    amass intel -whois -d {{domain_name}}
  • Find ASNs belonging to an organisation:
    amass intel -org {{organisation_name}}
  • Find root domains belonging to a given Autonomous System Number:
    amass intel -asn {{asn}}
  • Save results to a text file:
    amass intel -o {{output_file}} -whois -d {{domain_name}}

dua

Dua (Disk Usage Analyzer) is a tool to conveniently learn about the usage of disk space of a given directory. More information: https://github.com/Byron/dua-cli.
  • Analyze specific directory:
    dua {{path/to/directory}}
  • Display apparent size instead of disk usage:
    dua --apparent-size
  • Count hard-linked files each time they are seen:
    dua --count-hard-links
  • Aggregate the consumed space of one or more directories or files:
    dua aggregate
  • Launch the terminal user interface:
    dua interactive
  • Format printing byte counts:
    dua --format {{metric|binary|bytes|GB|GiB|MB|MiB}}
  • Set the number of threads to be used:
    dua --threads {{count}}

git ls-remote

Git command for listing references in a remote repository based on name or URL. If no name or URL are given, then the configured upstream branch will be used, or remote origin if the former is not configured. More information: https://git-scm.com/docs/git-ls-remote.
  • Show all references in the default remote repository:
    git ls-remote
  • Show only heads references in the default remote repository:
    git ls-remote --heads
  • Show only tags references in the default remote repository:
    git ls-remote --tags
  • Show all references from a remote repository based on name or URL:
    git ls-remote {{repository_url}}
  • Show references from a remote repository filtered by a pattern:
    git ls-remote {{repository_name}} "{{pattern}}"

cradle

The Cradle PHP framework. Some subcommands such as cradle install have their own usage documentation. More information: https://cradlephp.github.io.
  • Connect to a server:
    cradle connect {{server_name}}
  • Display general help:
    cradle help
  • Display help for a specific command:
    cradle {{command}} help
  • Execute a Cradle command:
    cradle {{command}}

crontab

Schedule cron jobs to run on a time interval for the current user. More information: https://crontab.guru/.
  • Edit the crontab file for the current user:
    crontab -e
  • Edit the crontab file for a specific user:
    sudo crontab -e -u {{user}}
  • Replace the current crontab with the contents of the given file:
    crontab {{path/to/file}}
  • View a list of existing cron jobs for current user:
    crontab -l
  • Remove all cron jobs for the current user:
    crontab -r
  • Sample job which runs at 10:00 every day (* means any value):
    0 10 * * * {{command_to_execute}}
  • Sample crontab entry, which runs a command every 10 minutes:
    */10 * * * * {{command_to_execute}}
  • Sample crontab entry, which runs a certain script at 02:30 every Friday:
    30 2 * * Fri {{/absolute/path/to/script.sh}}

bower

A package manager optimized for front-end web development. A package can be a GitHub user/repo shorthand, a Git endpoint, a URL or a registered package. More information: https://bower.io/.
  • Install a project's dependencies, listed in its bower.json:
    bower install
  • Install one or more packages to the bower_components directory:
    bower install {{package}} {{package}}
  • Uninstall packages locally from the bower_components directory:
    bower uninstall {{package}} {{package}}
  • List local packages and possible updates:
    bower list
  • Display help information about a bower command:
    bower help {{command}}
  • Create a bower.json file for your package:
    bower init
  • Install a specific dependency version, and add it to bower.json:
    bower install {{local_name}}={{package}}#{{version}} --save

julia

A high-level, high-performance dynamic programming language for technical computing. More information: https://docs.julialang.org/en/v1/manual/getting-started/.
  • Start a REPL (interactive shell):
    julia
  • Execute a Julia program and exit:
    julia {{program.jl}}
  • Execute a Julia program that takes arguments:
    julia {{program.jl}} {{arguments}}
  • Evaluate a string containing Julia code:
    julia -e '{{julia_code}}'
  • Evaluate a string of Julia code, passing arguments to it:
    julia -e '{{for x in ARGS; println(x); end}}' {{arguments}}
  • Evaluate an expression and print the result:
    julia -E '{{(1 - cos(pi/4))/2}}'
  • Start Julia in parallel mode, using N worker processes:
    julia -p {{N}}

xml pyx

Convert an XML document to PYX (ESIS - ISO 8879) format. More information: http://xmlstar.sourceforge.net/docs.php.
  • Convert an XML document to PYX format:
    xml pyx {{path/to/input.xml|URI}} > {{path/to/output.pyx}}
  • Convert an XML document from stdin to PYX format:
    cat {{path/to/input.xml}} | xml pyx > {{path/to/output.pyx}}
  • Display help for the pyx subcommand:
    xml pyx --help

wormhole

Get things from one computer to another, safely. More information: https://magic-wormhole.readthedocs.io.
  • Send a file:
    wormhole send {{path/to/file}}
  • Receive a file:
    wormhole receive {{wormhole_code}}
  • Send raw text:
    wormhole send

[[

Check file types and compare values. Returns a status of 0 if the condition evaluates to true, 1 if it evaluates to false. More information: https://www.gnu.org/software/bash/manual/bash.html#index-_005b_005b.
  • Test if a given variable is equal/not equal to the specified string:
    [[ ${{variable}} {{==|!=}} "{{string}}" ]]
  • Test if a given string conforms the specified glob/regex:
    [[ ${{variable}} {{==|=~}} {{pattern}} ]]
  • Test if a given variable is [eq]ual/[n]ot [e]qual/[g]reater [t]han/[l]ess [t]han/[g]reater than or [e]qual/[l]ess than or [e]qual to the specified number:
    [[ ${{variable}} -{{eq|ne|gt|lt|ge|le}} {{integer}} ]]
  • Test if the specified variable has a [n]on-empty value:
    [[ -n ${{variable}} ]]
  • Test if the specified variable has an empty value:
    [[ -z ${{variable}} ]]
  • Test if the specified [f]ile exists:
    [[ -f {{path/to/file}} ]]
  • Test if the specified [d]irectory exists:
    [[ -d {{path/to/directory}} ]]
  • Test if the specified file or directory [e]xists:
    [[ -e {{path/to/file_or_directory}} ]]

cron

cron is a system scheduler for running jobs or tasks unattended. The command to submit, edit or delete entries to cron is called crontab.
  • View documentation for the original command:
    tldr crontab

nproc

Print the number of processing units (normally CPUs) available. More information: https://www.gnu.org/software/coreutils/nproc.
  • Display the number of available processing units:
    nproc
  • Display the number of installed processing units, including any inactive ones:
    nproc --all
  • If possible, subtract a given number of units from the returned value:
    nproc --ignore {{count}}

seq

Output a sequence of numbers to stdout. More information: https://www.gnu.org/software/coreutils/seq.
  • Sequence from 1 to 10:
    seq 10
  • Every 3rd number from 5 to 20:
    seq 5 3 20
  • Separate the output with a space instead of a newline:
    seq -s " " 5 3 20
  • Format output width to a minimum of 4 digits padding with zeros as necessary:
    seq -f "%04g" 5 3 20

kinit

Authenticate a principal with a Kerberos server to gain and cache a ticket. Note: A Kerberos principal can be either a user, service, or application. More information: https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html.
  • Authenticate a user and obtain a ticket-granting ticket:
    kinit {{username}}
  • Renew a ticket-granting ticket:
    kinit -R
  • Specify a lifetime for the ticket:
    kinit -l {{5h}}
  • Specify a total renewable lifetime for the ticket:
    kinit -r {{1w}}
  • Specify a different principal name to authenticate as:
    kinit -p {{principal@REALM}}
  • Specify a different keytab file to authenticate with:
    kinit -t {{path/to/keytab}}

godoc

Show documentation for go packages. More information: https://godoc.org/.
  • Display help for package "fmt":
    godoc {{fmt}}
  • Display help for the function "Printf" of "fmt" package:
    godoc {{fmt}} {{Printf}}
  • Serve documentation as a web server on port 6060:
    godoc -http=:{{6060}}
  • Create an index file:
    godoc -write_index -index_files={{path/to/file}}
  • Use the given index file to search the docs:
    godoc -http=:{{6060}} -index -index_files={{path/to/file}}

nc

Netcat is a versatile utility for redirecting IO into a network stream. More information: https://manned.org/man/nc.1.
  • Start a listener on the specified TCP port and send a file into it:
    nc -l -p {{port}} < {{filename}}
  • Connect to a target listener on the specified port and receive a file from it:
    nc {{host}} {{port}} > {{received_filename}}
  • Scan the open TCP ports of a specified host:
    nc -v -z -w {{timeout_in_seconds}} {{host}} {{start_port}}-{{end_port}}
  • Start a listener on the specified TCP port and provide your local shell access to the connected party (this is dangerous and can be abused):
    nc -l -p {{port}} -e {{shell_executable}}
  • Connect to a target listener and provide your local shell access to the remote party (this is dangerous and can be abused):
    nc {{host}} {{port}} -e {{shell_executable}}
  • Act as a proxy and forward data from a local TCP port to the given remote host:
    nc -l -p {{local_port}} | nc {{host}} {{remote_port}}
  • Send an HTTP GET request:
    echo -e "GET / HTTP/1.1\nHost: {{host}}\n\n" | nc {{host}} 80

git show-ref

Git command for listing references. More information: https://git-scm.com/docs/git-show-ref.
  • Show all refs in the repository:
    git show-ref
  • Show only heads references:
    git show-ref --heads
  • Show only tags references:
    git show-ref --tags
  • Verify that a given reference exists:
    git show-ref --verify {{path/to/ref}}


bzgrep

Find patterns in bzip2 compressed files using grep. More information: https://manned.org/bzgrep.
  • Search for a pattern within a compressed file:
    bzgrep "{{search_pattern}}" {{path/to/file}}
  • Use extended regular expressions (supports ?, +, {}, () and |), in case-insensitive mode:
    bzgrep --extended-regexp --ignore-case "{{search_pattern}}" {{path/to/file}}
  • Print 3 lines of context around, before, or after each match:
    bzgrep --{{context|before-context|after-context}}={{3}} "{{search_pattern}}" {{path/to/file}}
  • Print file name and line number for each match:
    bzgrep --with-filename --line-number "{{search_pattern}}" {{path/to/file}}
  • Search for lines matching a pattern, printing only the matched text:
    bzgrep --only-matching "{{search_pattern}}" {{path/to/file}}
  • Recursively search files in a bzip2 compressed tar archive for a pattern:
    bzgrep --recursive "{{search_pattern}}" {{path/to/tar/file}}
  • Search stdin for lines that do not match a pattern:
    cat {{/path/to/bz/compressed/file}} | bzgrep --invert-match "{{search_pattern}}"

csslint

A linter for CSS code. More information: https://github.com/CSSLint/csslint/wiki/Command-line-interface.
  • Lint a single CSS file:
    csslint {{file.css}}
  • Lint multiple CSS files:
    csslint {{file1.css}} {{file2.css}} {{file3.css}}
  • List all possible style rules:
    csslint --list-rules
  • Specify certain rules as errors (which result in a non-zero exit code):
    csslint --errors={{errors,universal-selector,imports}} {{file.css}}
  • Specify certain rules as warnings:
    csslint --warnings={{box-sizing,selector-max,floats}} {{file.css}}
  • Specify certain rules to ignore:
    csslint --ignore={{ids,rules-count,shorthand}} {{file.css}}

packwiz

Create, edit and manage Minecraft modpacks. More information: https://packwiz.infra.link/reference/commands/packwiz/.
  • Interactively create a new modpack in the current directory:
    packwiz init
  • Add a mod from Modrinth or Curseforge:
    packwiz {{modrinth|curseforge}} add {{url|slug|search_term}}
  • List all mods in the modpack:
    packwiz list
  • Update index.toml after manually editing files:
    packwiz refresh
  • Export as a Modrinth (.mrpack) or Curseforge (.zip) file:
    packwiz {{modrinth|curseforge}} export

import

Capture some or all of an X server screen, and save the image to a file. Part of the ImageMagick library. More information: https://imagemagick.org/script/import.php.
  • Capture the entire X server screen in the PostScript image format:
    import -window root {{output.postscript}}
  • Capture contents of a remote X server screen in the PNG format:
    import -window root -display {{remote_host}}:{{screen}}.{{display}} {{output.png}}
  • Capture a specific window, given its ID as displayed by xwininfo, into the JPEG format:
    import -window {{window_id}} {{output.jpg}}

git instaweb

Helper to launch a GitWeb server. More information: https://git-scm.com/docs/git-instaweb.
  • Launch a GitWeb server for the current Git repository:
    git instaweb --start
  • Listen only on localhost:
    git instaweb --start --local
  • Listen on a specific port:
    git instaweb --start --port {{1234}}
  • Use a specified HTTP daemon:
    git instaweb --start --httpd {{lighttpd|apache2|mongoose|plackup|webrick}}
  • Also auto-launch a web browser:
    git instaweb --start --browser
  • Stop the currently running GitWeb server:
    git instaweb --stop
  • Restart the currently running GitWeb server:
    git instaweb --restart

qmv

Move files and directories using the default text editor to define the filenames. More information: https://www.nongnu.org/renameutils/.
  • Move a single file (open an editor with the source filename on the left and the target filename on the right):
    qmv {{source_file}}
  • Move multiple JPG files:
    qmv {{*.jpg}}
  • Move multiple directories:
    qmv -d {{path/to/directory1}} {{path/to/directory2}} {{path/to/directory3}}
  • Move all files and directories inside a directory:
    qmv --recursive {{path/to/directory}}
  • Move files, but swap the positions of the source and the target filenames in the editor:
    qmv --option swap {{*.jpg}}
  • Rename all files and folders in the current directory, but show only target filenames in the editor (you can think of it as a kind of simple mode):
    qmv --format=do .

mysql

The MySQL command-line tool. More information: https://www.mysql.com/.
  • Connect to a database:
    mysql {{database_name}}
  • Connect to a database, user will be prompted for a password:
    mysql -u {{user}} --password {{database_name}}
  • Connect to a database on another host:
    mysql -h {{database_host}} {{database_name}}
  • Connect to a database through a Unix socket:
    mysql --socket {{path/to/socket.sock}}
  • Execute SQL statements in a script file (batch file):
    mysql -e "source {{filename.sql}}" {{database_name}}
  • Restore a database from a backup created with mysqldump (user will be prompted for a password):
    mysql --user {{user}} --password {{database_name}} < {{path/to/backup.sql}}
  • Restore all databases from a backup (user will be prompted for a password):
    mysql --user {{user}} --password < {{path/to/backup.sql}}

git sed

Replace patterns in git-controlled files using sed. Part of git-extras. More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-sed.
  • Replace the specified text in the current repository:
    git sed '{{find_text}}' '{{replace_text}}'
  • Replace the specified text and then commit the resulting changes with a standard commit message:
    git sed -c '{{find_text}}' '{{replace_text}}'
  • Replace the specified text, using regular expressions:
    git sed -f g '{{find_text}}' '{{replace_text}}'
  • Replace a specific text in all files under a given directory:
    git sed '{{find_text}}' '{{replace_text}}' -- {{path/to/directory}}

go mod

Module maintenance. More information: https://golang.org/cmd/go/#hdr-Module_maintenance.
  • Initialize new module in current directory:
    go mod init {{moduleName}}
  • Download modules to local cache:
    go mod download
  • Add missing and remove unused modules:
    go mod tidy
  • Verify dependencies have expected content:
    go mod verify
  • Copy sources of all dependencies into the vendor directory:
    go mod vendor

mlr

Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON. More information: https://johnkerl.org/miller/doc.
  • Pretty-print a CSV file in a tabular format:
    mlr --icsv --opprint cat {{example.csv}}
  • Receive JSON data and pretty print the output:
    echo '{"hello":"world"}' | mlr --ijson --opprint cat
  • Sort alphabetically on a field:
    mlr --icsv --opprint sort -f {{field}} {{example.csv}}
  • Sort in descending numerical order on a field:
    mlr --icsv --opprint sort -nr {{field}} {{example.csv}}
  • Convert CSV to JSON, performing calculations and display those calculations:
    mlr --icsv --ojson put '${{newField1}} = ${{oldFieldA}}/${{oldFieldB}}' {{example.csv}}
  • Receive JSON and format the output as vertical JSON:
    echo '{"hello":"world", "foo":"bar"}' | mlr --ijson --ojson --jvstack cat
  • Filter lines of a compressed CSV file treating numbers as strings:
    mlr --prepipe 'gunzip' --csv filter -S '${{fieldName}} =~ "{{regular_expression}}"' {{example.csv.gz}}

zcat

Print data from gzip compressed files. More information: https://www.gnu.org/software/gzip/manual/gzip.html.
  • Print the uncompressed contents of a gzipped file to stdout:
    zcat {{file.txt.gz}}
  • Print compression details of a gzipped file to stdout:
    zcat -l {{file.txt.gz}}

gitlab-ctl

Manage the GitLab omnibus. More information: https://docs.gitlab.com/omnibus/maintenance/.
  • Display the status of every service:
    sudo gitlab-ctl status
  • Display the status of a specific service:
    sudo gitlab-ctl status {{nginx}}
  • Restart every service:
    sudo gitlab-ctl restart
  • Restart a specific service:
    sudo gitlab-ctl restart {{nginx}}
  • Display the logs of every service and keep reading until Ctrl + C is pressed:
    sudo gitlab-ctl tail
  • Display the logs of a specific service:
    sudo gitlab-ctl tail {{nginx}}

clamdscan

A command-line virus scanner using the ClamAV Daemon. More information: https://docs.clamav.net/manual/Usage/Scanning.html#clamdscan.
  • Scan a file or directory for vulnerabilities:
    clamdscan {{path/to/file_or_directory}}
  • Scan data from stdin:
    {{command}} | clamdscan -
  • Scan the current directory and output only infected files:
    clamdscan --infected
  • Output the scan report to a log file:
    clamdscan --log {{path/to/log_file}}
  • Move infected files to a specific directory:
    clamdscan --move {{path/to/quarantine_directory}}
  • Remove infected files:
    clamdscan --remove
  • Use multiple threads to scan a directory:
    clamdscan --multiscan
  • Pass the file descriptor instead of streaming the file to the daemon:
    clamdscan --fdpass

git init

Initializes a new local Git repository. More information: https://git-scm.com/docs/git-init.
  • Initialize a new local repository:
    git init
  • Initialize a repository with the specified name for the initial branch:
    git init --initial-branch={{branch_name}}
  • Initialize a repository using SHA256 for object hashes (requires Git version 2.29+):
    git init --object-format={{sha256}}
  • Initialize a barebones repository, suitable for use as a remote over ssh:
    git init --bare

dvc diff

Show changes in DVC tracked file and directories. More information: https://dvc.org/doc/command-reference/diff.
  • Compare DVC tracked files from different Git commits, tags, and branches w.r.t the current workspace:
    dvc diff {{commit_hash/tag/branch}}
  • Compare the changes in DVC tracked files from 1 Git commit to another:
    dvc diff {{revision_b}} {{revision_a}}
  • Compare DVC tracked files, along with their latest hash:
    dvc diff --show-hash {{commit}}
  • Compare DVC tracked files, displaying the output as JSON:
    dvc diff --show-json --show-hash {{commit}}
  • Compare DVC tracked files, displaying the output as Markdown:
    dvc diff --show-md --show-hash {{commit}}


uvicorn

Python ASGI HTTP Server, for asynchronous projects. More information: https://www.uvicorn.org/.
  • Run Python web app:
    uvicorn {{import.path:app_object}}
  • Listen on port 8080 on localhost:
    uvicorn --host {{localhost}} --port {{8080}} {{import.path:app_object}}
  • Turn on live reload:
    uvicorn --reload {{import.path:app_object}}
  • Use 4 worker processes for handling requests:
    uvicorn --workers {{4}} {{import.path:app_object}}
  • Run app over HTTPS:
    uvicorn --ssl-certfile {{cert.pem}} --ssl-keyfile {{key.pem}} {{import.path:app_object}}

iconv

Converts text from one encoding to another. More information: https://manned.org/iconv.
  • Convert file to a specific encoding, and print to stdout:
    iconv -f {{from_encoding}} -t {{to_encoding}} {{input_file}}
  • Convert file to the current locale's encoding, and output to a file:
    iconv -f {{from_encoding}} {{input_file}} > {{output_file}}
  • List supported encodings:
    iconv -l

tailscale

A private WireGuard network service. Some subcommands such as tailscale up have their own usage documentation. More information: https://tailscale.com.
  • Connect to Tailscale:
    sudo tailscale up
  • Disconnect from Tailscale:
    sudo tailscale down
  • Display the current Tailscale IP addresses:
    tailscale ip
  • Ping a peer node at the Tailscale layer and display which route it took for each response:
    tailscale ping {{ip|hostname}}
  • Analyze the local network conditions and display the result:
    tailscale netcheck
  • Start a web server for controlling Tailscale:
    tailscale web
  • Display a shareable identifier to help diagnose issues:
    tailscale bugreport
  • Display help for a subcommand:
    tailscale {{subcommand}} --help

users

Display a list of logged in users. See also: useradd, userdel, usermod. More information: https://www.gnu.org/software/coreutils/users.
  • Print logged in usernames:
    users
  • Print logged in usernames according to a given file:
    users {{/var/log/wmtp}}

assimp

Command-line client for the Open Asset Import Library. Supports loading of 40+ 3D file formats, and exporting to several popular 3D formats. More information: https://assimp-docs.readthedocs.io/.
  • List all supported import formats:
    assimp listext
  • List all supported export formats:
    assimp listexport
  • Convert a file to one of the supported output formats, using the default parameters:
    assimp export {{input_file.stl}} {{output_file.obj}}
  • Convert a file using custom parameters (the dox_cmd.h file in assimp's source code lists available parameters):
    assimp export {{input_file.stl}} {{output_file.obj}} {{parameters}}
  • Display a summary of a 3D file's contents:
    assimp info {{path/to/file}}
  • List all supported subcommands ("verbs"):
    assimp help
  • Get help on a specific subcommand (e.g. the parameters specific to it):
    assimp {{subcommand}} --help

pgrep

Find or signal processes by name. More information: https://www.man7.org/linux/man-pages/man1/pkill.1.html.
  • Return PIDs of any running processes with a matching command string:
    pgrep {{process_name}}
  • Search for processes including their command-line options:
    pgrep --full "{{process_name}} {{parameter}}"
  • Search for processes run by a specific user:
    pgrep --euid root {{process_name}}

pfetch

Display system information. More information: https://github.com/dylanaraps/pfetch.
  • Display the ASCII art and default fields:
    pfetch
  • Display only the ASCII art and color palette fields:
    PF_INFO="{{ascii palette}}" pfetch
  • Display all possible fields:
    PF_INFO="{{ascii title os host kernel uptime pkgs memory shell editor wm de palette}}" pfetch
  • Display a different username and hostname:
    USER="{{user}}" HOSTNAME="{{hostname}}" pfetch
  • Display without colors:
    PF_COLOR={{0}} pfetch

dircolors

Output commands to set the LS_COLOR environment variable and style ls, dir, etc. More information: https://www.gnu.org/software/coreutils/dircolors.
  • Output commands to set LS_COLOR using default colors:
    dircolors
  • Output commands to set LS_COLOR using colors from a file:
    dircolors {{path/to/file}}
  • Output commands for Bourne shell:
    dircolors --bourne-shell
  • Output commands for C shell:
    dircolors --c-shell
  • View the default colors for file types and extensions:
    dircolors --print-data

renice

Alters the scheduling priority/niceness of one or more running processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). More information: https://manned.org/renice.
  • Change priority of a running process:
    renice -n {{niceness_value}} -p {{pid}}
  • Change priority of all processes owned by a user:
    renice -n {{niceness_value}} -u {{user}}
  • Change priority of all processes that belong to a process group:
    renice -n {{niceness_value}} --pgrp {{process_group}}

transmission-remote

Remote control utility for transmission-daemon and transmission. More information: https://transmissionbt.com.
  • Add a torrent file or magnet link to Transmission and download to a specified directory:
    transmission-remote {{hostname}} -a {{torrent|url}} -w {{/path/to/download_directory}}
  • Change the default download directory:
    transmission-remote {{hostname}} -w {{/path/to/download_directory}}
  • List all torrents:
    transmission-remote {{hostname}} --list
  • Start torrent 1 and 2, stop torrent 3:
    transmission-remote {{hostname}} -t "{{1,2}}" --start -t {{3}} --stop
  • Remove torrent 1 and 2, and also delete local data for torrent 2:
    transmission-remote {{hostname}} -t {{1}} --remove -t {{2}} --remove-and-delete
  • Stop all torrents:
    transmission-remote {{hostname}} -t {{all}} --stop
  • Move torrents 1-10 and 15-20 to a new directory (which will be created if it does not exist):
    transmission-remote {{hostname}} -t "{{1-10,15-20}}" --move {{/path/to/new_directory}}

az config

Manage Azure CLI configuration. Part of azure-cli. More information: https://learn.microsoft.com/cli/azure/config.
  • Print all configurations:
    az config get
  • Print configurations for a specific section:
    az config get {{section_name}}
  • Set a configuration:
    az config set {{configuration_name}}={{value}}
  • Unset a configuration:
    az config unset {{configuration_name}}

agate

A simple server for the Gemini network protocol. More information: https://github.com/mbrubeck/agate.
  • Run and generate a private key and certificate:
    agate --content {{path/to/content/}} --addr {{[::]:1965}} --addr {{0.0.0.0:1965}} --hostname {{example.com}} --lang {{en-US}}
  • Run server:
    agate {{path/to/file}}
  • Display help:
    agate -h

gdalinfo

List various information about a GDAL supported raster dataset. More information: https://gdal.org/programs/gdalinfo.html.
  • List all supported raster formats:
    gdalinfo --formats
  • List information about a specific raster dataset:
    gdalinfo {{path/to/input.tif}}
  • List information about a specific raster dataset in JSON format:
    gdalinfo -json {{path/to/input.tif}}
  • Show histogram values of a specific raster dataset:
    gdalinfo -hist {{path/to/input.tif}}
  • List information about a Web Map Service (WMS):
    gdalinfo WMS:{{https://services.meggsimum.de/geoserver/ows}}
  • List information about a specific dataset of a Web Map Service (WMS):
    gdalinfo WMS:{{https://services.meggsimum.de/geoserver/ows}} -sd {{4}}

dwebp

dwebp decompresses WebP files into PNG, PAM, PPM or PGM images. Animated WebP files are not supported. More information: https://developers.google.com/speed/webp/docs/dwebp/.
  • Convert a webp file into a png file:
    dwebp {{path/to/input.webp}} -o {{path/to/output.png}}
  • Convert a webp file into a specific filetype:
    dwebp {{path/to/input.webp}} -bmp|-tiff|-pam|-ppm|-pgm|-yuv -o {{path/to/output}}
  • Convert a webp file, using multi-threading if possible:
    dwebp {{path/to/input.webp}} -o {{path/to/output.png}} -mt
  • Convert a webp file, but also crop and scale at the same time:
    dwebp {{input.webp}} -o {{output.png}} -crop {{x_pos}} {{y_pos}} {{width}} {{height}} -scale {{width}} {{height}}
  • Convert a webp file and flip the output:
    dwebp {{path/to/input.webp}} -o {{path/to/output.png}} -flip
  • Convert a webp file and don't use in-loop filtering to speed up the decoding process:
    dwebp {{path/to/input.webp}} -o {{path/to/output.png}} -nofilter

git count-objects

Count the number of unpacked objects and their disk consumption. More information: https://git-scm.com/docs/git-count-objects.
  • Count all objects and display the total disk usage:
    git count-objects
  • Display a count of all objects and their total disk usage, displaying sizes in human-readable units:
    git count-objects --human-readable
  • Display more verbose information:
    git count-objects --verbose
  • Display more verbose information, displaying sizes in human-readable units:
    git count-objects --human-readable --verbose

virt-sparsify

Make virtual machine drive images thin-provisioned. NOTE: Use only for offline machines to avoid data corruption. More information: https://libguestfs.org.
  • Create a sparsified compressed image without snapshots from an unsparsified one:
    virt-sparsify --compress {{path/to/image.qcow2}} {{path/to/image_new.qcow2}}
  • Sparsify an image in-place:
    virt-sparsify --in-place {{path/to/image.img}}

okular

View documents. More information: https://docs.kde.org/stable5/en/okular/okular/command-line-options.html.
  • Launch document viewer:
    okular
  • Open specific documents:
    okular {{path/to/file1 path/to/file2 ...}}
  • Open a document at a specific page:
    okular --page {{page_number}} {{path/to/file}}
  • Open a specific document in presentation mode:
    okular --presentation {{path/to/file}}
  • Open a specific document and start a print dialog:
    okular --print {{path/to/file}}
  • Open a document and search for a specific string:
    okular --find {{search_string}} {{path/to/file}}

unrar

Extract RAR archives. More information: https://manned.org/unrar.
  • Extract files with original directory structure:
    unrar x {{compressed.rar}}
  • Extract files to a specified path with the original directory structure:
    unrar x {{compressed.rar}} {{path/to/extract}}
  • Extract files into current directory, losing directory structure in the archive:
    unrar e {{compressed.rar}}
  • Test integrity of each file inside the archive file:
    unrar t {{compressed.rar}}
  • List files inside the archive file without decompressing it:
    unrar l {{compressed.rar}}

cs java

The java and java-home commands fetch and install JVMs. The java command runs them too. More information: https://get-coursier.io/docs/cli-java.
  • Call the java version by using coursier:
    cs java -version
  • Call a specific java version with custom properties using coursier:
    cs java --jvm {{jvm_name}}:{{jvm_version}} -Xmx32m -X{{another_jvm_opt}} -jar {{path/to/jar_name.jar}}
  • List all the available JVM in the coursier default index:
    cs java --available
  • List all the installed JVM in the system with his own location:
    cs java --installed
  • Set the a specific JVM as one-off "default" for the shell instance:
    cs java --jvm {{jvm_name}}:{{jvm_version}} --env
  • Revert the changes for the default JVM settings:
    eval "$(cs java --disable)"
  • Set a specific JVM as default for the whole system:
    cs java --jvm {{jvm_name}}:{{jvm_version}} --setup

git commit-graph

Write and verify Git commit-graph files. More information: https://git-scm.com/docs/git-commit-graph.
  • Write a commit-graph file for the packed commits in the repository's local .git directory:
    git commit-graph write
  • Write a commit-graph file containing all reachable commits:
    git show-ref --hash | git commit-graph write --stdin-commits
  • Write a commit-graph file containing all commits in the current commit-graph file along with those reachable from HEAD:
    git rev-parse {{HEAD}} | git commit-graph write --stdin-commits --append

bundler

Dependency manager for the Ruby programming language. bundler is a common name for the command bundle, but not a command itself. More information: https://bundler.io/man/bundle.1.html.
  • View documentation for the original command:
    tldr bundle

hugo

Template-based static site generator. Uses modules, components, and themes. More information: https://gohugo.io.
  • Create a new Hugo site:
    hugo new site {{path/to/site}}
  • Create a new Hugo theme (themes may also be downloaded from https://themes.gohugo.io/):
    hugo new theme {{theme_name}}
  • Create a new page:
    hugo new {{section_name}}/{{page_name}}
  • Build a site to the ./public/ directory:
    hugo
  • Build a site including pages that are marked as a "draft":
    hugo --buildDrafts
  • Build a site to a given directory:
    hugo --destination {{path/to/destination}}
  • Build a site, start up a webserver to serve it, and automatically reload when pages are edited:
    hugo server

ansiweather

A shell script for displaying the current weather conditions in your terminal. More information: https://github.com/fcambus/ansiweather.
  • Display a forecast using metric units for the next five days for Rzeszow, Poland:
    ansiweather -u {{metric}} -f {{5}} -l {{Rzeszow,PL}}
  • Display a forecast showing symbols and daylight data for your current location:
    ansiweather -s {{true}} -d {{true}}
  • Display a forecast showing wind and humidity data for your current location:
    ansiweather -w {{true}} -h {{true}}

License and Disclaimer

The content on this page is copyright © 2014—present the tldr-pages team and contributors.
This page is used with permission under Creative Commons Attribution 4.0 International License.

While we do attempt to make sure content is accurate, there isn't a warranty of any kind.