neulab/tldr huggingface dataset:
The following environment variables shall affect the execution of expr:
LC_COLLATE Determine the locale for the behavior of ranges, equivalence classes, and multi-character collating elements within regular expressions and by the string comparison operators.
LC_CTYPE  Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments) and the behavior of character classes within regular expressions.
The expr utility shall evaluate the expression and write the result, followed by a <newline>, to standard output.
The formation of the expression to be evaluated is shown in the following table. The symbols expr, expr1, and expr2 represent expressions formed from integer and string symbols and the expression operator symbols (all separate arguments) by recursive application of the constructs described in the table. The expressions are listed in order of decreasing precedence, with equal-precedence operators grouped between horizontal lines. All of the operators shall be left-associative.
Identification as Integer or String An argument or the value of a subexpression that consists only of an optional unary minus followed by digits is a candidate for treatment as an integer if it is used as the left argument to the | operator or as either argument to any of the following operators: & = > >= < <= != + - * / %.  Otherwise, the argument or subexpression value shall be treated as a string.
The use of string arguments length, substr, index, or match produces unspecified results.
0    The expression evaluates to neither null nor zero.
1    The expression evaluates to null or zero.
2    Invalid expression.
>2    An error occurred.
The expr utility has a rather difficult syntax:
*  Many of the operators are also shell control operators or reserved words, so they have to be escaped on the command line.
*  Each part of the expression is composed of separate arguments, so liberal usage of <blank> characters is required. For example:
┌─────────────────┬───────────────────────┐ │    Invalid      │         Valid         │ ├─────────────────┼───────────────────────┤ │expr 1+2         │ expr 1 + 2            │ │expr "1 + 2"     │ expr 1 + 2            │ │expr 1 + (2 * 3) │ expr 1 + \( 2 \* 3 \) │ └─────────────────┴───────────────────────┘ In many cases, the arithmetic and string features provided as part of the shell command language are easier to use than their equivalents in expr. Newly written scripts should avoid expr in favor of the new features within the shell; see Section 2.5, Parameters and Variables and Section 2.6.4, Arithmetic Expansion.
After argument processing by the shell, expr is not required to be able to tell the difference between an operator and an operand except by the value. If "$a" is '=', the command:
expr "$a" = '='
looks like:
expr = = =
as the arguments are passed to expr (and they all may be taken as the '=' operator). The following works reliably:
expr "X$a" = X=
Also note that this volume of POSIX.1‐2017 permits implementations to extend utilities. The expr utility permits the integer arguments to be preceded with a unary minus. This means that an integer argument could look like an option.  Therefore, the conforming application must employ the "--" construct of Guideline 10 of the Base Definitions volume of POSIX.1‐2017, Section 12.2, Utility Syntax Guidelines to protect its operands if there is any chance the first operand might be a negative integer (or any string with a leading minus).
For testing string equality the test utility is preferred over expr, as it is usually implemented as a shell built-in. However, the functionality is not quite the same because the expr = and != operators check whether strings collate equally, whereas test checks whether they are identical. Therefore, they can produce different results in locales where the collation sequence does not have a total ordering of all characters (see the Base Definitions volume of POSIX.1‐2017, Section 7.3.2, LC_COLLATE).
a=$(expr "$a" + 1)
adds 1 to the variable a.
The following command, for "$a" equal to either /usr/abc/file or just file:
expr $a : '.*/\(.*\)' \| $a
returns the last segment of a pathname (that is, file).  Applications should avoid the character '/' used alone as an argument; expr may interpret it as the division operator.
expr "//$a" : '.*/\(.*\)'
is a better representation of the previous example. The addition of the "//" characters eliminates any ambiguity about the division operator and simplifies the whole expression. Also note that pathnames may contain characters contained in the IFS variable and should be quoted to avoid having "$a" expand into multiple arguments.
expr "X$VAR" : '.*' - 1
returns the number of characters in VAR.
In an early proposal, EREs were used in the matching expression syntax. This was changed to BREs to avoid breaking historical applications.
The use of a leading <circumflex> in the BRE is unspecified because many historical implementations have treated it as a special character, despite their system documentation. For example:
expr foo : ^foo     expr ^foo : ^foo
return 3 and 0, respectively, on those systems; their documentation would imply the reverse. Thus, the anchoring condition is left unspecified to avoid breaking historical scripts relying on this undocumented feature.
Section 2.5, Parameters and Variables, Section 2.6.4, Arithmetic Expansion
The Base Definitions volume of POSIX.1‐2017, Section 7.3.2, LC_COLLATE, Chapter 8, Environment Variables, Section 9.3, Basic Regular Expressions, Section 12.2, Utility Syntax Guidelines
RBENV(1)                                                                RBENV(1)
rbenv - Simple Ruby Version Management
Initialize rbenv for your acccount:
$ rbenv init $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc # restart your shell after this
Install different Ruby interpreters (requires the ruby-build package):
$ rbenv install 2.4.0
Switch between different Ruby interpreters:
$ rbenv global 2.4.0 $ ruby -v ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] $ rbenv global system $ ruby -v ruby [whatever version of Ruby Debian provides by default]
The original rbenv README with a more comprehensive documentation, including all of the available commands, is available at /usr/share/doc/rbenv/README.md.gz
This manual page was written for the Debian system by Antonio Terceiro <terceiro@debian.org> and may be used by others.
GIT-WORKTREE(1)                    Git Manual                    GIT-WORKTREE(1)
git-worktree - Manage multiple working trees
git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]] [-b <new-branch>] <path> [<commit-ish>] git worktree list [--porcelain] git worktree lock [--reason <string>] <worktree> git worktree move <worktree> <new-path> git worktree prune [-n] [-v] [--expire <expire>] git worktree remove [-f] <worktree> git worktree repair [<path>...] git worktree unlock <worktree>
Manage multiple working trees attached to the same repository.
A git repository can support multiple working trees, allowing you to check out more than one branch at a time. With git worktree add a new working tree is associated with the repository. This new working tree is called a "linked working tree" as opposed to the "main working tree" prepared by git-init(1) or git-clone(1). A repository has one main working tree (if it’s not a bare repository) and zero or more linked working trees. When you are done with a linked working tree, remove it with git worktree remove.
In its simplest form, git worktree add <path> automatically creates a new branch whose name is the final component of <path>, which is convenient if you plan to work on a new topic. For instance, git worktree add ../hotfix creates new branch hotfix and checks it out at path ../hotfix. To instead work on an existing branch in a new working tree, use git worktree add <path> <branch>. On the other hand, if you just plan to make some experimental changes or do testing without disturbing existing development, it is often convenient to create a throwaway working tree not associated with any branch. For instance, git worktree add -d <path> creates a new working tree with a detached HEAD at the same commit as the current branch.
If a working tree is deleted without using git worktree remove, then its associated administrative files, which reside in the repository (see "DETAILS" below), will eventually be removed automatically (see gc.worktreePruneExpire in git-config(1)), or you can run git worktree prune in the main or any linked working tree to clean up any stale administrative files.
If a linked working tree is stored on a portable device or network share which is not always mounted, you can prevent its administrative files from being pruned by issuing the git worktree lock command, optionally specifying --reason to explain why the working tree is locked.
add <path> [<commit-ish>] Create <path> and checkout <commit-ish> into it. The new working directory is linked to the current repository, sharing everything except working directory specific files such as HEAD, index, etc. As a convenience, <commit-ish> may be a bare "-", which is synonymous with @{-1}.
If <commit-ish> is a branch name (call it <branch>) and is not found, and neither -b nor -B nor --detach are used, but there does exist a tracking branch in exactly one remote (call it <remote>) with a matching name, treat as equivalent to:
$ git worktree add --track -b <branch> <path> <remote>/<branch>
If <commit-ish> is omitted and neither -b nor -B nor --detach used, then, as a convenience, the new working tree is associated with a branch (call it <branch>) named after $(basename <path>). If <branch> doesn’t exist, a new branch based on HEAD is automatically created as if -b <branch> was given. If <branch> does exist, it will be checked out in the new working tree, if it’s not checked out anywhere else, otherwise the command will refuse to create the working tree (unless --force is used).
list List details of each working tree. The main working tree is listed first, followed by each of the linked working trees. The output details include whether the working tree is bare, the revision currently checked out, the branch currently checked out (or "detached HEAD" if none), "locked" if the worktree is locked, "prunable" if the worktree can be pruned by prune command.
lock If a working tree is on a portable device or network share which is not always mounted, lock it to prevent its administrative files from being pruned automatically. This also prevents it from being moved or deleted. Optionally, specify a reason for the lock with --reason.
move Move a working tree to a new location. Note that the main working tree or linked working trees containing submodules cannot be moved with this command. (The git worktree repair command, however, can reestablish the connection with linked working trees if you move the main working tree manually.)
prune Prune working tree information in $GIT_DIR/worktrees.
remove Remove a working tree. Only clean working trees (no untracked files and no modification in tracked files) can be removed. Unclean working trees or ones with submodules can be removed with --force. The main working tree cannot be removed.
repair [<path>...] Repair working tree administrative files, if possible, if they have become corrupted or outdated due to external factors.
For instance, if the main working tree (or bare repository) is moved, linked working trees will be unable to locate it. Running repair in the main working tree will reestablish the connection from linked working trees back to the main working tree.
Similarly, if a linked working tree is moved without using git worktree move, the main working tree (or bare repository) will be unable to locate it. Running repair within the recently-moved working tree will reestablish the connection. If multiple linked working trees are moved, running repair from any working tree with each tree’s new <path> as an argument, will reestablish the connection to all the specified paths.
If both the main working tree and linked working trees have been moved manually, then running repair in the main working tree and specifying the new <path> of each linked working tree will reestablish all connections in both directions.
unlock Unlock a working tree, allowing it to be pruned, moved or deleted.
-f, --force By default, add refuses to create a new working tree when <commit-ish> is a branch name and is already checked out by another working tree, or if <path> is already assigned to some working tree but is missing (for instance, if <path> was deleted manually). This option overrides these safeguards. To add a missing but locked working tree path, specify --force twice.
move refuses to move a locked working tree unless --force is specified twice. If the destination is already assigned to some other working tree but is missing (for instance, if <new-path> was deleted manually), then --force allows the move to proceed; use --force twice if the destination is locked.
remove refuses to remove an unclean working tree unless --force is used. To remove a locked working tree, specify --force twice.
-b <new-branch>, -B <new-branch> With add, create a new branch named <new-branch> starting at <commit-ish>, and check out <new-branch> into the new working tree. If <commit-ish> is omitted, it defaults to HEAD. By default, -b refuses to create a new branch if it already exists.  -B overrides this safeguard, resetting <new-branch> to <commit-ish>.
-d, --detach With add, detach HEAD in the new working tree. See "DETACHED HEAD" in git-checkout(1).
--[no-]checkout By default, add checks out <commit-ish>, however, --no-checkout can be used to suppress checkout in order to make customizations, such as configuring sparse-checkout. See "Sparse checkout" in git-read- tree(1).
--[no-]guess-remote With worktree add <path>, without <commit-ish>, instead of creating a new branch from HEAD, if there exists a tracking branch in exactly one remote matching the basename of <path>, base the new branch on the remote-tracking branch, and mark the remote-tracking branch as "upstream" from the new branch.
This can also be set up as the default behaviour by using the worktree.guessRemote config option.
--[no-]track When creating a new branch, if <commit-ish> is a branch, mark it as "upstream" from the new branch. This is the default if <commit-ish> is a remote-tracking branch. See --track in git-branch(1) for details.
--lock Keep the working tree locked after creation. This is the equivalent of git worktree lock after git worktree add, but without a race condition.
-n, --dry-run With prune, do not remove anything; just report what it would remove.
--porcelain With list, output in an easy-to-parse format for scripts. This format will remain stable across Git versions and regardless of user configuration. See below for details.
-q, --quiet With add, suppress feedback messages.
-v, --verbose With prune, report all removals.
With list, output additional information about worktrees (see below).
--expire <time> With prune, only expire unused working trees older than <time>.
With list, annotate missing working trees as prunable if they are older than <time>.
--reason <string> With lock or with add --lock, an explanation why the working tree is locked.
<worktree> Working trees can be identified by path, either relative or absolute.
If the last path components in the working tree’s path is unique among working trees, it can be used to identify a working tree. For example if you only have two working trees, at /abc/def/ghi and /abc/def/ggg, then ghi or def/ghi is enough to point to the former working tree.
In multiple working trees, some refs may be shared between all working trees and some refs are local. One example is HEAD which is different for each working tree. This section is about the sharing rules and how to access refs of one working tree from another.
In general, all pseudo refs are per working tree and all refs starting with refs/ are shared. Pseudo refs are ones like HEAD which are directly under $GIT_DIR instead of inside $GIT_DIR/refs. There are exceptions, however: refs inside refs/bisect and refs/worktree are not shared.
Refs that are per working tree can still be accessed from another working tree via two special paths, main-worktree and worktrees. The former gives access to per-working tree refs of the main working tree, while the latter to all linked working trees.
For example, main-worktree/HEAD or main-worktree/refs/bisect/good resolve to the same value as the main working tree’s HEAD and refs/bisect/good respectively. Similarly, worktrees/foo/HEAD or worktrees/bar/refs/bisect/bad are the same as $GIT_COMMON_DIR/worktrees/foo/HEAD and $GIT_COMMON_DIR/worktrees/bar/refs/bisect/bad.
To access refs, it’s best not to look inside $GIT_DIR directly. Instead use commands such as git-rev-parse(1) or git-update-ref(1) which will handle refs correctly.
By default, the repository config file is shared across all working trees. If the config variables core.bare or core.worktree are already present in the config file, they will be applied to the main working trees only.
In order to have configuration specific to working trees, you can turn on the worktreeConfig extension, e.g.:
$ git config extensions.worktreeConfig true
In this mode, specific configuration stays in the path pointed by git rev-parse --git-path config.worktree. You can add or update configuration in this file with git config --worktree. Older Git versions will refuse to access repositories with this extension.
Note that in this file, the exception for core.bare and core.worktree is gone. If they exist in $GIT_DIR/config, you must move them to the config.worktree of the main working tree. You may also take this opportunity to review and move other configuration that you do not want to share to all working trees:
•   core.worktree and core.bare should never be shared
•   core.sparseCheckout is recommended per working tree, unless you are sure you always use sparse checkout for all working trees.
Each linked working tree has a private sub-directory in the repository’s $GIT_DIR/worktrees directory. The private sub-directory’s name is usually the base name of the linked working tree’s path, possibly appended with a number to make it unique. For example, when $GIT_DIR=/path/main/.git the command git worktree add /path/other/test-next next creates the linked working tree in /path/other/test-next and also creates a $GIT_DIR/worktrees/test-next directory (or $GIT_DIR/worktrees/test-next1 if test-next is already taken).
Within a linked working tree, $GIT_DIR is set to point to this private directory (e.g. /path/main/.git/worktrees/test-next in the example) and $GIT_COMMON_DIR is set to point back to the main working tree’s $GIT_DIR (e.g. /path/main/.git). These settings are made in a .git file located at the top directory of the linked working tree.
Path resolution via git rev-parse --git-path uses either $GIT_DIR or $GIT_COMMON_DIR depending on the path. For example, in the linked working tree git rev-parse --git-path HEAD returns /path/main/.git/worktrees/test-next/HEAD (not /path/other/test-next/.git/HEAD or /path/main/.git/HEAD) while git rev-parse --git-path refs/heads/master uses $GIT_COMMON_DIR and returns /path/main/.git/refs/heads/master, since refs are shared across all working trees, except refs/bisect and refs/worktree.
See gitrepository-layout(5) for more information. The rule of thumb is do not make any assumption about whether a path belongs to $GIT_DIR or $GIT_COMMON_DIR when you need to directly access something inside $GIT_DIR. Use git rev-parse --git-path to get the final path.
If you manually move a linked working tree, you need to update the gitdir file in the entry’s directory. For example, if a linked working tree is moved to /newpath/test-next and its .git file points to /path/main/.git/worktrees/test-next, then update /path/main/.git/worktrees/test-next/gitdir to reference /newpath/test-next instead. Better yet, run git worktree repair to reestablish the connection automatically.
To prevent a $GIT_DIR/worktrees entry from being pruned (which can be useful in some situations, such as when the entry’s working tree is stored on a portable device), use the git worktree lock command, which adds a file named locked to the entry’s directory. The file contains the reason in plain text. For example, if a linked working tree’s .git file points to /path/main/.git/worktrees/test-next then a file named /path/main/.git/worktrees/test-next/locked will prevent the test-next entry from being pruned. See gitrepository-layout(5) for details.
When extensions.worktreeConfig is enabled, the config file .git/worktrees/<id>/config.worktree is read after .git/config is.
The worktree list command has two output formats. The default format shows the details on a single line with columns. For example:
$ git worktree list /path/to/bare-source            (bare) /path/to/linked-worktree        abcd1234 [master] /path/to/other-linked-worktree  1234abc  (detached HEAD)
The command also shows annotations for each working tree, according to its state. These annotations are:
•   locked, if the working tree is locked.
•   prunable, if the working tree can be pruned via git worktree prune.
$ git worktree list /path/to/linked-worktree    abcd1234 [master] /path/to/locked-worktree    acbd5678 (brancha) locked /path/to/prunable-worktree  5678abc  (detached HEAD) prunable
For these annotations, a reason might also be available and this can be seen using the verbose mode. The annotation is then moved to the next line indented followed by the additional information.
$ git worktree list --verbose /path/to/linked-worktree              abcd1234 [master] /path/to/locked-worktree-no-reason    abcd5678 (detached HEAD) locked /path/to/locked-worktree-with-reason  1234abcd (brancha) locked: working tree path is mounted on a portable device /path/to/prunable-worktree            5678abc1 (detached HEAD) prunable: gitdir file points to non-existent location
Note that the annotation is moved to the next line if the additional information is available, otherwise it stays on the same line as the working tree itself.
Porcelain Format The porcelain format has a line per attribute. Attributes are listed with a label and value separated by a single space. Boolean attributes (like bare and detached) are listed as a label only, and are present only if the value is true. Some attributes (like locked) can be listed as a label only or with a value depending upon whether a reason is available. The first attribute of a working tree is always worktree, an empty line indicates the end of the record. For example:
$ git worktree list --porcelain worktree /path/to/bare-source bare
worktree /path/to/linked-worktree HEAD abcd1234abcd1234abcd1234abcd1234abcd1234 branch refs/heads/master
worktree /path/to/other-linked-worktree HEAD 1234abc1234abc1234abc1234abc1234abc1234a detached
worktree /path/to/linked-worktree-locked-no-reason HEAD 5678abc5678abc5678abc5678abc5678abc5678c branch refs/heads/locked-no-reason locked
worktree /path/to/linked-worktree-locked-with-reason HEAD 3456def3456def3456def3456def3456def3456b branch refs/heads/locked-with-reason locked reason why is locked
worktree /path/to/linked-worktree-prunable HEAD 1233def1234def1234def1234def1234def1234b detached prunable gitdir file points to non-existent location
If the lock reason contains "unusual" characters such as newline, they are escaped and the entire reason is quoted as explained for the configuration variable core.quotePath (see git-config(1)). For Example:
$ git worktree list --porcelain ... locked "reason\nwhy is locked" ...
You are in the middle of a refactoring session and your boss comes in and demands that you fix something immediately. You might typically use git- stash(1) to store your changes away temporarily, however, your working tree is in such a state of disarray (with new, moved, and removed files, and other bits and pieces strewn around) that you don’t want to risk disturbing any of it. Instead, you create a temporary linked working tree to make the emergency fix, remove it when done, and then resume your earlier refactoring session.
$ git worktree add -b emergency-fix ../temp master $ pushd ../temp # ... hack hack hack ... $ git commit -a -m 'emergency fix for boss' $ popd $ git worktree remove ../temp
Multiple checkout in general is still experimental, and the support for submodules is incomplete. It is NOT recommended to make multiple checkouts of a superproject.
XRANDR(1)                    General Commands Manual                   XRANDR(1)
xrandr - primitive command line interface to RandR extension
xrandr [--help]  [--display display] [-q] [-v] [--verbose] [--dryrun] [--screen snum] [--q1] [--q12] [--current] [--noprimary] [--panning widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/border_left/border_top/border_right/border_bottom]]]] [--scale x[xy]] [--scale-from wxh] [--transform a,b,c,d,e,f,g,h,i] [--primary] [--prop] [--fb widthxheight] [--fbmm widthxheight] [--dpi dpi] [--dpi from-output] [--newmode name mode] [--rmmode name] [--addmode output name] [--delmode output name] [--output output] [--auto] [--mode mode] [--preferred] [--pos xxy] [--rate rate] [--reflect reflection] [--rotate orientation] [--left-of output] [--right-of output] [--above output] [--below output] [--same-as output] [--set property value] [--off] [--crtc crtc] [--gamma red[:green:blue]] [--brightness brightness] [-o orientation] [-s size] [-r rate] [-x] [-y] [--listproviders] [--setprovideroutputsource provider source] [--setprovideroffloadsink provider sink] [--listmonitors] [--listactivemonitors] [--setmonitor name geometry outputs] [--delmonitor name]
Xrandr is used to set the size, orientation and/or reflection of the outputs for a screen. It can also set the screen size.
If invoked without any option, it will dump the state of the outputs, showing the existing modes for each of them, with a '+' after the preferred modes and a '*' after the current mode.
There are a few global options. Other options modify the last output that is specified in earlier parameters in the command line. Multiple outputs may be modified at the same time by passing multiple --output options followed immediately by their corresponding modifying options.
--help Print out a summary of the usage and exit.
-v, --version Print out the RandR version reported by the X server and exit.
--verbose Causes xrandr to be more verbose. When used with -q (or without other options), xrandr will display more information about the server state. Please note that the gamma and brightness informations are only approximations of the complete color profile stored in the server. When used along with options that reconfigure the system, progress will be reported while executing the configuration changes.
-q, --query When this option is present, or when no configuration changes are requested, xrandr will display the current state of the system.
--dryrun Performs all the actions specified except that no changes are made.
--nograb Apply the modifications without grabbing the screen. It avoids to block other applications during the update but it might also cause some applications that detect screen resize to receive old values.
-d, --display name This option selects the X display to use. Note this refers to the X screen abstraction, not the monitor (or output).
--screen snum This option selects which screen to manipulate. Note this refers to the X screen abstraction, not the monitor (or output).
--q1   Forces the usage of the RandR version 1.1 protocol, even if a higher version is available.
--q12  Forces the usage of the RandR version 1.2 protocol, even if the display does not report it as supported or a higher version is available.
RandR version 1.5 options Options for RandR 1.5 are used as a superset of the options for RandR 1.4.
--listmonitors Report information about all defined monitors.
--listactivemonitors Report information about currently active monitors.
--setmonitor name geometry outputs Define a new monitor with the given geometry and associated to the given outputs.  The output list is either the keyword none or a comma-separated list of outputs.  The geometry is either the keyword auto, in which case the monitor will automatically track the geometry of the associated outputs, or a manual specification in the form w/mmwxh/mmh+x+y where w, h, x, y are in pixels and mmw, mmh are the physical dimensions of the monitor.
--delmonitor name Delete the given user-defined monitor.
RandR version 1.4 options Options for RandR 1.4 are used as a superset of the options for RandR 1.3.
--listproviders Report information about the providers available.
--setprovideroutputsource provider source Set source as the source of display output images for provider. This is only possible if source and provider have the Source Output and Sink Output capabilities, respectively.  If source is 0x0, then provider is disconnected from its current output source.
--setprovideroffloadsink provider sink Set provider as a render offload device for sink.  This is only possible if provider and sink have the Source Offload and Sink Offload capabilities, respectively.  If sink is 0x0, then provider is disconnected from its current render offload sink.
RandR version 1.3 options Options for RandR 1.3 are used as a superset of the options for RandR 1.2.
--current Return the current screen configuration, without polling for hardware changes.
--noprimary Don't define a primary output.
Per-output options
--panning widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/border_left/border_top/border_right/border_bottom]]] This option sets the panning parameters.  As soon as panning is enabled, the CRTC position can change with every pointer move. The first four parameters specify the total panning area, the next four the pointer tracking area (which defaults to the same area). The last four parameters specify the border and default to 0. A width or height set to zero disables panning on the according axis. You typically have to set the screen size with --fb simultaneously.
--transform a,b,c,d,e,f,g,h,i Specifies a transformation matrix to apply on the output.  A bilinear filter is selected automatically unless the --filter parameter is also specified.  The mathematical form corresponds to: a b c d e f g h i The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate vector of a pixel of the output gives the transformed coordinate vector of a pixel in the graphic buffer.  More precisely, the vector (x y) of the output pixel is extended to 3 values (x y w), with 1 as the w coordinate and multiplied against the matrix. The final device coordinates of the pixel are then calculated with the so-called homogenic division by the transformed w coordinate.  In other words, the device coordinates (x' y') of the transformed pixel are: x' = (ax + by + c) / w'   and y' = (dx + ey + f) / w'   , with  w' = (gx + hy + i)  . Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the translation on those axes, and g, h, and i are respectively 0, 0 and 1. The matrix can also be used to express more complex transformations such as keystone correction, or rotation.  For a rotation of an angle T, this formula can be used: cos T  -sin T   0 sin T   cos T   0 0       0      1 As a special argument, instead of passing a matrix, one can pass the string none, in which case the default values are used (a unit matrix without filter).
--filter filtermode Chooses the scaling filter method to be applied when the screen is scaled or transformed.  Can be either 'bilinear' or 'nearest'.
--scale x[xy] Changes the dimensions of the output picture.  If the y value is omitted, the x value will be used for both dimensions.  Values larger than 1 lead to a compressed screen (screen dimension bigger than the dimension of the output mode), and values less than 1 lead to a zoom in on the output.  This option is actually a shortcut version of the --transform option.
--scale-from wxh Specifies the size in pixels of the area of the framebuffer to be displayed on this output.  This option is actually a shortcut version of the --transform option.
--primary Set the output as primary.  It will be sorted first in Xinerama and RANDR geometry requests.
RandR version 1.2 options These options are only available for X server supporting RandR version 1.2 or newer.
--prop, --properties This option causes xrandr to display the contents of properties for each output. --verbose also enables --prop.
--fb widthxheight Reconfigures the screen to the specified size. All configured monitors must fit within this size. When this option is not provided, xrandr computes the smallest screen size that will hold the set of configured outputs; this option provides a way to override that behaviour.
--fbmm widthxheight Sets the value reported as physical size of the X screen as a whole (union of all configured monitors). In configurations with multiple monitors with different DPIs, the value has no physical meaning, but it may be used by some legacy clients which do not support RandR version 1.2 to compute a reference font scaling. Normally, xrandr resets the reported physical size values to keep the DPI constant.  This overrides that computation. Default DPI value is 96.
--dpi dpi
--dpi from-output This also sets the value reported as physical size of the X screen as a whole (union of all configured monitors). In configurations with multiple monitors with different DPIs, the value has no physical meaning, but it may be used by some legacy clients which do not support RandR version 1.2 to compute a reference font scaling. This option uses either the specified DPI value, or the DPI of the given output, to compute an appropriate physical size using whatever pixel size will be set. Typical values are the default (96 DPI), the DPI of the only monitor in single-monitor configurations, or the DPI of the primary monitor in multi-monitor configurations.
--newmode name mode New modelines can be added to the server and then associated with outputs.  This option does the former. The mode is specified using the ModeLine syntax for xorg.conf: clock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal flags. flags can be zero or more of +HSync, -HSync, +VSync, -VSync, Interlace, DoubleScan, CSync, +CSync, -CSync. Several tools permit to compute the usual modeline from a height, width, and refresh rate, for instance you can use cvt.
--rmmode name This removes a mode from the server if it is otherwise unused.
--addmode output name Add a mode to the set of valid modes for an output.
--delmode output name Remove a mode from the set of valid modes for an output.
--output output Selects an output to reconfigure. Use either the name of the output or the XID.
--auto For connected but disabled outputs, this will enable them using their first preferred mode (or, something close to 96dpi if they have no preferred mode). For disconnected but enabled outputs, this will disable them.
--mode mode This selects a mode. Use either the name or the XID for mode
--preferred This selects the same mode as --auto, but it doesn't automatically enable or disable the output.
--pos xxy Position the output within the screen using pixel coordinates. In case reflection or rotation is applied, the translation is applied after the effects.
--rate rate This marks a preference for refresh rates close to the specified value, when multiple modes have the same name, this will select the one with the nearest refresh rate.
--reflect reflection Reflection can be one of 'normal' 'x', 'y' or 'xy'. This causes the output contents to be reflected across the specified axes.
--rotate rotation Rotation can be one of 'normal', 'left', 'right' or 'inverted'. This causes the output contents to be rotated in the specified direction. 'right' specifies a clockwise rotation of the picture and 'left' specifies a counter-clockwise rotation.
--left-of, --right-of, --above, --below, --same-as another-output Use one of these options to position the output relative to the position of another output. This allows convenient tiling of outputs within the screen.  The position is always computed relative to the new position of the other output, so it is not valid to say --output a --left-of b --output b --left-of a.
--set property value Sets an output property. Integer properties may be specified as a valid (see --prop) comma-separated list of decimal or hexadecimal (with a leading 0x) values.  Atom properties may be set to any of the valid atoms (see --prop).  String properties may be set to any value.
--off  Disables the output.
--crtc crtc Uses the specified crtc (either as an index in the list of CRTCs or XID).  In normal usage, this option is not required as xrandr tries to make sensible choices about which crtc to use with each output. When that fails for some reason, this option can override the normal selection.
--gamma red[:green:blue] Set the specified floating point values as gamma correction on the crtc currently attached to this output.  If green and blue are not specified, the red value will be used for all three components. Note that you cannot get two different values for cloned outputs (i.e.: which share the same crtc) and that switching an output to another crtc doesn't change the crtc gamma corrections at all.
--brightness brightness Multiply the gamma values on the crtc currently attached to the output to specified floating value. Useful for overly bright or overly dim outputs.  However, this is a software only modification, if your hardware has support to actually change the brightness, you will probably prefer to use xbacklight.
RandR version 1.1 options These options are available for X servers supporting RandR version 1.1 or older. They are still valid for newer X servers, but they don't interact sensibly with version 1.2 options on the same command line.
-s, --size size-index or --size widthxheight This sets the screen size, either matching by size or using the index into the list of available sizes.
-r, --rate, --refresh rate This sets the refresh rate closest to the specified value.
-o, --orientation rotation This specifies the orientation of the screen, and can be one of normal, inverted, left or right.
-x     Reflect across the X axis.
-y     Reflect across the Y axis.
Sets an output called LVDS to its preferred mode, and on its right put an output called VGA to preferred mode of a screen which has been physically rotated clockwise: xrandr --output LVDS --auto --rotate normal --pos 0x0 --output VGA --auto --rotate left --right-of LVDS
Forces to use a 1024x768 mode on an output called VGA: xrandr --newmode "1024x768" 63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync xrandr --addmode VGA 1024x768 xrandr --output VGA --mode 1024x768
Enables panning on a 1600x768 desktop while displaying 1024x768 mode on an output called VGA: xrandr --fb 1600x768 --output VGA --mode 1024x768 --panning 1600x0
Have one small 1280x800 LVDS screen showing a small version of a huge 3200x2000 desktop, and have a big VGA screen display the surrounding of the mouse at normal size. xrandr --fb 3200x2000 --output LVDS --scale 2.5x2.5 --output VGA --pos 0x0 --panning 3200x2000+0+0/3200x2000+0+0/64/64/64/64
Displays the VGA output in trapezoid shape so that it is keystone corrected when the projector is slightly above the screen: xrandr --fb 1024x768 --output VGA --transform 1.24,0.16,-124,0,1.24,0,0,0.000316,1
Xrandr(3), cvt(1), xkeystone(1), xbacklight(1)
Keith Packard, Open Source Technology Center, Intel Corporation.  and Jim Gettys, Cambridge Research Laboratory, HP Labs, HP.
php(1)                         Scripting Language                         php(1)
php - PHP Command Line Interface 'CLI'
php-cgi - PHP Common Gateway Interface 'CGI' command
php [options] [ -f ] file [[--] args...]
php [options] -r code [[--] args...]
php [options] [-B begin_code] -R code [-E end_code] [[--] args...]
php [options] [-B begin_code] -F file [-E end_code] [[--] args...]
php [options] -- [ args...]
php [options] -a
php [options] -S addr:port [-t docroot]
PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. This is the command line interface that enables you to do the following:
You can parse and execute files by using parameter -f followed by the name of the file to be executed.
Using parameter -r you can directly execute PHP code simply as you would do inside a .php file when using the eval() function.
It is also possible to process the standard input line by line using either the parameter -R or -F. In this mode each separate input line causes the code specified by -R or the file specified by -F to be executed.  You can access the input line by $argn. While processing the input lines $argi contains the number of the actual line being processed. Further more the parameters -B and -E can be used to execute code (see -r) before and after all input lines have been processed respectively. Notice that the input is read from STDIN and therefore reading from STDIN explicitly changes the next input line or skips input lines.
PHP also contains an built-in web server for application development purpose. By using the -S option where addr:port point to a local address and port PHP will listen to HTTP requests on that address and port and serve files from the current working directory or the docroot passed by the -t option.
If none of -r -f -B -R -F -E or -S is present but a single parameter is given then this parameter is taken as the filename to parse and execute (same as with -f). If no parameter is present then the standard input is read and executed.
--interactive -a             Run PHP interactively. This lets you enter snippets of PHP code that directly get executed. When readline support is enabled you can edit the lines and also have history support.
--bindpath address:port|port -b address:port|port Bind Path for external FASTCGI Server mode (CGI only).
--no-chdir -C             Do not chdir to the script's directory (CGI only).
--no-header -q             Quiet-mode. Suppress HTTP header output (CGI only).
--timing count -T count       Measure execution time of script repeated count times (CGI only).
--php-ini path|file -c path|file   Look for php.ini file in the directory path or use the specified file
--no-php-ini -n             No php.ini file will be used
--define foo[=bar] -d foo[=bar]   Define INI entry foo with value bar
-e             Generate extended information for debugger/profiler
--file file -f file        Parse and execute file
--help -h             This help
--hide-args -H             Hide script name (file) and parameters (args...) from external tools. For example you may want to use this when a php script is started as a daemon and the command line contains sensitive data such as passwords.
--info -i             PHP information and configuration
--syntax-check -l             Syntax check only (lint)
--modules -m             Show compiled in modules
--run code -r code        Run PHP code without using script tags '<?..?>'
--process-begin code -B begin_code  Run PHP begin_code before processing input lines
--process-code code -R code        Run PHP code for every input line
--process-file file -F file        Parse and execute file for every input line
--process-end code -E end_code    Run PHP end_code after processing all input lines
--syntax-highlight -s             Output HTML syntax highlighted source
--server addr:port -S addr:port   Start built-in web server on the given local address and port
--docroot docroot -t docroot     Specify the document root to be used by the built-in web server
--version -v             Version number
--strip -w             Output source with stripped comments and whitespace
--zend-extension file -z file        Load Zend extension file
args...        Arguments passed to script. Use '--' args when first argument starts with '-' or script is read from stdin
--rfunction    name --rf           name Shows information about function name
--rclass       name --rc           name Shows information about class name
--rextension   name --re           name Shows information about extension name
--rzendextension name --rz           name Shows information about Zend extension name
--rextinfo     name --ri           name Shows configuration for extension name
--ini          Show configuration file names
php-cli.ini    The configuration file for the CLI version of PHP.
php.ini        The standard configuration file will only be used when php-cli.ini cannot be found.
php -r 'echo "Hello World\n";' This command simply writes the text "Hello World" to standard out.
php -r 'print_r(gd_info());' This shows the configuration of your gd extension. You can use this to easily check which image formats you can use. If you have any dynamic modules you may want to use the same ini file that php uses when executed from your webserver. There are more extensions which have such a function. For dba use: php -r 'print_r(dba_handlers(1));'
php -R 'echo strip_tags($argn)."\n";' This PHP command strips off the HTML tags line by line and outputs the result. To see how it works you can first look at the following PHP command ´php -d html_errors=1 -i´ which uses PHP to output HTML formatted configuration information. If you then combine those two ´php ...|php ...´ you'll see what happens.
php -E 'echo "Lines: $argi\n";' Using this PHP command you can count the lines being input.
php -R '@$l+=count(file($argn));' -E 'echo "Lines:$l\n";' In this example PHP expects each input line being a file. It counts all lines of the files specified by each input line and shows the summarized result.  You may combine this with tools like find and change the php scriptlet.
php -R 'echo "$argn\n"; fgets(STDIN);' Since you have access to STDIN from within -B -R -F and -E you can skip certain input lines with your code. But note that in such cases $argi only counts the lines being processed by php itself. Having read this you will guess what the above program does: skipping every second input line.
You can use a shebang line to automatically invoke php from scripts. Only the CLI version of PHP will ignore such a first line as shown below:
#!/bin/php <?php // your script ?>
For a more or less complete description of PHP look here: http://www.php.net/manual/
Additional work for the CLI sapi was done by Edin Kadribasic, Marcus Boerger and Johannes Schlueter.
This manpage describes php, version 8.0.13.
Copyright © The PHP Group
st-info - Provides information about connected STLink and STM32 devices
st-info [OPTIONS]
Provides information about connected STLink programmers and STM32 devices: Serial code, openocd, flash, sram, page size, chipid, description.
â€“version Print version information
--flash Display amount of flash memory available in the device
--sram Display amount of sram memory available in device
--descr Display textual description of the device
--pagesize Display the page size of the device
--chipid Display the chip ID of the device
--serial Display the serial code of the device
--probe Display the summarized information of the connected programmers and devices
Display information about connected programmers and devices
$ st-info --probe
st-util(1), st-flash(1)
singularity(1)                                                    singularity(1)
singularity - Linux container platform optimized for High Performance Computing (HPC) and Enterprise Performance Computing (EPC)
singularity [global options...]
Singularity containers provide an application virtualization layer enabling mobility of compute via both application and environment portability. With Singularity one is capable of building a root file system that runs on any other Linux system where Singularity is installed.
-c, --config="/etc/singularity/singularity.conf"      specify a configuration file (for root or unprivileged installation only)
-d, --debug[=false]      print debugging information (highest verbosity)
-h, --help[=false]      help for singularity
--nocolor[=false]      print without color output (default False)
-q, --quiet[=false]      suppress normal output
-s, --silent[=false]      only print errors
-v, --verbose[=false]      print additional information
$ singularity help <command> [<subcommand>] $ singularity help build $ singularity help instance start