retrieve the xwindows window id of the running firefox window(s)

xdotool search --onlyvisible --name {{firefox}}


get the id of the currently active window


type a message, with a 500ms delay for each letter

xdotool type --delay {{500}} "Hello world"


display all information about the elf file


display all the headers present in the elf file


display the entries in symbol table section of the elf file, if it has one


display the information contained in the elf header at the start of the file


uuidd --random --uuids {{number_of_uuids}}


generate a timebased uuid, based on the current time and mac address of the system


edit action can be used to view any file on default mailcap explorer


display the search path used to find man pages


submit a batch job with a time limit of 30 minutes


create new group with a specific groupid


list all containers (running and stopped)


ctr images tag {{souce_image}}:{{source_tag}} {{target_image}}:{{target_tag}}


log in as user without authentication if user is preauthenticated


print a summary of cpu, memory, hard drive and kernel information


print a full description of cpu, memory, disk, network and process information


print information about the distribution's repository


return the current vmware software version (exit status determines whether the system is a vm or not)


submit an interactive job with different attributes

srun --ntasks-per-node={{num_cores}} --mem-per-cpu={{memory_MB}} --pty /bin/bash


connect to a worker node with a job running


display the current time as reported by the hardware clock


write the current software clock time to the hardware clock (sometimes used during system setup)


write the current hardware clock time to the software clock


connect to a share (user will be prompted for password; `exit` to quit the session)


