neulab/tldr huggingface dataset:
-number A negative decimal number representing the command that was executed number of commands previously.  For example, -1 is the immediately previous command.
string A string indicating the most recently entered command that begins with that string.  If the old=new operand is not also specified with -s, the string form of the first operand cannot contain an embedded equal sign.
The following environment variables affect the execution of fc:
FCEDIT    Name of the editor to use.
HISTSIZE  The number of previous commands that are accessible.
fg [job] Move the specified job or the current job to the foreground.
getopts optstring var The POSIX getopts command, not to be confused with the Bell Labs -derived getopt(1).
The first argument should be a series of letters, each of which may be optionally followed by a colon to indicate that the option requires an argument.  The variable specified is set to the parsed option.
The getopts command deprecates the older getopt(1) utility due to its handling of arguments containing whitespace.
The getopts builtin may be used to obtain options and their arguments from a list of parameters.  When invoked, getopts places the value of the next option from the option string in the list in the shell variable specified by var and its index in the shell variable OPTIND.  When the shell is invoked, OPTIND is initialized to 1.  For each option that requires an argument, the getopts builtin will place it in the shell variable OPTARG.  If an option is not allowed for in the optstring, then OPTARG will be unset.
optstring is a string of recognized option letters (see getopt(3)). If a letter is followed by a colon, the option is expected to have an argument which may or may not be separated from it by white space.  If an option character is not found where expected, getopts will set the variable var to a “?”; getopts will then unset OPTARG and write output to standard error.  By specifying a colon as the first character of optstring all errors will be ignored.
After the last option getopts will return a non-zero value and set var to “?”.
The following code fragment shows how one might process the arguments for a command that can take the options [a] and [b], and the option [c], which requires an argument.
while getopts abc: f do case $f in a | b)  flag=$f;; c)      carg=$OPTARG;; \?)     echo $USAGE; exit 1;; esac done shift `expr $OPTIND - 1`
This code will accept any of the following as equivalent:
cmd -acarg file file cmd -a -c arg file file cmd -carg -a file file cmd -a -carg -- file file
hash -rv command ... The shell maintains a hash table which remembers the locations of commands.  With no arguments whatsoever, the hash command prints out the contents of this table.  Entries which have not been looked at since the last cd command are marked with an asterisk; it is possible for these entries to be invalid.
With arguments, the hash command removes the specified commands from the hash table (unless they are functions) and then locates them. With the -v option, hash prints the locations of the commands as it finds them.  The -r option causes the hash command to delete all the entries in the hash table except for functions.
pwd [-LP] builtin command remembers what the current directory is rather than recomputing it each time.  This makes it faster.  However, if the current directory is renamed, the builtin version of pwd will continue to print the old name for the directory.  The -P option causes the physical value of the current working directory to be shown, that is, all symbolic links are resolved to their respective values.  The -L option turns off the effect of any preceding -P options.
read [-p prompt] [-r] variable [...] The prompt is printed if the -p option is specified and the standard input is a terminal.  Then a line is read from the standard input. The trailing newline is deleted from the line and the line is split as described in the section on word splitting above, and the pieces are assigned to the variables in order.  At least one variable must be specified.  If there are more pieces than variables, the remaining pieces (along with the characters in IFS that separated them) are assigned to the last variable.  If there are more variables than pieces, the remaining variables are assigned the null string.  The read builtin will indicate success unless EOF is encountered on input, in which case failure is returned.
By default, unless the -r option is specified, the backslash “\” acts as an escape character, causing the following character to be treated literally.  If a backslash is followed by a newline, the backslash and the newline will be deleted.
readonly name ...
readonly -p The specified names are marked as read only, so that they cannot be subsequently modified or unset.  The shell allows the value of a variable to be set at the same time it is marked read only by writing
readonly name=value
With no arguments the readonly command lists the names of all read only variables.  With the -p option specified the output will be formatted suitably for non-interactive use.
printf format [arguments ...] printf formats and prints its arguments, after the first, under control of the format.  The format is a character string which contains three types of objects: plain characters, which are simply copied to standard output, character escape sequences which are converted and copied to the standard output, and format specifications, each of which causes printing of the next successive argument.
The arguments after the first are treated as strings if the corresponding format is either b, c or s; otherwise it is evaluated as a C constant, with the following extensions:
•   A leading plus or minus sign is allowed. •   If the leading character is a single or double quote, the value is the ASCII code of the next character.
The format string is reused as often as necessary to satisfy the arguments.  Any extra format specifications are evaluated with zero or the null string.
Character escape sequences are in backslash notation as defined in ANSI X3.159-1989 (“ANSI C89”).  The characters and their meanings are as follows:
\a      Write a <bell> character.
\b      Write a <backspace> character.
\e      Write an <escape> (ESC) character.
\f      Write a <form-feed> character.
\n      Write a <new-line> character.
\r      Write a <carriage return> character.
\t      Write a <tab> character.
\v      Write a <vertical tab> character.
\\      Write a backslash character.
\num    Write an 8-bit character whose ASCII value is the 1-, 2-, or 3-digit octal number num.
Each format specification is introduced by the percent character (``%'').  The remainder of the format specification includes, in the following order:
Zero or more of the following flags:
#       A `#' character specifying that the value should be printed in an ``alternative form''.  For b, c, d, and s formats, this option has no effect.  For the o format the precision of the number is increased to force the first character of the output string to a zero.  For the x (X) format, a non-zero result has the string 0x (0X) prepended to it.  For e, E, f, g, and G formats, the result will always contain a decimal point, even if no digits follow the point (normally, a decimal point only appears in the results of those formats if a digit follows the decimal point).  For g and G formats, trailing zeros are not removed from the result as they would otherwise be.
-       A minus sign `-' which specifies left adjustment of the output in the indicated field;
+       A `+' character specifying that there should always be a sign placed before the number when using signed formats.
‘ ’     A space specifying that a blank should be left before a positive number for a signed format.  A `+' overrides a space if both are used;
0       A zero `0' character indicating that zero-padding should be used rather than blank-padding.  A `-' overrides a `0' if both are used;
Field Width: An optional digit string specifying a field width; if the output string has fewer characters than the field width it will be blank-padded on the left (or right, if the left- adjustment indicator has been given) to make up the field width (note that a leading zero is a flag, but an embedded zero is part of a field width);
Precision: An optional period, ‘.’, followed by an optional digit string giving a precision which specifies the number of digits to appear after the decimal point, for e and f formats, or the maximum number of bytes to be printed from a string (b and s formats); if the digit string is missing, the precision is treated as zero;
Format: A character which indicates the type of format to use (one of diouxXfwEgGbcs).
A field width or precision may be ‘*’ instead of a digit string.  In this case an argument supplies the field width or precision.
The format characters and their meanings are:
diouXx      The argument is printed as a signed decimal (d or i), unsigned octal, unsigned decimal, or unsigned hexadecimal (X or x), respectively.
f           The argument is printed in the style [-]ddd.ddd where the number of d's after the decimal point is equal to the precision specification for the argument.  If the precision is missing, 6 digits are given; if the precision is explicitly 0, no digits and no decimal point are printed.
eE          The argument is printed in the style [-]d.ddde±dd where there is one digit before the decimal point and the number after is equal to the precision specification for the argument; when the precision is missing, 6 digits are produced.  An upper-case E is used for an `E' format.
gG          The argument is printed in style f or in style e (E) whichever gives full precision in minimum space.
b           Characters from the string argument are printed with backslash-escape sequences expanded. The following additional backslash-escape sequences are supported:
\c      Causes dash to ignore any remaining characters in the string operand containing it, any remaining string operands, and any additional characters in the format operand.
\0num   Write an 8-bit character whose ASCII value is the 1-, 2-, or 3-digit octal number num.
c           The first character of argument is printed.
s           Characters from the string argument are printed until the end is reached or until the number of bytes indicated by the precision specification is reached; if the precision is omitted, all characters in the string are printed.
%           Print a `%'; no argument is used.
In no case does a non-existent or small field width cause truncation of a field; padding takes place only if the specified field width exceeds the actual width.
set [{ -options | +options | -- }] arg ... The set command performs three different functions.
With no arguments, it lists the values of all shell variables.
If options are given, it sets the specified option flags, or clears them as described in the section called Argument List Processing. As a special case, if the option is -o or +o and no argument is supplied, the shell prints the settings of all its options.  If the option is -o, the settings are printed in a human-readable format; if the option is +o, the settings are printed in a format suitable for reinput to the shell to affect the same option settings.
The third use of the set command is to set the values of the shell's positional parameters to the specified args.  To change the positional parameters without changing any options, use “--” as the first argument to set.  If no args are present, the set command will clear all the positional parameters (equivalent to executing “shift $#”.)
shift [n] Shift the positional parameters n times.  A shift sets the value of $1 to the value of $2, the value of $2 to the value of $3, and so on, decreasing the value of $# by one.  If n is greater than the number of positional parameters, shift will issue an error message, and exit with return status 2.
[ expression ] The test utility evaluates the expression and, if it evaluates to true, returns a zero (true) exit status; otherwise it returns 1 (false).  If there is no expression, test also returns 1 (false).
All operators and flags are separate arguments to the test utility.
The following primaries are used to construct expression:
-b file       True if file exists and is a block special file.
-c file       True if file exists and is a character special file.
-d file       True if file exists and is a directory.
-e file       True if file exists (regardless of type).
-f file       True if file exists and is a regular file.
-g file       True if file exists and its set group ID flag is set.
-h file       True if file exists and is a symbolic link.
-k file       True if file exists and its sticky bit is set.
-n string     True if the length of string is nonzero.
-p file       True if file is a named pipe (FIFO).
-r file       True if file exists and is readable.
-s file       True if file exists and has a size greater than zero.
-t file_descriptor True if the file whose file descriptor number is file_descriptor is open and is associated with a terminal.
-u file       True if file exists and its set user ID flag is set.
-w file       True if file exists and is writable.  True indicates only that the write flag is on.  The file is not writable on a read-only file system even if this test indicates true.
-x file       True if file exists and is executable.  True indicates only that the execute flag is on.  If file is a directory, true indicates that file can be searched.
-z string     True if the length of string is zero.
-L file       True if file exists and is a symbolic link.  This operator is retained for compatibility with previous versions of this program.  Do not rely on its existence; use -h instead.
-O file       True if file exists and its owner matches the effective user id of this process.
-G file       True if file exists and its group matches the effective group id of this process.
-S file       True if file exists and is a socket.
file1 -nt file2 True if file1 and file2 exist and file1 is newer than file2.
file1 -ot file2 True if file1 and file2 exist and file1 is older than file2.
file1 -ef file2 True if file1 and file2 exist and refer to the same file.
string        True if string is not the null string.
s1 = s2       True if the strings s1 and s2 are identical.
s1 != s2      True if the strings s1 and s2 are not identical.
s1 < s2       True if string s1 comes before s2 based on the ASCII value of their characters.
s1 > s2       True if string s1 comes after s2 based on the ASCII value of their characters.
n1 -eq n2     True if the integers n1 and n2 are algebraically equal.
n1 -ne n2     True if the integers n1 and n2 are not algebraically equal.
n1 -gt n2     True if the integer n1 is algebraically greater than the integer n2.
n1 -ge n2     True if the integer n1 is algebraically greater than or equal to the integer n2.
n1 -lt n2     True if the integer n1 is algebraically less than the integer n2.
n1 -le n2     True if the integer n1 is algebraically less than or equal to the integer n2.
! expression  True if expression is false.
expression1 -o expression2 True if either expression1 or expression2 are true.
(expression)  True if expression is true.
The -a operator has higher precedence than the -o operator.
times  Print the accumulated user and system times for the shell and for processes run from the shell.  The return status is 0.
trap [action signal ...] Cause the shell to parse and execute action when any of the specified signals are received.  The signals are specified by signal number or as the name of the signal.  If signal is 0 or EXIT, the action is executed when the shell exits.  action may be empty (''), which causes the specified signals to be ignored.  With action omitted or set to `-' the specified signals are set to their default action.  When the shell forks off a subshell, it resets trapped (but not ignored) signals to the default action.  The trap command has no effect on signals that were ignored on entry to the shell.  trap without any arguments cause it to write a list of signals and their associated action to the standard output in a format that is suitable as an input to the shell that achieves the same trapping results.
List trapped signals and their corresponding action
trap '' INT QUIT tstp 30
Ignore signals INT QUIT TSTP USR1
trap date INT
Print date upon receiving signal INT
type [name ...] Interpret each name as a command and print the resolution of the command search.  Possible resolutions are: shell keyword, alias, shell builtin, command, tracked alias and not found.  For aliases the alias expansion is printed; for commands and tracked aliases the complete pathname of the command is printed.
ulimit [-H | -S] [-a | -tfdscmlpnv [value]] Inquire about or set the hard or soft limits on processes or set new limits.  The choice between hard limit (which no process is allowed to violate, and which may not be raised once it has been lowered) and soft limit (which causes processes to be signaled but not necessarily killed, and which may be raised) is made with these flags:
-H          set or inquire about hard limits
-S          set or inquire about soft limits.  If neither -H nor -S is specified, the soft limit is displayed or both limits are set.  If both are specified, the last one wins.
The limit to be interrogated or set, then, is chosen by specifying any one of these flags:
-a          show all the current limits
-t          show or set the limit on CPU time (in seconds)
-f          show or set the limit on the largest file that can be created (in 512-byte blocks)
-d          show or set the limit on the data segment size of a process (in kilobytes)
-s          show or set the limit on the stack size of a process (in kilobytes)
-c          show or set the limit on the largest core dump size that can be produced (in 512-byte blocks)
-m          show or set the limit on the total physical memory that can be in use by a process (in kilobytes)
-l          show or set the limit on how much memory a process can lock with mlock(2) (in kilobytes)
-p          show or set the limit on the number of processes this user can have at one time
-n          show or set the limit on the number files a process can have open at once
-v          show or set the limit on the total virtual memory that can be in use by a process (in kilobytes)
-r          show or set the limit on the real-time scheduling priority of a process
If none of these is specified, it is the limit on file size that is shown or set.  If value is specified, the limit is set to that number; otherwise the current limit is displayed.
Limits of an arbitrary process can be displayed or set using the sysctl(8) utility.
umask [mask] Set the value of umask (see umask(2)) to the specified octal value. If the argument is omitted, the umask value is printed.
unalias [-a] [name] If name is specified, the shell removes that alias.  If -a is specified, all aliases are removed.
unset [-fv] name ... The specified variables and functions are unset and unexported.  If -f or -v is specified, the corresponding function or variable is unset, respectively.  If a given name corresponds to both a variable and a function, and no options are given, only the variable is unset.
wait [job] Wait for the specified job to complete and return the exit status of the last process in the job.  If the argument is omitted, wait for all jobs to complete and return an exit status of zero.
Command Line Editing When dash is being used interactively from a terminal, the current command and the command history (see fc in Builtins) can be edited using vi-mode command-line editing.  This mode uses commands, described below, similar to a subset of those described in the vi man page.  The command ‘set -o vi’ enables vi-mode editing and places sh into vi insert mode.  With vi-mode enabled, sh can be switched between insert mode and command mode.  It is similar to vi: typing ⟨ESC⟩ enters vi command mode.  Hitting ⟨return⟩ while in command mode will pass the line to the shell.
Errors that are detected by the shell, such as a syntax error, will cause the shell to exit with a non-zero exit status.  If the shell is not an interactive shell, the execution of the shell file will be aborted. Otherwise the shell will return the exit status of the last command executed, or if the exit builtin is used with a numeric argument, it will return the argument.
HOME       Set automatically by login(1) from the user's login directory in the password file (passwd(4)).  This environment variable also functions as the default argument for the cd builtin.
PATH       The default search path for executables.  See the above section Path Search.
CDPATH     The search path used with the cd builtin.
MAIL       The name of a mail file, that will be checked for the arrival of new mail.  Overridden by MAILPATH.
MAILCHECK  The frequency in seconds that the shell checks for the arrival of mail in the files specified by the MAILPATH or the MAIL file. If set to 0, the check will occur at each prompt.
MAILPATH   A colon “:” separated list of file names, for the shell to check for incoming mail.  This environment setting overrides the MAIL setting.  There is a maximum of 10 mailboxes that can be monitored at once.
PS1        The primary prompt string, which defaults to “$ ”, unless you are the superuser, in which case it defaults to “# ”.
PS2        The secondary prompt string, which defaults to “> ”.
PS4        Output before each line when execution trace (set -x) is enabled, defaults to “+ ”.
IFS        Input Field Separators.  This is normally set to ⟨space⟩, ⟨tab⟩, and ⟨newline⟩.  See the White Space Splitting section for more details.
TERM       The default terminal setting for the shell.  This is inherited by children of the shell, and is used in the history editing modes.
HISTSIZE   The number of lines in the history buffer for the shell.
PWD        The logical value of the current working directory.  This is set by the cd command.
OLDPWD     The previous logical value of the current working directory. This is set by the cd command.
PPID       The process ID of the parent process of the shell.
$HOME/.profile
csh(1), echo(1), getopt(1), ksh(1), login(1), printf(1), test(1), getopt(3), passwd(5), environ(7), sysctl(8)
dash is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible.  dash is a direct descendant of the NetBSD version of ash (the Almquist SHell), ported to Linux in early 1997.  It was renamed to dash in 2002.
Setuid shell scripts should be avoided at all costs, as they are a significant security risk.
PS1, PS2, and PS4 should be subject to parameter expansion before being displayed.
ANSIBLE-PLAYBOOK(1)      System administration commands      ANSIBLE-PLAYBOOK(1)
ansible-playbook - Runs Ansible playbooks, executing the defined tasks on the targeted hosts.
usage: ansible-playbook [-h] [--version] [-v] [--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER] [-c CONNECTION] [-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS] [--sftp-extra-args SFTP_EXTRA_ARGS] [--scp-extra-args SCP_EXTRA_ARGS] [--ssh-extra-args SSH_EXTRA_ARGS] [-k | --connection-password-file CONNECTION_PASSWORD_FILE] [--force-handlers] [--flush-cache] [-b] [--become-method BECOME_METHOD] [--become-user BECOME_USER] [-K | --become-password-file BECOME_PASSWORD_FILE] [-t TAGS] [--skip-tags SKIP_TAGS] [-C] [--syntax-check] [-D] [-i INVENTORY] [--list-hosts] [-l SUBSET] [-e EXTRA_VARS] [--vault-id VAULT_IDS] [--ask-vault-password | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS] [-M MODULE_PATH] [--list-tasks] [--list-tags] [--step] [--start-at-task START_AT_TASK] playbook [playbook ...]
the tool to run Ansible playbooks, which are a configuration and multinode deployment system.  See the project home page (‐ https://docs.ansible.com) for more information.
Playbook(s)
--flush-cache clear the fact cache for every host in inventory
--force-handlers run handlers even if a task fails
--list-tags list all available tags
--list-tasks list all tasks that would be executed
--skip-tags only run plays and tasks whose tags do not match these values
--start-at-task 'START_AT_TASK' start the playbook at the task matching this name
--step one-step-at-a-time: confirm each task before running
-t, --tags only run plays and tasks tagged with these values
ansible (1), ansible-config (1), ansible-console (1), ansible-doc (1), ansible-galaxy (1), ansible-inventory (1), ansible-pull (1), ansible-vault (1)
SETXKBMAP(1)                 General Commands Manual                SETXKBMAP(1)
setxkbmap - set the keyboard using the X Keyboard Extension
setxkbmap [ args ] [ layout [ variant [ option ...  ] ] ]
The setxkbmap command maps the keyboard to use the layout determined by the options specified on the command line.
An XKB keymap is constructed from a number of components which are compiled only as needed.  The source for all of the components can be found in /usr/lib/X11/xkb.
-help   Prints a message describing the valid input to setxkbmap.
-compat name Specifies the name of the compatibility map component used to construct a keyboard layout.
-config file Specifies the name of an XKB configuration file which describes the keyboard to be used.
-display display Specifies the display to be updated with the new keyboard layout.
-geometry name Specifies the name of the geometry component used to construct a keyboard layout.
-keymap name Specifies the name of the keymap description used to construct a keyboard layout.
-layout name Specifies the name of the layout used to determine the components which make up the keyboard description.  Only one layout may be specified on the command line.
-model name Specifies the name of the keyboard model used to determine the components which make up the keyboard description.  Only one model may be specified on the command line.
-option name Specifies the name of an option to determine the components which make up the keyboard description;  multiple options may be specified, one per -option flag. Note that setxkbmap summarize options specified in the command line with options was set before (saved in root window properties). If you want only specified options will be set use the -option flag with an empty argument first.
-print  With this option the setxkbmap just prints component names in a format acceptable by an xkbcomp (an XKB keymap compiler) and exits. The option can be used for tests instead of a verbose option and in case when one need to run both the setxkbmap and the xkbcomp in chain (see below).
-rules file Specifies the name of the rules file used to resolve the request layout and model to a set of component names.
-symbols name Specifies the name of the symbols component used to construct a keyboard layout.
-synch  Force synchronization for X requests.
-types name Specifies the name of the types component used to construct a keyboard layout.
-variant name Specifies which variant of the keyboard layout should be used to determine the components which make up the keyboard description. Only one variant may be specified on the command line.
USING WITH xkbcomp If you have an Xserver and a client shell running on different computers and XKB configuration files sets on those machines are different you can get problems specifying a keyboard map by model, layout, options names. The thing is the setxkbcomp converts these names to names of XKB configuration files according to files that are on the client side computer.  Then it sends the file names to the server where the xkbcomp has to compose a complete keyboard map using files which the server has. Thus if the sets of files differ significantly the names that the setxkbmap generates can be unacceptable on the server side.  You can solve this problem running the xkbcomp on the client side too.  With the -print option setxkbmap just prints the files names in an appropriate format to its stdout and this output can be piped directly to the xkbcomp input. For example, a command
setxkbmap us -print | xkbcomp - $DISPLAY
makes both step on the same (client) machine and loads a keyboard map into the server.
/usr/lib/X11/xkb
GODOT(6)                              Games                             GODOT(6)
godot - multi-platform 2D and 3D game engine with a feature-rich editor
godot [options] [path to scene or 'project.godot' file]
Godot Engine is an advanced, feature-packed, multi-platform 2D and 3D game engine. It provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.
General options: -h, --help Display this help message.
--version Display the version string.
-v, --verbose Use verbose stdout mode.
--quiet Quiet mode, silences stdout messages. Errors are still displayed.
Run options: -e, --editor Start the editor instead of running the scene.
-p, --project-manager Start the project manager, even if a project is auto-detected.
-q, --quit Quit after the first iteration.
-l, --language <locale> Use a specific locale (<locale> being a two-letter code).
--path <directory> Path to a project (<directory> must contain a 'project.godot' file).
-u, --upwards Scan folders upwards for project.godot file.
--main-pack <file> Path to a pack (.pck) file to load.
--render-thread <mode> Render thread mode ('unsafe', 'safe', 'separate').
--remote-fs <address> Remote filesystem (<host/IP>[:<port>] address).
--remote-fs-password <password> Password for remote filesystem.
--audio-driver <driver> Audio driver ('PulseAudio', 'ALSA', 'Dummy').
--video-driver <driver> Video driver ('GLES3', 'GLES2').
Display options: -f, --fullscreen Request fullscreen mode.
-m, --maximized Request a maximized window.
-w, --windowed Request windowed mode.
-t, --always-on-top Request an always-on-top window.
--resolution <W>x<H> Request window resolution.
--position <X>,<Y> Request window position.
--low-dpi Force low-DPI mode (macOS and Windows only).
--no-window Disable window creation (Windows only). Useful together with --script.
--enable-vsync-via-compositor When vsync is enabled, vsync via the OS' window compositor (Windows only).
--disable-vsync-via-compositor Disable vsync via the OS' window compositor (Windows only).
Debug options: -d, --debug Debug (local stdout debugger).
-b, --breakpoints Breakpoint list as source::line comma-separated pairs, no spaces (use %20 instead).
--profiling Enable profiling in the script debugger.
--remote-debug <address> Remote debug (<host/IP>:<port> address).
--debug-collisions Show collisions shapes when running the scene.
--debug-navigation Show navigation polygons when running the scene.
--frame-delay <ms> Simulate high CPU load (delay each frame by <ms> milliseconds).
--time-scale <scale> Force time scale (higher values are faster, 1.0 is normal speed).
--disable-render-loop Disable render loop so rendering only occurs when called explicitly from script.
--disable-crash-handler Disable crash handler when supported by the platform code.
--fixed-fps <fps> Force a fixed number of frames per second. This setting disables real-time synchronization.
--print-fps Print the frames per second to the stdout.
Standalone tools: -s, --script <script> Run a script.
--check-only Only parse for errors and quit (use with --script).
--export <preset> <path> Export the project using the given preset and matching release template. The preset name should match one defined in export_presets.cfg. <path> should be absolute or relative to the project directory, and include the filename for the binary (e.g. 'builds/game.exe'). The target directory should exist.
--export-debug <preset> <path> Same as --export, but using the debug template.
--export-pack <preset> <path> Same as --export, but only export the game pack for the given preset. The <path> extension determines whether it will be in PCK or ZIP format.
--doctool <path> Dump the engine API reference to the given <path> in XML format, merging if existing files are found.
--no-docbase Disallow dumping the base types (used with --doctool).
--build-solutions Build the scripting solutions (e.g. for C# projects). Implies --editor and requires a valid project to edit.
--gdnative-generate-json-api Generate JSON dump of the Godot API for GDNative bindings.
--test <test> Run a unit test ('string', 'math', 'physics', 'physics_2d', 'render', 'oa_hash_map', 'gui', 'shaderlang', 'gd_tokenizer', 'gd_parser', 'gd_compiler', 'gd_bytecode', 'ordered_hash_map', 'astar').
XDG_DATA_CONFIG/godot/ or ~/.config/godot/ User-specific configuration folder, contains persistent editor settings, script and text editor templates and projects metadata. XDG_DATA_HOME/godot/ or ~/.local/share/godot/ Contains the default configuration and user data folders for Godot-made games (user:// path), as well as export templates. XDG_DATA_CACHE/godot/ or ~/.cache/godot/ Cache folder for generated thumbnails and scene previews, as well as temporary location for downloads. /usr/share/doc/godot/ Additional documentation files. /usr/share/licenses/godot/ Detailed licensing information.
See the project website at https://godotengine.org and the source code repository at https://github.com/godotengine/godot for more details.
Godot Engine is a free and open source project and welcomes any kind of contributions. In particular, you can report issues or make suggestions on Godot's issue tracker at https://github.com/godotengine/godot/issues.
Man page written by RÃ©mi Verschelde <remi@godotengine.org> on behalf of the Godot Engine development team.
HPING2(8)                    System Manager's Manual                   HPING2(8)
hping2 - send (almost) arbitrary TCP/IP packets to network hosts
hping2 [ -hvnqVDzZ012WrfxykQbFSRPAUXYjJBuTG ] [ -c count ] [ -i wait ] [ --fast ] [ -I interface ] [ -9 signature ] [ -a host ] [ -t ttl ] [ -N ip id ] [ -H ip protocol ] [ -g fragoff ] [ -m mtu ] [ -o tos ] [ -C icmp type ] [ -K icmp code ] [ -s source port ] [ -p[+][+] dest port ] [ -w tcp window ] [ -O tcp offset ] [ -M tcp sequence number ] [ -L tcp ack ] [ -d data size ] [ -E filename ] [ -e signature ] [ --icmp-ipver version ] [ --icmp-iphlen length ] [ --icmp-iplen length ] [ --icmp-ipid id ] [ --icmp-ipproto protocol ] [ --icmp-cksum checksum ] [ --icmp-ts ] [ --icmp-addr ] [ --tcpexitcode ] [ --tcp-timestamp ] [ --tr-stop ] [ --tr- keep-ttl ] [ --tr-no-rtt ] [ --rand-dest ] [ --rand-source ] hostname
hping2 is a network tool able to send custom TCP/IP packets and to display target replies like ping program does with ICMP replies. hping2 handle fragmentation, arbitrary packets body and size and can be used in order to transfer files encapsulated under supported protocols. Using hping2 you are able to perform at least the following stuff:
- Test firewall rules - Advanced port scanning - Test net performance using different protocols, packet size, TOS (type of service) and fragmentation. - Path MTU discovery - Transferring files between even really fascist firewall rules. - Traceroute-like under different protocols. - Firewalk-like usage. - Remote OS fingerprinting. - TCP/IP stack auditing. - A lot of others.
It's also a good didactic tool to learn TCP/IP.  hping2 is developed and maintained by antirez@invece.org and is licensed under GPL version 2. Development is open so you can send me patches, suggestion and affronts without inhibitions.
primary site at http://www.hping.org.  You can found both the stable release and the instruction to download the latest source code at http://www.hping.org/download.html
-h --help Show an help screen on standard output, so you can pipe to less.
-v --version Show version information and API used to access to data link layer, linux sock packet or libpcap.
-c --count count Stop after sending (and receiving) count response packets. After last packet was send hping2 wait COUNTREACHED_TIMEOUT seconds target host replies. You are able to tune COUNTREACHED_TIMEOUT editing hping2.h
-i --interval Wait the specified number of seconds or micro seconds between sending each packet.  --interval X set wait to X seconds, --interval uX set wait to X micro seconds.  The default is to wait one second between each packet. Using hping2 to transfer files tune this option is really important in order to increase transfer rate. Even using hping2 to perform idle/spoofing scanning you should tune this option, see HPING2-HOWTO for more information.
--fast Alias for -i u10000. Hping will send 10 packets for second.
--faster Alias for -i u1. Faster then --fast ;) (but not as fast as your computer can send packets due to the signal-driven design).
-n --numeric Numeric output only, No attempt will be made to lookup symbolic names for host addresses.
-q --quiet Quiet output. Nothing is displayed except the summary lines at startup time and when finished.
-I --interface interface name By default on linux and BSD systems hping2 uses default routing interface.  In other systems or when there is no default route hping2 uses the first non-loopback interface.  However you are able to force hping2 to use the interface you need using this option. Note: you don't need to specify the whole name, for example -I et will match eth0 ethernet0 myet1 et cetera. If no interfaces match hping2 will try to use lo.
-V --verbose Enable verbose output. TCP replies will be shown as follows:
len=46 ip=192.168.1.1 flags=RA DF seq=0 ttl=255 id=0 win=0 rtt=0.4 ms tos=0 iplen=40 seq=0 ack=1380893504 sum=2010 urp=0
-D --debug Enable debug mode, it's useful when you experience some problem with hping2. When debug mode is enabled you will get more information about interface detection, data link layer access, interface settings, options parsing, fragmentation, HCMP protocol and other stuff.
-z --bind Bind CTRL+Z to time to live (TTL) so you will able to increment/decrement ttl of outgoing packets pressing CTRL+Z once or twice.
-Z --unbind Unbind CTRL+Z so you will able to stop hping2.
Default protocol is TCP, by default hping2 will send tcp headers to target host's port 0 with a winsize of 64 without any tcp flag on. Often this is the best way to do an 'hide ping', useful when target is behind a firewall that drop ICMP. Moreover a tcp null-flag to port 0 has a good probability of not being logged.
-0 --rawip RAW IP mode, in this mode hping2 will send IP header with data appended with --signature and/or --file, see also --ipproto that allows you to set the ip protocol field.
-1 --icmp ICMP mode, by default hping2 will send ICMP echo-request, you can set other ICMP type/code using --icmptype --icmpcode options.
-2 --udp UDP mode, by default hping2 will send udp to target host's port 0. UDP header tunable options are the following: --baseport, --destport, --keep.
-8 --scan Scan mode, the option expects an argument that describes groups of ports to scan. port groups are comma separated: a number describes just a single port, so 1,2,3 means port 1, 2 and 3. ranges are specified using a start-end notation, like 1-1000, that tell hping to scan ports between 1 and 1000 (included). the special word all is an alias for 0-65535, while the special word known includes all the ports listed in /etc/services. Groups can be combined, so the following command line will scan ports between 1 and 1000 AND port 8888 AND ports listed in /etc/services: hping --scan 1-1000,8888,known -S target.host.com Groups can be negated (subtracted) using a ! character as prefix, so the following command line will scan all the ports NOT listed in /etc/services in the range 1-1024: hping --scan '1-1024,!known' -S target.host.com Keep in mind that while hping seems much more like a port scanner in this mode, most of the hping switches are still honored, so for example to perform a SYN scan you need to specify the -S option, you can change the TCP windows size, TTL, control the IP fragmentation as usually, and so on. The only real difference is that the standard hping behaviors are encapsulated into a scanning algorithm. Tech note: The scan mode uses a two-processes design, with shared memory for synchronization. The scanning algorithm is still not optimal, but already quite fast. Hint: unlike most scanners, hping shows some interesting info about received packets, the IP ID, TCP win, TTL, and so on, don't forget to look at this additional information when you perform a scan! Sometimes they shows interesting details.
-9 --listen signature HPING2 listen mode, using this option hping2 waits for packet that contain signature and dump from signature end to packet's end. For example if hping2 --listen TEST reads a packet that contain 234-09sdflkjs45-TESThello_world it will display hello_world.
-a --spoof hostname Use this option in order to set a fake IP source address, this option ensures that target will not gain your real address. However replies will be sent to spoofed address, so you will can't see them. In order to see how it's possible to perform spoofed/idle scanning see the HPING2-HOWTO.
--rand-source This option enables the random source mode.  hping will send packets with random source address. It is interesting to use this option to stress firewall state tables, and other per-ip basis dynamic tables inside the TCP/IP stacks and firewall software.
--rand-dest This option enables the random destination mode.  hping will send the packets to random addresses obtained following the rule you specify as the target host. You need to specify a numerical IP address as target host like 10.0.0.x.  All the occurrences of x will be replaced with a random number in the range 0-255. So to obtain Internet IP addresses in the whole IPv4 space use something like hping x.x.x.x --rand-dest.  If you are not sure about what kind of addresses your rule is generating try to use the --debug switch to display every new destination address generated.  When this option is turned on, matching packets will be accept from all the destinations. Warning: when this option is enabled hping can't detect the right outgoing interface for the packets, so you should use the --interface option to select the desired outgoing interface.
-t --ttl time to live Using this option you can set TTL (time to live) of outgoing packets, it's likely that you will use this with --traceroute or --bind options. If in doubt try `hping2 some.host.com -t 1 --traceroute'.
-N --id Set ip->id field. Default id is random but if fragmentation is turned on and id isn't specified it will be getpid() & 0xFF, to implement a better solution is in TODO list.
-H --ipproto Set the ip protocol in RAW IP mode.
-W --winid id from Windows* systems before Win2k has different byte ordering, if this option is enable hping2 will properly display id replies from those Windows.
-r --rel Display id increments instead of id. See the HPING2-HOWTO for more information. Increments aren't computed as id[N]-id[N-1] but using packet loss compensation. See relid.c for more information.
-f --frag Split packets in more fragments, this may be useful in order to test IP stacks fragmentation performance and to test if some packet filter is so weak that can be passed using tiny fragments (anachronistic). Default 'virtual mtu' is 16 bytes. see also --mtu option.
-x --morefrag Set more fragments IP flag, use this option if you want that target host send an ICMP time-exceeded during reassembly.
-y --dontfrag Set don't fragment IP flag, this can be used to perform MTU path discovery.
-g --fragoff fragment offset value Set the fragment offset.
-m --mtu mtu value Set different 'virtual mtu' than 16 when fragmentation is enabled. If packets size is greater that 'virtual mtu' fragmentation is automatically turned on.
-o --tos hex_tos Set Type Of Service (TOS), for more information try --tos help.
-G --rroute Record route. Includes the RECORD_ROUTE option in each packet sent and displays the route buffer of returned packets. Note that the IP header is only large enough for nine such routes. Many hosts ignore or discard this option. Also note that using hping you are able to use record route even if target host filter ICMP. Record route is an IP option, not an ICMP option, so you can use record route option even in TCP and UDP mode.
-C --icmptype type Set icmp type, default is ICMP echo request (implies --icmp).
-K --icmpcode code Set icmp code, default is 0 (implies --icmp).
--icmp-ipver Set IP version of IP header contained into ICMP data, default is 4.
--icmp-iphlen Set IP header length of IP header contained into ICMP data, default is 5 (5 words of 32 bits).
--icmp-iplen Set IP packet length of IP header contained into ICMP data, default is the real length.
--icmp-ipid Set IP id of IP header contained into ICMP data, default is random.
--icmp-ipproto Set IP protocol of IP header contained into ICMP data, default is TCP.
--icmp-cksum Set ICMP checksum, for default is the valid checksum.
--icmp-ts Alias for --icmptype 13 (to send ICMP timestamp requests).
--icmp-addr Alias for --icmptype 17 (to send ICMP address mask requests).
TCP/UDP RELATED OPTIONS -s --baseport source port hping2 uses source port in order to guess replies sequence number. It starts with a base source port number, and increase this number for each packet sent. When packet is received sequence number can be computed as replies.dest.port - base.source.port.  Default base source port is random, using this option you are able to set different number. If you need that source port not be increased for each sent packet use the -k --keep option.
-p --destport [+][+]dest port Set destination port, default is 0. If '+' character precedes dest port number (i.e. +1024) destination port will be increased for each reply received. If double '+' precedes dest port number (i.e. ++1024), destination port will be increased for each packet sent. By default destination port can be modified interactively using CTRL+z.
--keep keep still source port, see --baseport for more information.
-w --win Set TCP window size. Default is 64.
-O --tcpoff Set fake tcp data offset. Normal data offset is tcphdrlen / 4.
-M --setseq Set the TCP sequence number.
-L --setack Set the TCP ack.
-Q --seqnum This option can be used in order to collect sequence numbers generated by target host. This can be useful when you need to analyze whether TCP sequence number is predictable. Output example:
#hping2 win98 --seqnum -p 139 -S -i u1 -I eth0 HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes 2361294848 +2361294848 2411626496 +50331648 2545844224 +134217728 2713616384 +167772160 2881388544 +167772160 3049160704 +167772160 3216932864 +167772160 3384705024 +167772160 3552477184 +167772160 3720249344 +167772160 3888021504 +167772160 4055793664 +167772160 4223565824 +167772160
The first column reports the sequence number, the second difference between current and last sequence number. As you can see target host's sequence numbers are predictable.
-b --badcksum Send packets with a bad UDP/TCP checksum.
--tcp-timestamp Enable the TCP timestamp option, and try to guess the timestamp update frequency and the remote system uptime.
-F --fin Set FIN tcp flag.
-S --syn Set SYN tcp flag.
-R --rst Set RST tcp flag.
-P --push Set PUSH tcp flag.
-A --ack Set ACK tcp flag.
-U --urg Set URG tcp flag.
-X --xmas Set Xmas tcp flag.
-Y --ymas Set Ymas tcp flag.
-d --data data size Set packet body size. Warning, using --data 40 hping2 will not generate 0 byte packets but protocol_header+40 bytes. hping2 will display packet size information as first line output, like this: HPING www.yahoo.com (ppp0 204.71.200.67): NO FLAGS are set, 40 headers + 40 data bytes
-E --file filename Use filename contents to fill packet's data.
-e --sign signature Fill first signature length bytes of data with signature.  If the signature length is bigger than data size an error message will be displayed.  If you don't specify the data size hping will use the signature size as data size.  This option can be used safely with --file filename option, remainder data space will be filled using filename.
-j --dump Dump received packets in hex.
-J --print Dump received packets' printable characters.
-B --safe Enable safe protocol, using this option lost packets in file transfers will be resent. For example in order to send file /etc/passwd from host A to host B you may use the following: [host_a] # hping2 host_b --udp -p 53 -d 100 --sign signature --safe --file /etc/passwd [host_b] # hping2 host_a --listen signature --safe --icmp
-u --end If you are using --file filename option, tell you when EOF has been reached. Moreover prevent that other end accept more packets. Please, for more information see the HPING2-HOWTO.
-T --traceroute Traceroute mode. Using this option hping2 will increase ttl for each ICMP time to live 0 during transit received. Try hping2 host --traceroute.  This option implies --bind and --ttl 1. You can override the ttl of 1 using the --ttl option. Since 2.0.0 stable it prints RTT information.