smbclient {{//server/share}} --user {{username}}


smbclient {{//server/share}} --workgroup {{domain}} --user {{username}}


smbclient {{//server/share}} --user {{username%password}}


smbclient {{//server/share}} --directory {{path/to/directory}} --command "get {{file.txt}}"


smbclient {{//server/share}} --directory {{path/to/directory}} --command "put {{file.txt}}"


launch xeyes on the local machine's default display


launch xeyes on a remote machine's display 0, screen 0


empty trash, keeping files trashed less than {{10}} days ago


remove all files named 'foo' from the trash


remove all files with a given original location


capture a screenshot and save it to the current directory with the current date as the filename


capture a screenshot and save it as `capture.png`


capture a screenshot from the currently focused window


display a countdown of 10 seconds before taking a screenshot


display drivers and modules handling each device


reserve a file taking up 700 mib of disk space

fallocate --length {{700M}} {{path/to/file}}


shrink an already allocated file by 200 mib

fallocate --collapse-range --length {{200M}} {{path/to/file}}


shrink 20 mb of space after 100 mib in a file

fallocate --collapse-range --offset {{100M}} --length {{20M}} {{path/to/file}}


make a file or directory immutable to changes and deletion, even by superuser


recursively make an entire directory and contents immutable


check filesystem, reporting any damaged blocks


check filesystem and automatically repair any damaged blocks


don't fork virtmanager process into background on startup


add a default route using gateway forwarding

sudo ip route add default via {{gateway_ip}}


sudo ip route add {{destination_ip}} via {{gateway_ip}} dev {{eth0}}


sudo ip route del {{destination_ip}} dev {{eth0}}


sudo ip route {{change|replace}} {{destination_ip}} via {{gateway_ip}} dev {{eth0}}


show which route will be used by the kernel to reach an ip address


display data transfer rates in bits per second


set policy to define which network interface(s) is/are displayed


set interval (in seconds) in which rate per counter is calculated


switch to a specified branch, stashing and restoring unstaged changes


synchronize current branch, automatically merging or rebasing, and stashing and unstashing


publish a specified branch to the remote server


list all branches and their publication status


start the interactive mode, in this mode you can enter the commands directly, with autocompletion


start looking for networks with a station


connect to a network with a station, if credentials are needed they will be asked

iwctl station {{station}} connect {{network_name}}


create a new user with a default home directory and prompt the user to set a password


create a new user without a home directory


create a new user with a home directory at the specified path

adduser --home {{path/to/home}} {{username}}


create a new user with the specified shell set as the login shell

adduser --shell {{path/to/shell}} {{username}}


create a new user belonging to the specified group

adduser --ingroup {{group}} {{username}}


add an existing user to the specified group


get max, min, mean and median of a single column of numbers

seq 3 | datamash max 1 min 1 mean 1 median 1


get the mean of a single column of float numbers (floats must use "," and not ".")


get the mean of a single column of numbers with a given decimal precision

echo -e '1\n2\n3\n4\n5\n5' | datamash -R {{number_of_decimals_wanted}} mean 1


get the mean of a single column of numbers ignoring "na" and "nan" (literal) strings

echo -e '1\n2\nNa\n3\nNaN' | datamash --narm mean 1


start a graphical setup at the default wine location


specify a custom wine directory to run winetricks in


install a windows dll or component to the default wine directory


change default display to show more details


display 100 decimal digits of archimedes' constant pi


display a specified number of decimal digits of archimedes' constant pi


roll two six sided dice and drop the lowest roll


roll two 20 sided dice and add a modifier value


display optical drives available to `wodim`


wodim dev=/dev/{{optical_drive}} -audio {{track*.cdaudio}}


burn a file to a disc, ejecting the disc once done (some recorders require this)

wodim -eject dev=/dev/{{optical_drive}} -data {{file.iso}}


burn a file to the disc in an optical drive, potentially writing to multiple discs in succession

wodim -tao dev=/dev/{{optical_drive}} -data {{file.iso}}


grep a pattern in a compressed file (casesensitive)


grep a pattern in a compressed file (caseinsensitive)

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}}


list interfaces with brief network layer info


list interfaces with brief link layer info


add/delete an ip address to an interface

ip addr add/del {{ip}}/{{mask}} dev {{interface}}


ip route add default via {{ip}} dev {{interface}}


list vulnerable installed packages on the current host


list vulnerable installed packages of a specific suite


debsecan --suite {{release_code_name}} --only-fixed


list only fixed vulnerabilities of unstable ("sid") and mail to root

debsecan --suite {{sid}} --only-fixed --format {{report}} --mailto {{root}} --update-history


sudo apt upgrade $(debsecan --only-fixed --format {{packages}})


wpa_cli set_network {{number}} ssid "{{SSID}}"


set ctrl+alt+del to reboot immediately, without any preparation


set ctrl+alt+del to reboot "normally", giving processes a chance to exit first (send sigint to pid1)


show all messages with priority level 3 (errors) from this [b]oot


[f]ollow new messages (like `tail f` for traditional syslog)


filter messages within a time range (either timestamp or placeholders like "yesterday")

journalctl --since {{now|today|yesterday|tomorrow}} --until {{YYYY-MM-DD HH:MM:SS}}


show all messages by a specific executable


listen for input on the specified port and write it to the specified file


accept multiple connections and keep ncat open after they have been closed


write output of specified file to the specified host on the specified port

ncat {{address}} {{port}} < {{path/to/file}}


power off the system (same as `poweroff`)


reboot immediately without contacting the system manager


write the wtmp shutdown entry without rebooting the system


display job id, job name, partition, account, number of allocated cpus, job state, and job exit codes for recent jobs


display job id, job state, job exit code for recent jobs


display elapsed time, job name, number of requested cpus, and memory requested of a job

sacct --jobs {{job_id}} --format={{elapsed}},{{jobname}},{{reqcpus}},{{reqmem}}


sudo losetup /dev/{{loop}} /{{path/to/file}}


attach a file to a new free loop device and scan the device for partitions

sudo losetup --show --partscan -f /{{path/to/file}}


sudo losetup --read-only /dev/{{loop}} /{{path/to/file}}


get the current backlight value in percent


reduce 20 percent from the current backlight value


add 20 percent to the current backlight value


list outdated processes in [v]erbose or [q]uiet mode


list outdated processed using a specific [c]onfiguration file


rename files using a perl common regular expression (substitute 'foo' with 'bar' wherever found)


dryrun  display which renames would occur without performing them


force renaming even if the operation would remove existing destination files


convert filenames to lower case (use `f` in caseinsensitive filesystems to prevent "already exists" errors)


perform simulation of synchronization, without any action


set time immediate after the synchronization


show ufw rules, along with their numbers


allow incoming traffic on port 5432 on this host with a comment identifying the service

ufw allow {{5432}} comment "{{Service}}"


allow only tcp traffic from 192.168.0.4 to any address on this host, on port 22

ufw allow proto {{tcp}} from {{192.168.0.4}} to {{any}} port {{22}}


ufw deny proto {{udp}} from {{any}} to {{any}} port {{22}}


delete a particular rule. the rule number can be retrieved from the `ufw status numbered` command


look for pattern in the database. note the database is recomputed periodically (usually weekly or daily)


look for a file by its exact filename (a pattern containing no globbing characters is interpreted as `*pattern*`)


recompute the database. you need to do it if you want to find recently added files


query the system information of a remote host using snmpv1 and a community string


query system information on a remote host by oid using snmpv2 on a specified port

snmpwalk -v2c -c {{community}} {{ip}}:{{port}} {{oid}}


query system information on a remote host by oid using snmpv3 and authentication without encryption

snmpwalk -v3 -l {{authNoPriv}} -u {{username}} -a {{MD5|SHA}} -A {{passphrase}} {{ip}} {{oid}}


query system information on a remote host by oid using snmpv3, authentication, and encryption

snmpwalk -v3 -l {{authPriv}} -u {{username}} -a {{MD5|SHA}} -A {{auth_passphrase}} -x {{DES|AES}} -X {{enc_passphrase}} {{ip}} {{oid}}


query system information on a remote host by oid using snmpv3 without authentication or encryption

snmpwalk -v3 -l {{noAuthNoPriv}} -u {{username}} {{ip}} {{oid}}


update po files and documents according to the specified config file


xdg-mime query filetype {{path/to/file}}


display the default application for opening pngs


display the default application for opening a specific file

xdg-mime query default $(xdg-mime query filetype {{path/to/file}})


set imv as the default application for opening png and jpeg images

xdg-mime default {{imv.desktop}} {{image/png}} {{image/jpeg}}


show pipe delimited cluster utilization data


show users with the highest cpu time use


display packages whose support is limited, has already ended or will end earlier than the distribution's end of life


display only packages whose support has ended


playerctl metadata --format "Now playing: {{artist}} - {{album}} - {{title}}"


watch for and print power status changes


watch for and print detailed power status changes


create a new repository (if the repository name is not set, the default name will be the name of the current directory)


gh repo fork {{owner}}/{{repository}} --clone


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)


list repositories with a specific primary coding language

gh repo list {{owner}} --language {{language_name}}


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'}}


fselect path from {{path/to/directory}} where width = height


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}}"


apply restrictions for anonymous account


open a link, using a specific file to read and write cookies


navigate forwards and backwards through the links on a page


go back to the previously displayed page


assemble `source.asm` into a binary file `source`, in the (default) raw binary format


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)


assemble and generate an assembly listing file


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}}


start a service, but only if it's not running and don't restart it if it stops


build a project with default build file `build.xml`


build a project using build file other than `build.xml`


print information on possible targets for this project


execute all targets that do not depend on fail target(s)


read an idx file for a git packfile and dump its contents to stdout


specify the hash algorithm for the index file (experimental)

git show-index --object-format={{sha1|sha256}} {{path/to/file}}


remove one or more images given their names


remove an image without deleting untagged parents


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}}


insert an additional author to the last git commit

git coauthor {{name}} {{name@example.com}}


ogr2ogr -f GPKG {{output}}.gpkg {{input}}.shp


change coordinate reference system of a geopackage from `epsg4326` to `epsg3857`

ogr2ogr -s_srs {{EPSG:4326}} -t_srs {{EPSG:3857}} -f GPKG {{output}}.gpkg {{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 {{output}}.gpkg {{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}}" {{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 {{output}}.gpkg {{input}}.gpkg


display help about environment variables that can be used with `gh`


generate a build recipe in the current directory with `cmakelists.txt` from a 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}}


use a generated recipe in a given directory to build artifacts


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}}


cmake --build {{path/to/build_directory}} --target {{target_name}}


scan an ip network with a custom bitmask


scan an ip network within a custom range


scan an ip network with a custom net mask


evaluate elixir code by passing it as an argument


view documentation for the actual command


use a specific module and hiera config file

puppet apply --modulepath {{path/to/directory}} --hiera_config {{path/to/file}} {{path/to/manifest}}


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}}


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


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}}


encode the contents of a file as base64 and write the result to stdout


decode the base64 contents of a file and write the result to stdout


compile a dvi (device independent file) document from every source


compile a dvi document from a specific source file


force the generation of a document even if there are errors


clean up temporary tex files created for a specific tex file


clean up all temporary tex files in the current directory


convert a specific sheet from an xlsx file to csv


cat {{data.json}} | in2csv -f json > {{data.csv}}


compile resources referenced in `file.gresource.xml` to a .gresource binary


compile resources referenced in `file.gresource.xml` to a c source file


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`


display help about using `gh` with mintty


magick convert -resize {{100x100}} {{image.jpg}} {{image.jpg}}


magick -size {{640x480}} pattern:checkerboard {{checkerboard.png}}


magick {{*.jpg}} +adjoin {{page-%d.pdf}}


compress a png with the best compression


compress a png with the fastest compression


compress a png and preserve all metadata (including file timestamps)


find broken links on https//example.com/


also check urls that point to external domains


ignore urls that match a specific regular expression

linkchecker --ignore-url {{regular_expression}} {{https://example.com/}}


linkchecker --file-output {{csv}}/{{path/to/file}} {{https://example.com/}}


nokogiri {{url|path/to/file}} --type {{xml|html}}


load a specific initialisation file before parsing

nokogiri {{url|path/to/file}} -C {{path/to/config_file}}


nokogiri {{url|path/to/file}} --encoding {{encoding}}


nokogiri {{url|path/to/file}} --rng {{url|path/to/file}}


create vagrantfile in current directory with the base vagrant box


create vagrantfile with the ubuntu 14.04 (trusty tahr) box from hashicorp atlas


start and provision the vagrant environment


output the ssh configuration file of the running vagrant machine


execute a script, printing each command before executing it


execute commands from a script, stopping at the first error


compress a file into a new file with the `.lzo` suffix


compress a file, while specifying the compression level. 0 = worst, 9 = best (default level is 3)


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 ...}}


compile a source file into an executable


iverilog {{source.v}} -Wall -o {{executable}}


compile and run explicitly using the vvp runtime

iverilog -o {{executable}} -tvvp {{source.v}}


compile using verilog library files from a different path

iverilog {{source.v}} -o {{executable}} -I{{path/to/library_directory}}


preprocess verilog code without compiling


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}}


convert a specific `.adoc` file to html (the default output format)


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


convert a specific `.adoc` file to a pdf using the `asciidoctorpdf` library

asciidoctor --backend={{pdf}} --require={{asciidoctor-pdf}} {{path/to/file.adoc}}


convert file to pdf (the output format is determined by file extension)


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}}


join all the lines into a single line, using tab as delimiter


join all the lines into a single line, using the specified delimiter


merge two files side by side, each in its column, using tab as delimiter


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


generate a new p5 project (should be run from collection directory)


update libraries to their latest versions


jwt encode --alg {{HS256}} --secret {{1234567890}} -P key=value


open external links using programs defined in the mailcap config


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 files that have been committed


push all git lfs objects to the remote server (useful if errors are encountered)

git lfs push --all {{remote_name}} {{branch_name}}


rename an existing git tag locally and remotely

git rename-tag {{old_tag_name}} {{new_tag_name}}


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}}


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}}


install a package and all of its dependencies


display detailed information about a package


write a commitgraph file for the packed commits in the repository's local `.git` directory


write a commitgraph file containing all reachable commits

git show-ref --hash | git commit-graph write --stdin-commits


write a commitgraph file containing all commits in the current commitgraph file along with those reachable from `head`

git rev-parse {{HEAD}} | git commit-graph write --stdin-commits --append


export a collection to stdout, formatted as json


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}} --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 humanreadable json

mongoexport --uri={{mongodb_uri}} --collection={{collection_name}} --pretty


compile the specified file, suppressing progress updates


compile the specified file, and also specify the output filename


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


display the complete certificate chain of an https server

openssl s_client -connect {{host}}:443 -showcerts </dev/null


list currently running docker containers


docker container start {{container1_name}} {{container2_name}}


docker container kill {{container_name}}


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}}


display all available stream info for a media file

ffprobe -v error -show_entries {{input.mp4}}


ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}


ffprobe -v error -select_streams v:0 -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}


ffprobe -v error -select_streams v:0 -show_entries stream={{width|height}} -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}


ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 {{input.mp4}}


start with nix expression in `shell.nix` or `default.nix` in the current directory


run shell command in noninteractive shell and exit

nix-shell --run "{{command}} {{command_arguments}}"


start with expression in `default.nix` in the current directory


nix-shell --packages {{package_name_1}} {{package_name_2}}


start with packages loaded from specific nixpkgs revision

nix-shell --packages {{package_names}} -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/#useasainterpreter>)

nix-shell -i {{interpreter}} --packages {{package_names}}


interactively show the disk usage of the current directory


interactively show the disk usage of a given directory


interactively show the disk usage of all mounted disks


interactively show the disk usage of the current directory but ignore some subdirectories


only print the result, do not enter interactive mode


do not show the progress in noninteractive mode (useful in scripts)


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


check syntax on (i.e. lint) a php script


run php code (notes don't use <? ?> tags; escape double quotes with backslash)


start a php builtin web server in the current directory


display information about the current php configuration


display a list of all available commands


start php's builtin web server for the current yii application


generate a controller, views and related files for the crud actions on the specified model class

php yii {{gii/crud}} --modelClass={{ModelName}} --controllerClass={{ControllerName}}


remove a file after a singlepass overwriting with random data


remove a file after seven passes of overwriting with random data


recursively remove a directory and its contents overwriting each file with a singlepass of random data


view documentation for the original command


javac {{file1.java}} {{file2.java}} {{file3.java}}


compile all `.java` files in current directory


compile a `.java` file and place the resulting class file in a specific directory

javac -d {{path/to/some/directory}} {{file.java}}


print the contents of a file to the standard output


concatenate several files into the target file

bat {{file1}} {{file2}} > {{target_file}}


append several files into the target file

bat {{file1}} {{file2}} >> {{target_file}}


list available plugins of a specific type

ansible-doc --type {{plugin_type}} --list


show information about a specific action plugin (module)


show information about a plugin with a specific type

ansible-doc --type {{plugin_type}} {{plugin_name}}


show the playbook snippet for action plugin (modules)


show information about an action plugin (module) as json


print a summary for an image (width, height, and color depth)


print information for an image with [c]olorized output


print [v]erbose information for an image


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


search for pngs within another file and e[x]tract them


search for a pattern in the file (press `n`/`n` to go to next/previous match)


copy standard input to each file, and also to standard output


append to the given files, do not overwrite

echo "example" | tee -a {{path/to/file}}


print standard input 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)


view and filter the open issues of the current repository


locally check out the branch of a pull request, given its number


check the status of a repository's pull requests


display help about formatting json output from `gh` using `jq`


find files matching multiple path/name patterns

find {{root_path}} -path '{{**/path/**/*.ext}}' -or -name '{{*pattern*}}'


find directories matching a given name, in caseinsensitive 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 {{root_path}} -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 and delete them

find {{root_path}} -daystart -mtime -{{7}} -delete


find empty (0 byte) files and delete them

find {{root_path}} -type {{f}} -empty -delete


read jpeg image from a file and print in ascii


read jpeg image from a url and print in ascii


specify characters to be used for the ascii output


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}}


search for a query on google(default provider)


search for a query with a given provider


use a specified binary to perform the search query

s --binary "{{binary}} {{arguments}}" {{query}}


create a tag with the given name pointing to the current commit


create a tag with the given name pointing to a given commit


create an annotated tag with the given message


list all tags whose ancestors include a given commit


search directory recursively and let user choose files to preserve


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}}


search the path environment variable and display the location of any matching executables


if there are multiple executables which match, display all


format a file and display the result to the console


format a file, overwriting the original file inplace


format a file, and then simplify the code, overwriting the original file


ping a group of hosts by invoking the ping module


display facts about a group of hosts by invoking the setup module


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}}'


ansible localhost -m debug -a '{{var=groups.keys()}}'


unmount a fuse filesystem as soon as it becomes unused


list files and directories, one per line


list all files and directories, including hidden ones, in the current directory


list all files and directories with trailing `/` added to directory names


list all files and directories in long format (permissions, ownership, size, and modification date)


list all files and directories in long format with size displayed using humanreadable units (kib, mib, gib)


list all files and directories in long format, sorted by size (descending)


list all files and directories in long format, sorted by modification date (oldest first)


recursively search the current directory for a 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 certain filetype (e.g. html, css, etc.)

rg --type {{filetype}} {{regular_expression}}


search for a regular expression only in a subset of directories


search for a regular expression in files matching a glob (e.g. `readme.*`)

rg {{regular_expression}} --glob {{glob}}


only list matched files (useful when piping to other commands)


show lines that do not match the given regular expression


open a file in write mode without parsing the file format headers


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


run a shell command from the interactive cli


dump raw bytes of current block to a file


calculate the sha256 checksum for a file


calculate sha256 checksums for multiple files


calculate and save the list of sha256 checksums to a file

sha256sum {{path/to/file1}} {{path/to/file2}} > {{path/to/file.sha256}}


read a file of sha256 sums and verify all files have matching checksums


only show a message for files for which verification fails

sha256sum --check --quiet {{path/to/file.sha256}}


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}}


compress a file, but don't delete the original


compress a file using the fastest compression


compress a file using the best compression


apply a patch using a diff file (filenames must be included in the diff file)


patch a file writing the result to a different file

patch {{path/to/input_file}} -o {{path/to/output_file}} < {{patch.diff}}


display the man page for a command from section 7


display the location of a manpage rather than the manpage itself


display the man page using a specific locale


search for manpages containing a search string


convert tabs in each file to spaces, writing to standard output


convert tabs to spaces, reading from standard input


have tabs a certain number of characters apart, not 8


use a comma separated list of explicit tab positions


reboot the device from fastboot mode into fastboot mode again


identify all duplicates in a given directory and output a summary

rdfind -dryrun true {{path/to/directory}}


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}}


forward search for a string (press `n`/`n` to go to next/previous match)


backward search for a string (press `n`/`n` to go to next/previous match)


follow the output of the currently opened file


open a pdf with an initial zoom level, specified as dpi, of 72


open a pdf tinted red #ff0000 (hexadecimal color syntax rrggbb)


open a pdf without antialiasing (0 = off, 8 = best)


switch to superuser (requires the root password)


switch to a given user (requires the user's password)


switch to a given user and simulate a full login shell


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


interactively select a workflow to view the latest jobs for


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_or_tag_name}} --yaml


list workflow files (use `all` to include disabled workflows)


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_or_tag_name}}


gh workflow {{enable|disable}} {{id|workflow_name|filename.yml}}


display help for the `gh help` subcommand


display help about environment variables that can be used with `gh`


display a markdown reference of all `gh` commands


display help about formatting json output from `gh` using `jq`


display help about using `gh` with mintty


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}}


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


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


use a specific ssh private key for authentication with the remote host

scp -i {{~/.ssh/private_key}} {{local_file}} {{remote_host}}:{{/path/remote_file}}


change the security context of a target file, using a reference file


change the full selinux security context of a file


change only the user part of selinux security context


change only the role part of selinux security context


change only the type part of selinux security context


change only the range/level part of selinux security context


print the value of a git logical variable


print the hexadecimal representation of a file


print the hexadecimal representation of the first n bytes of a file


print 512 bytes starting at the 1024th byte


ocamlopt -o {{path/to/binary}} {{path/to/source_file.ml}}


ocamlopt -g -o {{path/to/binary}} {{path/to/source_file.ml}}


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


list currently running docker containers


list all docker containers (running and stopped)


start a container from an image, with a custom name

docker run --name {{container_name}} {{image}}


docker exec -it {{container_name}} {{sh}}


fetch and follow the logs of a container


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}}"


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}}"


move file inside the repo and add the movement to the next commit

git mv {{path/to/file}} {{new/path/to/file}}


rename file and add renaming to the next commit


overwrite the file in the target path if it exists


start an ssh agent for the current shell


show detailed configuration of all mounted zfs zpools


show detailed configuration for a specific zfs pool


show statistics about number, size and deduplication of blocks


while in a `yacas` session, execute a statement


while in a `yacas` session, display an example


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


start php's builtin web server for the current laravel application


start an interactive php commandline interface


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


git rename-branch {{old_branch_name}} {{new_branch_name}}


prettyprint 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


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}}


download the contents of a url to a file (named "foo" in this case)


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 3second 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 subdirectories (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}}


download all urls stored in a text file to a specific directory

wget --directory-prefix {{path/to/directory}} --input-file {{URLs.txt}}


transform a raw html file into a cleaned, indented, and colored format


cat {{index.html}} | pup '{{input[type="text"]}}'


print all text from the filtered html elements and their children

cat {{index.html}} | pup '{{div}} text{}'


cat {{index.html}} | pup '{{div}} json{}'


view documentation for the original command


initialize an elm project, generates an elm.json file


compile an elm file, output the result to an `index.html` file


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


install elm package from https//package.elmlang.org


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 nonewline 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


ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} -b {{base_ou}} '{{memberOf=group1}}' -l 7 displayName


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


ldapsearch -D '{{admin_DN}}' -w '{{password}}' -h {{ldap_host}} '(&({{memberOf=group1}})({{memberOf=group2}})(!({{memberOf=group3}})))' displayName


display the releases for the current repository in json format


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


include the http response headers in the output


send a request to a specific github enterprise server

gh api --hostname {{github.example.com}} {{endpoint}}


list all docker images including intermediates


list the output in quiet mode (only numeric ids)


list all docker images not used by any container


list images that contain a substring in their name


display information about a specific torrent


delete a ref, useful for soft resetting the first commit


git update-ref -m {{message}} {{HEAD}} {{4e95e05}}


get detailed information about a specific layer of a geopackage


only show summary information about a specific layer of a geopackage

ogrinfo -so {{input}}.gpkg {{layer_name}}


display a markdown reference of all `gh` commands


send an email and specify a subject and a cc recipient

mutt -s {{subject}} -c {{cc@example.com}} {{recipient@example.com}}


mutt -a {{file1}} {{file2}} -- {{recipient@example.com}}


specify a file to include as the message body

mutt -i {{file}} {{recipient@example.com}}


specify a draft file containing the header and the body of the message, in rfc 5322 format

mutt -H {{file}} {{recipient@example.com}}


list all available versions for a package


check for typos in all text files in the current directory, recursively


skip files with names that match the specified pattern (accepts a commaseparated list of patterns using wildcards)


use a custom dictionary file when checking (`dictionary` can be used multiple times)


do not check words that are listed in the specified file


print 3 lines of context around, before or after each match


check file names for typos, in addition to file contents


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 --output-mode={{w}} --output-file={{path/to/file.wav}} {{path/to/file.mid}}


timidity --output-mode={{F}} --output-file={{path/to/file.flac}} {{path/to/file.mid}}


convert a file to a c source file and header and display it to the console


write the output to a given file (`file.h` gets additionally generated)


display information about an existing mp4 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}}


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}}


log in to your lastpass account, by entering your master password when prompted


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}}


rotate the piece clockwise or counterclockwise


print an ascii cow saying "hello, world"


print an ascii cow saying text from stdin


print the specified ascii art saying "hello, world"


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}}"